📄 t.grftest
字号:
#!/bin/sh# Note: When run via "make check", test output files are automatically deleted.# When run from the command line, output files are left in directory# grftest.YYYYMMDD. This is useful when something is different.## ./inputs - test inputs# ./outputs - known correct outputs# esp. grftest.out## grftest.YYYYMMDD:# directory containing individual output filesNODB=1 . ${srcdir=.}/t.frame# Fisher configcat <<EOF > ${TMPDIR}/cfg.frobx=0.415min_dev=0.1ham_cutoff=0.0EOF# Fisher tristatecat <<EOF > ${TMPDIR}/cfg.trobx=0.415min_dev=0.1ham_cutoff=0.1terse_format = %1.1c %dspamicity_tags = s,h,uspamicity_formats = %0.6f %0.6f %0.6fEOFV="v" # verbosity levelmap_rc(){ ( set +e eval "$@" a=$? [ $a -eq 0 ] && exit 0 [ $a -eq 1 ] && exit 0 [ $a -eq 2 ] && exit 0 exit $a )}run_test(){ id="$1" fil="$2" ver="$3" OUT="${TMPDIR}/tests/msg.$fil.$mth.$ver" OPTS="-t -$ver $CFG" map_rc $BOGOFILTER $OPTS <${SYSTEST}/inputs/msg.$id.txt >${TMPDIR}/tests-$alg sed s/,.version=.*// < ${TMPDIR}/tests-$alg > $OUT}if [ -d ${TMPDIR}/tests ] ; then rm -f ${TMPDIR}/tests/* ; else : ; fimkdir -p ${TMPDIR}/testsfor mth in f t ; do BOGOFILTER_DIR="${TMPDIR}/words.$mth" CFG="-c ${TMPDIR}/cfg.$mth -y 0" export BOGOFILTER_DIR if [ -d $BOGOFILTER_DIR ] ; then rm -f $BOGOFILTER_DIR/* ; else : ; fi mkdir -p $BOGOFILTER_DIR $BOGOFILTER $CFG -s < ${SYSTEST}/inputs/spam.mbx $BOGOFILTER $CFG -n < ${SYSTEST}/inputs/good.mbx for f in $BOGOFILTER_DIR/*.${DB_EXT} ; do n=`basename $f .${DB_EXT}` $BOGOUTIL -d $BOGOFILTER_DIR/$n.${DB_EXT} > $BOGOFILTER_DIR/$n.txt done# [ $verbose -gt 0 ] && $BOGOUTIL -w $BOGOFILTER_DIR .MSG_COUNT # # run tests for msg.[1-8].txt # for msg in ${SYSTEST}/inputs/msg.?.txt ; do tst=`echo $msg | sed s@${SYSTEST}/inputs/msg.@@ | sed s@.txt@@` args="$tst $tst $V" run_test $args donedoneOUT="grftest.out"printf "%2s %-10s %-10s\n" id fisher tristate > ${TMPDIR}/tests/$OUTfor out in ${TMPDIR}/tests/msg.?.t.$V ; do id=`echo $out | sed s@${TMPDIR}/tests/msg.@@ | sed s@.t.$V@@` f=`head -1 ${TMPDIR}/tests/msg.$id.f.$V | tr "HS" "hs"` t=`head -1 ${TMPDIR}/tests/msg.$id.t.$V` printf "%2s %c %s %c %s\n" $id $f $t >> ${TMPDIR}/tests/$OUTdoneif [ "$BF_SAVEDIR" ] ; then . ${srcdir}/t.save ; fiif [ $verbose -eq 0 ]; then cmp ${OUTPUTS}/$OUT ${TMPDIR}/tests/$OUTelse diff $DIFF_BRIEF ${OUTPUTS}/$OUT ${TMPDIR}/tests/$OUTfi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -