2011年7月25日

[Namazu-devel-ja 1863] Re:stable-2-0 に 2.0.21 を反映

臼田です

On 2011/07/25, at 3:53, Tasamasa Teranishi wrote:
> (2011/07/22 22:32), Yukio USUDA wrote:
>>> 2.0.21 で修正を行った内容を stable-2-0 に反映しました。
>>> development-2-1 はまだです。
>>
>> 2.0.21 の追加テスト tests/ja-namazu-cgi-3 を

>> HEAD と development-2-1 にいれておきました。
>
> development-2-1 に tests/ja-namazu-cgi-3 を追加するのは問題ないと
> 思いますが、HEAD はまずいですよ。
>
> HEAD はもちろん EUC-JP 出力も可能なので、何らかの対策は必要か
> と思いますが、make check を実行する環境が EUC-JP とは限らない
> (というか UTF-8 環境を想定)ので、EUC-JP 出力前提のテストは
> まずいです。
> Windows の pltests/ja-namazu-cgi-3 と似た話です。

MS-Windows の pltests/ja-namazu-cgi-3 で問題だったのは
テストスクリプト内で
環境変数 LANG を "" にしても "ja_JP.eucJP" にしても
"検索式にマッチする文書はありませんでした。"という
文のところだけが Shift_JIS ででてくるという症状が
あったことです。
複数文字コードが混在してしまう状態を発見するテスト
として機能してしまいました。

この部分は IIS からCGIを呼び出した場合には
"No document matching your query"
として英語で表示されています。
namazu.cgi.exe が Web サーバから呼ばれるときと
コマンドラインから実行されるときの動作をあわせる方法が
みつけられずにあきらめました。
これは実用上問題ないのですが、若干気になるところです。


> もし、テストをきちんとやろうとするならば、現在の make check の
> 仕組みを変えて、特定の環境に依存するのではなく、EUC-JP、UTF-8、
> SHIFT-JIS の環境でも動かすことを考慮した作りにする必要が
> あります。

今回の tests/ja-namazu-cgi-3 では他のテストと同様に
LANGUAGE, LC_ALL, LC_MESSAGE, LC_CTYPE, LANG の環境変数を全て
unset してから実行して環境変数が設定されてないという
状態のテストを行っているはずです。

この状態で .namazurc の LANG 行を ja_JP.eucJP, ja_JP.UTF-8 と
いうように変えてテストすれば HEAD ではそれぞれの文字コードでの
出力が確認できます。

現在は ja_JP.eucJP の出力のみを前提としてテストを作っていますが
必要な出力文字コードのケース分だけ実行するテストに変えればよいか
と思います。
(表示文字コードに対して不正なコードがまざらないかどうか判定する
部分は追加する必要があります)


> そうじゃないと、テストしている気になるだけで、実はきちんと
> テストされずに PASS しているということになりかねません。

これは常に気をつけないといけませんね。
特定のケースだけを注視しないように
なるべく多くの条件を網羅できるテストを心がけたいです。

臼田幸生


_______________________________________________
Namazu-devel-ja mailing list
Namazu-devel-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-devel-ja


投稿者 xml-rpc : 2011年7月25日 20:13
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/105206
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。