[Namazu-devel-ja 1603] Re: namazu-2.0.17のx86_64 (LANG=C) 環境でmake checkに失敗する

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2007年 5月 13日 (日) 10:38:00 JST


寺西です。

MATSUU Takuto wrote:
>
> 以下、各LANGで再度確認したところ、FAILになるのは以下の通りです。
> 
> LANG未設定(POSIX)

ここは何を意味するのか曖昧です。

pltests/test-log の最初の方に env.pl の実行結果が記録されます。
そこには、環境変数 LANG,LC_ALL,LC_MESSAGES,LC_CTYPE,LANGUAGE の値が
書かれています。
重要なのはその値です。

もし、全てが undef ならそれは C と設定した場合と同じです。
また、通常 POSIX は C と等価ですし、Namazu でもこれを特に区別する
ことはありませんので、テストは C だけで十分です。

> LANG=C
>  pltests/idxdiff-1.pl
>  pltests/idxdiff-3.pl
>  pltests/namazu-8.pl(※)
>  tests/mknmz-9(※)
>  tests/idxdiff-1
>  tests/idxdiff-2
>  tests/idxdiff-3

原因が1つだけとは限らず、いくつかあるかもしれません。
まずは、MP3-Info の問題がわかっていますので、これを解決しましょう。

> $ diff -u idx1/NMZ.field.summary idx2/NMZ.field.summary
> --- idx1/NMZ.field.summary      2007-05-12 13:27:42.000000000 +0900
> +++ idx2/NMZ.field.summary      2007-05-12 13:27:55.000000000 +0900
> @@ -1,5 +1,5 @@
> Album: Namazu Comment: This file is for testing. Year: 2003 Genre:  
> Vocal Track:
> -Album: Namazu Comment: ARRAY(0x10d9dc0) Year: 2003 Genre: Vocal Track:
> +Album: Namazu Comment: ARRAY(0x10c5c80) Year: 2003 Genre: Vocal Track:

という結果ですので Comment 配列のアドレスが NMZ.field.summary に書き
出されています。
実行する度に変わるでしょうから、これだと、同じインデックスになるわけが
ありませんので。

> LANG=ja_JP.eucJP
>  FAILなし

これは意味がありますが、
 
> LANG=ja_JP.UTF-8
>  pltests/idxdiff-1.pl
>  pltests/idxdiff-3.pl
>  pltests/namazu-8.pl(※)
>  tests/mknmz-9(※)

このテストに意味はありません。UTF-8 は対応していませんので、
テストにPASSしようがFAILしようが、その結果は不定ですから。

> ※のあるpltests/namazu-8.plとtests/mknmz-9は常に失敗するわけではなく、
> たまに失敗するようです。失敗する条件までは特定できておりません。

これは、FAIL 時の test-log がないと分かりづらいかもしれません。

なお、test-log は実行する度に追加書きされますので、新しく作りたい場合
は、make check や perl alltests.pl 実行前に test-log を削除して
ください。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E




Namazu-devel-ja メーリングリストの案内