[Namazu-devel-ja 113] Re: mknmz-12 の意味は ?

Yukio USUDA m6694ha392t @ asahi-net.or.jp
2004年 9月 5日 (日) 08:09:09 JST


臼田です

Tadamasa Teranishi wrote:
> 
> pltests で mknmz-12 の対応をしていて、ふと疑問に思ったのですが、
> mknmz-12 のテストの意味は何でしょう。
> 
> 今までは FILTERDIR を指定して、テスト用フィルタが機能するかどうか
> をテストするものだと思っていたのですが、どうもそうではないみたいです。

ChangeLog と namazu-devel-ja を読むと
http://www.namazu.org/ml/namazu-devel-ja/msg01280.html
で出ている問題
「mknmzrc で FILTERDIR を指定してもフィルタを読みにいかない」
に対処するための改修を行い、その確認用に tests/mknmz-12 を追加していること
がわかります。

FILTERDIR で指定したディレクトリからテスト用フィルタが読み込まれたことは
mknmz -C の出力を grep し、テスト用フィルタで追加した[x-test/x-text]
があることを確認できています。テストはここで成立しています。
このあとはどちらでも良いのではと思います。

ただ、エラーが起きることを想定して作ったものではないでしょうから
単純にテスト用フィルタのバグだろうと思います。

> $magic->addMagicEntry("0\tstring\tNamazu-Filter-Test:\tx-test/x-test");
> 
> としなければなりませんが、こう修正するのが正しいのでしょうか?
> -- 
せっかくですから修正しましょう。

あわせて
plain-txtとして処理されたのではなく
テスト用フィルタで処理されたことが確認できるようなコードも
追加してはどうでしょうか

testfilter.pl 内で元の filtertest.txt に存在しない文字列を
$fields->{'author'} = "foo";
として追加しておいて
mknmz-12 で確認するようにしてはどうでしょう

$ diff -u mknmz-12.org mknmz-12
--- mknmz-12.org        2004-03-07 21:06:12.000000000 +0900
+++ mknmz-12    2004-09-05 08:01:49.000000000 +0900
@@ -31,6 +31,13 @@
 
 ../scripts/mknmz -f $tmprc --allow='.*.txt' -O $IDXDIR $TARGET >> $LOG 2>&1
 rm -f $tmprc
+
+COUNT=`egrep 'foo' $IDXDIR/NMZ.field.from|wc -l`
+if [ $COUNT -ne 1 ]
+then
+       exit 1
+fi
+
 RESULTCOUNT=`wc -l < $IDXDIR/NMZ.field.uri`
 test $TXTCOUNT -eq $RESULTCOUNT
 exit $?

臼田幸生




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