changeset 1809:fd00aeff38fd

fuzz: add -q quiet argument for standalone fuzzers. travis has a log length limit
author Matt Johnston <matt@ucc.asn.au>
date Sun, 07 Mar 2021 21:26:34 +0800
parents 42daf3044618
children 1b160ed94749
files fuzz/fuzz-harness.c fuzzers_test.sh
diffstat 2 files changed, 16 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/fuzz/fuzz-harness.c	Sun Mar 07 16:30:33 2021 +0800
+++ b/fuzz/fuzz-harness.c	Sun Mar 07 21:26:34 2021 +0800
@@ -7,6 +7,7 @@
 int main(int argc, char ** argv) {
     int i;
     buffer *input = buf_new(100000);
+    int quiet = 0;
 
     for (i = 1; i < argc; i++) {
 #if DEBUG_TRACE
@@ -15,6 +16,10 @@
             TRACE(("debug printing on"))
         }
 #endif
+        if (strcmp(argv[i], "-q") == 0) {
+            printf("Running quiet\n");
+            quiet = 1;
+        }
     }
 
     int old_fuzz_wrapfds = 0;
@@ -31,11 +36,17 @@
 
 		/* Run twice to catch problems with statefulness */
         fuzz.wrapfds = old_fuzz_wrapfds;
-        printf("Running %s once \n", fn);
+        if (!quiet) {
+            printf("Running %s once \n", fn);
+        }
         LLVMFuzzerTestOneInput(input->data, input->len);
-        printf("Running %s twice \n", fn);
+        if (!quiet) {
+            printf("Running %s twice \n", fn);
+        }
         LLVMFuzzerTestOneInput(input->data, input->len);
-        printf("Done %s\n", fn);
+        if (!quiet) {
+            printf("Done %s\n", fn);
+        }
 
         /* Disable wrapfd so it won't interfere with buf_readfile() above */
         old_fuzz_wrapfds = fuzz.wrapfds;
--- a/fuzzers_test.sh	Sun Mar 07 16:30:33 2021 +0800
+++ b/fuzzers_test.sh	Sun Mar 07 21:26:34 2021 +0800
@@ -7,7 +7,8 @@
 test -d fuzzcorpus && hg --repository fuzzcorpus/ pull || hg clone https://hg.ucc.asn.au/dropbear-fuzzcorpus fuzzcorpus || exit 1
 for f in `make list-fuzz-targets`; do
     # use xargs to split the too-long argument list
-    echo fuzzcorpus/$f/* | xargs -n 1000 ./$f || result=1
+    # -q quiet because travis has a logfile limit
+    echo fuzzcorpus/$f/* | xargs -n 1000 ./$f -q || result=1
 done
 
 exit $result