chiark / gitweb /
regress: Reorganise r1test and make1fuzz some more
[adns.git] / regress / make1fuzz
1 #!/bin/sh
2 set -e
3
4 : ${srcdir=.}
5 . "$srcdir"/shlib
6
7 casename="$1"
8
9 playback_prepare
10
11 ofuzz="fuzz-$casename"
12
13 rm -f "$ofuzz.tmp"
14 exec >"$ofuzz.tmp"
15
16 fuzzout_complete () {
17         mv "$ofuzz.tmp" "$ofuzz"
18         exit 0
19 }
20
21 if test ! -e $playback; then
22         echo 0
23         fuzzout_complete
24 fi
25
26 playback_execute_hook () {
27         set "${program}_fuzz" "$@"
28
29         printf "%d\n" "$#"
30         for a in "$@"; do
31                 printf "%d\n" "${#a}"
32                 printf "%s\n" "$a"
33         done
34
35         cat <&4 >"$ofuzz.sys.tmp"
36         exec 4<$ofuzz.sys.tmp
37 }
38 playback_execute
39
40 if test -e "$case.in"
41 then
42         inputsz=$(stat -c'%s' -L "$case.in")
43         printf "%d\n" "$inputsz"
44         cat "$case.in"
45 else
46         echo 0
47 fi
48 echo
49
50 cat $ofuzz.sys.tmp
51
52 fuzzout_complete