From ef45d8c24024fa01378e0c0006e19b0d3e881761 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 1 Dec 2016 00:28:32 +0000 Subject: [PATCH] regress: fuzz: Fix check1fuzz and Makefile Now checkfuzz seems to DTRT. We compare the stdout, to check that our program ran to completion. Signed-off-by: Ian Jackson --- regress/Makefile.in | 4 ++-- regress/check1fuzz | 22 +++++++++++++++++----- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/regress/Makefile.in b/regress/Makefile.in index a212ef8..e0d84a9 100644 --- a/regress/Makefile.in +++ b/regress/Makefile.in @@ -77,10 +77,10 @@ fuzzraw-%: fuzz-% .PRECIOUS: fuzz-% checkfuzz-%: fuzz-% $(TARGETS) - @srcdir=$(srcdir) $(srcdir)/check1fuzz $< || test $$? = 5 + @srcdir=$(srcdir) $(srcdir)/check1fuzz $< checkfuzzraw-%: fuzzraw-% $(TARGETS) - @srcdir=$(srcdir) $(srcdir)/check1fuzz $< || test $$? = 5 + @srcdir=$(srcdir) $(srcdir)/check1fuzz $< LINK_CMD= $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ diff --git a/regress/check1fuzz b/regress/check1fuzz index 578bafb..4a8d272 100755 --- a/regress/check1fuzz +++ b/regress/check1fuzz @@ -11,10 +11,13 @@ fuzzfile="$1" exec <"$fuzzfile" case "$fuzzfile" in -fuzz-*) desc="${fuzzfile#fuzz-}" ;; -fuzzraw-*) desc="${fuzzfile#fuzzraw-}" ;; +fuzz-*) kind=f; case="${fuzzfile#fuzz-}" ;; +fuzzraw-*) kind=r; case="${fuzzfile#fuzzraw-}" ;; +*) printf >&2 '\nWRONG-FUZZ-%s\n' $fuzzfile; exit 1 ;; esac +desc="$case.$kind" + read nargs if [ "$nargs" = 0 ]; then printf "SKIPPED-$desc "; exit 5; fi @@ -26,14 +29,23 @@ case "$program" in *) program="./$program" ;; esac +exec 3>output-$desc.trouble + set +e -${program} <"$fuzzfile" >/dev/null 2>&1 +${program} <"$fuzzfile" >output-$desc.out.tmp 2>&3 rc=$? set -e +if [ $rc = 0 ]; then + set +e + diff -u output-$desc.out.tmp case-$case.out >&3 + rc=$? + set -e +fi + if [ $rc != 0 ]; then - printf >&2 '\nFAIL-%s\n' $fuzzfile + printf >&2 '\nFAIL-%s\n' $desc exit $rc fi -printf "$desc " +printf '%s ' "$desc" -- 2.30.2