chiark / gitweb /
regress: Move case-*.in opening to shlib playback_prepare
[adns.git] / regress / check1fuzz
1 #!/bin/sh
2 # usage: check1fuzz <fuzzer stimulus file>
3 # fuzz check script, for checking that one fuzz input works
4
5 set -e
6 : ${srcdir=.}
7 . "$srcdir"/shlib
8
9 fuzzfile="$1"
10
11 exec <"$fuzzfile"
12
13 case "$fuzzfile" in
14 fuzz-*)         desc="${fuzzfile#fuzz-}"        ;;
15 fuzzraw-*)      desc="${fuzzfile#fuzzraw-}"     ;;
16 esac
17
18 read nargs
19 if [ "$nargs" = 0 ]; then printf "SKIPPED-$desc "; exit 5; fi
20
21 read arg1len
22 read program
23
24 case "$program" in
25 */*)    ;;
26 *)      program="./$program" ;;
27 esac
28
29 set +e
30 ${program} <"$fuzzfile" >/dev/null 2>&1
31 rc=$?
32 set -e
33
34 if [ $rc != 0 ]; then
35         printf >&2 '\nFAIL-%s\n' $fuzzfile
36         exit $rc
37 fi
38
39 printf "$desc "