Add <target> to one more testcase (see r8206).
[docutils.git] / sandbox / grubert / runtest
blob0f80bb41eb75faae84fbe023ac80d256cd4a0ff9
1 #!/bin/bash
3 # quick latex writer test runner
4 # $Id$
6 echo "THIS is not updated in normal commits"
8 CHECKS=0
9 FAILS=0
10 FAIL_QUEUE=""
12 function do_diff() {
13 CHECKS=$((CHECKS + 1))
14 diff -q -s $1 $2
15 if test $? -gt 0 ; then
16 FAILS=$((FAILS + 1))
17 FAIL_QUEUE="$FAIL_QUEUE,$1"
21 function report() {
22 echo "-------------------------------------"
23 if test $FAILS -eq 0 ; then
24 echo "OK: all $CHECKS tests passed"
25 else
26 echo "ERROR: $FAILS of $CHECKS failed"
27 echo "Failed tests: $FAIL_QUEUE"
31 BARE_CMD="../../docutils/tools/rst2latex.py --traceback "
32 BASE_CMD="$BARE_CMD --stylesheet= "
34 CMD="$BASE_CMD"
35 if [ -z "$1" ] ; then
36 FM="*.txt"
37 else
38 FM=$1
41 for INF in `ls test/$FM` ; do
42 OUTF="$INF.tex"
43 REFF="$OUTF.ref"
44 OPT=""
45 if [ $INF = "test/unicode-box.txt" ] ; then
46 OPT="-o utf-8:strict"
48 $CMD $OPT $2 $3 $INF > $OUTF
49 do_diff $REFF $OUTF
50 done
52 if [ -n "$1" -a ! "$1" == "-" ] ; then
53 report
54 exit
57 # stylesheet embedding
59 # fail for no extension
60 INF=test/header.txt
61 STF=test/dummy_stylesheet
62 echo -e "% dummy stylesheet\n% second line" > $STF
63 OUTF="$INF-embed-stylesheet.err"
64 REFF="$OUTF.ref"
65 $CMD --stylesheet-path=$STF --embed-stylesheet $2 $3 $INF > $OUTF 2>&1
66 do_diff $REFF $OUTF
67 # embed for .inc
68 mv $STF $STF.inc
69 OUTF="$INF-embed-stylesheet.tex"
70 REFF="$OUTF.ref"
71 $CMD --stylesheet-path=$STF.inc --embed-stylesheet $2 $3 $INF > $OUTF 2>&1
72 do_diff $REFF $OUTF
73 # embed for .sty
74 mv $STF.inc $STF.sty
75 OUTF="$INF-embed-stylesheet-sty.tex"
76 REFF="$OUTF.ref"
77 $CMD --stylesheet-path=$STF.sty --embed-stylesheet $2 $3 $INF > $OUTF 2>&1
78 do_diff $REFF $OUTF
79 exit
80 INF=test/header.txt
81 for GO in "" auto pdftex dvips,300dpi ; do
82 OUTF="$INF-graphicx-option-$GO.tex"
83 REFF="$OUTF.ref"
84 $CMD --graphicx-option=$GO $2 $3 $INF > $OUTF
85 do_diff $REFF $OUTF
86 done
88 # font encoding
89 for FONTENC in "" T1 OT1 ; do
90 for INF in `ls test/characters.txt` ; do
91 OUTF="$INF-$FONTENC.tex"
92 REFF="$OUTF.ref"
93 if [ -z $FONTENC ] ; then
94 $CMD $2 $3 $INF > $OUTF
95 else
96 $CMD --font-encoding=$FONTENC $2 $3 $INF > $OUTF
98 do_diff $REFF $OUTF
99 done
100 done
102 # reference-label
103 for LR in "" "ref" ; do
104 for INF in test/links.txt ; do
105 OUTF="$INF-$LR.tex"
106 REFF="$OUTF.ref"
107 $CMD --reference-label=$LR $2 $3 $INF > $OUTF
108 do_diff $REFF $OUTF
109 done
110 done
112 INF="test/tables.txt"
113 OUTF="$INF-verbatim.tex"
114 REFF="$OUTF.ref"
115 $CMD --use-verbatim-when-possible $2 $3 $INF > $OUTF
116 do_diff $REFF $OUTF
118 INF="test/tables.txt"
119 OUTF="$INF-literal-block-env.tex"
120 REFF="$OUTF.ref"
121 $CMD --literal-block-env="lstlisting[language=Python]" $2 $3 $INF > $OUTF
122 do_diff $REFF $OUTF
124 # table-style
125 for TABSTYLE in "" standard booktabs nolines ; do
126 for INF in `ls test/tables.txt` ; do
127 OUTF="$INF-$TABSTYLE.tex"
128 REFF="$OUTF.ref"
129 if [ -z $TABSTYLE ] ; then
130 $CMD $2 $3 $INF > $OUTF
131 else
132 $CMD --table-style=$TABSTYLE $2 $3 $INF > $OUTF
134 do_diff $REFF $OUTF
135 done
136 done
138 INF=test/sections.txt
139 OUTF="$INF-parts.tex"
140 REFF="$OUTF.ref"
141 $CMD --use-part-section $2 $3 $INF > $OUTF
142 do_diff $REFF $OUTF
144 # rowspan tables
145 INF=test/tables-multirow.txt
146 OUTF="$INF.tex"
147 REFF="$OUTF.ref"
148 $CMD $INF > $OUTF
149 do_diff $REFF $OUTF
151 # with generated footer
152 INF=test/docinfo.txt
153 OUTF="$INF-gs.tex"
154 REFF="$OUTF.ref"
155 $CMD $INF > $OUTF
156 do_diff $REFF $OUTF
158 CMD="$BASE_CMD --documentclass=book"
159 INF=test/docinfo.txt
160 OUTF="$INF-book.tex"
161 REFF="$OUTF.ref"
162 $CMD $INF > $OUTF
163 do_diff $REFF $OUTF
165 CMD="$BASE_CMD --documentclass=custom"
166 INF=test/docinfo.txt
167 OUTF="$INF-custom.tex"
168 REFF="$OUTF.ref"
169 $CMD $INF > $OUTF
170 do_diff $REFF $OUTF
172 CMD="$BASE_CMD --no-doc-info"
173 INF=test/docinfo.txt
174 OUTF="$INF-no-info.tex"
175 REFF="$OUTF.ref"
176 $CMD $INF > $OUTF
177 do_diff $REFF $OUTF
179 CMD="$BASE_CMD --no-doc-title"
180 INF=test/docinfo.txt
181 OUTF="$INF-no-title.tex"
182 REFF="$OUTF.ref"
183 $CMD $INF > $OUTF
184 do_diff $REFF $OUTF
186 CMD="$BASE_CMD --no-doc-title --no-doc-info"
187 INF=test/docinfo.txt
188 OUTF="$INF-no-title-info.tex"
189 REFF="$OUTF.ref"
190 $CMD $INF > $OUTF
191 do_diff $REFF $OUTF
193 CMD="$BASE_CMD --use-titlepage-env"
194 for F in docinfo docinfo-1 docinfo-2 docinfo-3 ; do
195 INF=test/$F.txt
196 OUTF="$INF-use-titlepage-env.tex"
197 REFF="$OUTF.ref"
198 $CMD $INF > $OUTF
199 do_diff $REFF $OUTF
200 done
202 CMD="$BASE_CMD --use-latex-abstract --use-titlepage-env"
203 for F in docinfo-2 docinfo-3 ; do
204 INF=test/$F.txt
205 OUTF="$INF-use-titlepage-env-latexabstract.tex"
206 REFF="$OUTF.ref"
207 $CMD $INF > $OUTF
208 do_diff $REFF $OUTF
209 done
211 CMD="$BASE_CMD --use-latex-abstract"
212 F=docinfo-2
213 INF=test/$F.txt
214 OUTF="$INF-use-latex-abstract.tex"
215 REFF="$OUTF.ref"
216 $CMD $INF > $OUTF
217 do_diff $REFF $OUTF
219 CMD="$BASE_CMD --use-latex-docinfo"
220 for F in docinfo docinfo-2 ; do
221 INF=test/$F.txt
222 OUTF="$INF-use-latex-docinfo.tex"
223 REFF="$OUTF.ref"
224 $CMD $INF > $OUTF
225 do_diff $REFF $OUTF
226 done
228 CMD="$BASE_CMD"
229 # with latex toc
230 for F in toc toc-autonr ; do
231 INF=test/$F.txt
232 OUTF="$INF-use-latex-toc.tex"
233 REFF="$OUTF.ref"
234 $CMD --use-latex-toc $INF > $OUTF
235 do_diff $REFF $OUTF
236 done
238 # german
239 for F in toc quotes ; do
240 for L in de fr it ; do
241 INF=test/$F.txt
242 OUTF="$INF-$L.tex"
243 REFF="$OUTF.ref"
244 $CMD -l $L $INF > $OUTF
245 do_diff $REFF $OUTF
246 done
247 done
249 # spanish --language=es flags inhibits --use-latex-docinfo when using
250 # --documentclass=book and --use-latex-toc
251 CMD="$BASE_CMD --documentclass=book --use-latex-toc --use-latex-docinfo"
252 for F in toc quotes ; do
253 INF=test/$F.txt
254 OUTF="$INF-latex-docinfo.tex"
255 REFF="$OUTF.ref"
256 $CMD $INF > $OUTF
257 LANG=es
258 do_diff $REFF $OUTF
259 OUTF="$INF-$LANG-latex-docinfo.tex"
260 REFF="$OUTF.ref"
261 $CMD --language=$LANG $INF > $OUTF
262 do_diff $REFF $OUTF
263 done
265 # use latex footnotes
266 CMD="$BASE_CMD --use-latex-footnotes"
267 INF=test/footnotes.txt
268 OUTF="$INF-use-latex-footnotes.tex"
269 REFF="$OUTF.ref"
270 $CMD $INF > $OUTF
271 do_diff $REFF $OUTF
273 # use latex citations
274 CMD="$BASE_CMD --use-latex-citations"
275 for F in footnotes.txt no-citations.txt citation_labels.txt ; do
276 INF=test/$F
277 OUTF="$INF-use-latex-citations.tex"
278 REFF="$OUTF.ref"
279 $CMD $INF > $OUTF
280 do_diff $REFF $OUTF
281 done
283 # use bibtex
284 INF=test/citations.txt
285 CMD="$BASE_CMD --use-latex-citations --use-bibtex=mystyle,mydb1,mydb2"
286 OUTF="$INF-use-bibtex.tex"
287 REFF="$OUTF.ref"
288 $CMD $INF > $OUTF
289 do_diff $REFF $OUTF
291 CMD="$BASE_CMD --use-verbatim-when-possible"
292 INF=test/literal.txt
293 OUTF="$INF-use-verbatim-when-possible.tex"
294 REFF="$OUTF.ref"
295 $CMD $INF > $OUTF
296 do_diff $REFF $OUTF
298 for L in en de es ; do
299 CMD="$BASE_CMD "
300 INF=test/literal.txt
301 OUTF="$INF-$L.tex"
302 REFF="$OUTF.ref"
303 $CMD --lang=$L $INF > $OUTF
304 do_diff $REFF $OUTF
305 OUTF="$INF-$L-verb.tex"
306 REFF="$OUTF.ref"
307 $CMD --use-verbatim-when-possible --language=$L $INF > $OUTF
308 do_diff $REFF $OUTF
309 done
311 report
312 echo "CHECK: toc with latex toc "
314 exit
316 # lost test files.
318 INF=test/kasten.txt
319 OUTF="$INF-de.tex"
320 REFF="$OUTF.ref"
321 $CMD -l de $INF > $OUTF
322 do_diff $REFF $OUTF
324 CMD="$BASE_CMD --attribution=parens"
325 INF=test/attribution.txt
326 OUTF="$INF-parens-attribution.tex"
327 REFF="$OUTF.ref"
328 $CMD $INF > $OUTF
329 do_diff $REFF $OUTF
331 INF=test/iso-8859-15.txt
332 OUTF="$INF-enc.tex"
333 REFF="$OUTF.ref"
334 $CMD --input-encoding=iso-8859-15 --output-encoding=iso-8859-15 $INF > $OUTF
335 do_diff $REFF $OUTF