Browse Source

Addition to test cases: make sure fuzzer binaries allow known cases

This isn't fuzzing per se, so much as replaying the highlights of
past fuzzer runs.
Nick Mathewson 7 years ago
parent
commit
3c74855934
3 changed files with 21 additions and 3 deletions
  1. 3 2
      src/test/fuzz/include.am
  2. 15 0
      src/test/fuzz_static_testcases.sh
  3. 3 1
      src/test/include.am

+ 3 - 2
src/test/fuzz/include.am

@@ -52,6 +52,7 @@ FUZZERS = \
 	src/test/fuzz/fuzz-extrainfo \
 	src/test/fuzz/fuzz-http
 
-# The fuzzers aren't built by default right now. That should change.
-EXTRA_PROGRAMS += $(FUZZERS)
+noinst_PROGRAMS += $(FUZZERS)
 fuzzers: $(FUZZERS)
+
+

+ 15 - 0
src/test/fuzz_static_testcases.sh

@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Copyright (c) 2016, The Tor Project, Inc.
+# See LICENSE for licensing information
+
+set -e
+
+for fuzzer in "${builddir:-.}"/src/test/fuzz/fuzz-* ; do
+    f=`basename $fuzzer`
+    case="${f#fuzz-}"
+    echo "Running tests for ${case}"
+    for entry in ${abs_top_srcdir:-.}/src/test/fuzz/data/${case}/*; do
+	"${fuzzer}" "--err" < "$entry"
+    done
+done

+ 3 - 1
src/test/include.am

@@ -8,7 +8,9 @@ TESTS_ENVIRONMENT = \
 	export builddir="$(builddir)"; \
 	export TESTING_TOR_BINARY="$(TESTING_TOR_BINARY)";
 
-TESTSCRIPTS = src/test/test_zero_length_keys.sh \
+TESTSCRIPTS = \
+	src/test/fuzz_static_testcases.sh \
+	src/test/test_zero_length_keys.sh \
 	src/test/test_workqueue_cancel.sh \
 	src/test/test_workqueue_efd.sh \
 	src/test/test_workqueue_efd2.sh \