chiark / gitweb /
tests/filter: Print all the diffs, not just the first
[subdirmk.git] / tests / filter / check
1 #!/bin/bash
2 set -e
3 set -o pipefail
4
5 cd tests/filter
6
7 expand <../../README | ./extract-doctests . >/dev/null
8
9 set +e
10 ../../generate sub/dir 2>stderr.tmp
11 rc=$?
12 set -e
13 if [ $rc != 0 ]; then cat stderr.tmp; exit 1; fi
14
15 ok=true
16
17 files=$(find -name \*.expected)
18 for f in $files; do
19         i=$f
20         o=$f.tmp
21         sed <$i >$o '
22                 /^# doctests:/ {
23                         r '"${f%/*}/doctests.mk.part"'
24                         a
25                 }
26         '
27         diff -u $f.tmp ${f%.expected}.tmp || ok=false
28 done
29
30 $ok
31
32 echo ok.