FIX inc ERROR CNT
[docutils/kirr.git] / sandbox / manpage-writer / runtest
blobb9fb0b8b249ed6660ca38011dfc55f522aece2a6
1 #!/bin/sh
3 IN_DIR=input
4 OUT_DIR=output
5 EXP_DIR=expected
7 if [ -z "`man -?|grep -- '^ *-T'`" ] ; then
8 echo 'WARNING: your man does not support "-T Format" to specify encoding'
9 echo 'SKIPPING encoding tests'
10 ENCS=""
11 else
12 ENCS="latin1 utf8 ascii"
15 if [ -z "$1" ] ; then
16 FILES=*.txt
17 else
18 FILES=$1
21 ERROR_CNT=0
23 inc_ERROR_CNT () {
24 ERROR_CNT=$(( ERROR_CNT + 1 ))
27 report_ERROR_CNT () {
28 echo "$ERROR_CNT errors"
31 CMD="../../docutils/tools/rst2man.py --traceback"
33 for IN_F in $IN_DIR/$FILES ; do
34 BASE=`basename $IN_F`
35 F_BASE=${BASE%.txt}
36 if echo $F_BASE | grep -q -- '-de\.' ; then
37 OPT="-l de"
38 else
39 OPT=""
41 $CMD $OPT $IN_F $OUT_DIR/$F_BASE.man
42 if [ $? -eq 0 ] ; then
43 diff -s -u $EXP_DIR/$F_BASE.man $OUT_DIR/$F_BASE.man
44 if [ $? -ne 0 ] ; then
45 inc_ERROR_CNT
47 for ENC in $ENCS ; do
48 if [ -e $EXP_DIR/$F_BASE.$ENC ] ; then
49 man -T$ENC $OUT_DIR/$F_BASE.man > $OUT_DIR/$F_BASE.$ENC
50 diff -s -u $EXP_DIR/$F_BASE.$ENC $OUT_DIR/$F_BASE.$ENC
52 done
54 done
56 if [ -n "$1" ] ; then
57 report_ERROR_CNT
58 exit
61 for L in "en" "de" ; do
62 for IN_F in $IN_DIR/docinfo-*.txt ; do
63 BASE=`basename $IN_F`
64 F_BASE=${BASE%.txt}
65 OPT="-l $L"
66 EXT="-l_$L"
67 $CMD $OPT $IN_F $OUT_DIR/$F_BASE$EXT.man
68 if [ $? -eq 0 ] ; then
69 diff -s -u $EXP_DIR/$F_BASE$EXT.man $OUT_DIR/$F_BASE$EXT.man
70 if [ $? -ne 0 ] ; then
71 inc_ERROR_CNT
74 done
75 done
77 report_ERROR_CNT