diff options
Diffstat (limited to 'test/fuzzer/seed_inputs.test')
-rw-r--r-- | test/fuzzer/seed_inputs.test | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/fuzzer/seed_inputs.test b/test/fuzzer/seed_inputs.test new file mode 100644 index 000000000..d61e6cf7a --- /dev/null +++ b/test/fuzzer/seed_inputs.test @@ -0,0 +1,24 @@ +RUN: %cpp_compiler %S/SimpleTest.cpp -o %t-SimpleTest + +USE-1: INFO: seed corpus: files: 1 +RUN: echo -n "%t-SimpleTest" > %t.seed-inputs +# Test both formats of -seed_inputs argument. +RUN: %run %t-SimpleTest -runs=1 -seed_inputs=@%t.seed-inputs 2>&1 | FileCheck %s --check-prefix=USE-1 +RUN: %run %t-SimpleTest -runs=1 -seed_inputs=%t-SimpleTest 2>&1 | FileCheck %s --check-prefix=USE-1 + +USE-2: INFO: seed corpus: files: 2 +RUN: echo -n "%t-SimpleTest,%t-SimpleTest" > %t.seed-inputs +RUN: %run %t-SimpleTest -runs=1 -seed_inputs=@%t.seed-inputs 2>&1 | FileCheck %s --check-prefix=USE-2 +RUN: %run %t-SimpleTest -runs=1 -seed_inputs=%t-SimpleTest,%t-SimpleTest 2>&1 | FileCheck %s --check-prefix=USE-2 + +# Test that missing files and trailing commas are tolerated. +RUN: echo -n "%t-SimpleTest,%t-SimpleTest,nonexistent-file," > %t.seed-inputs +RUN: %run %t-SimpleTest -runs=1 -seed_inputs=@%t.seed-inputs 2>&1 | FileCheck %s --check-prefix=USE-2 +RUN: %run %t-SimpleTest -runs=1 -seed_inputs=%t-SimpleTest,%t-SimpleTest,nonexistent-file, 2>&1 | FileCheck %s --check-prefix=USE-2 + +# Test that using a non existent file or an empty seed list fails. +EMPTY: seed_inputs is empty or @file does not exist. +RUN: not %run %t-SimpleTest -runs=1 -seed_inputs=@nonexistent-file 2>&1 | FileCheck %s --check-prefix=EMPTY +RUN: echo -n "" > %t.seed-inputs +RUN: not %run %t-SimpleTest -runs=1 -seed_inputs=@%t.seed-inputs 2>&1 | FileCheck %s --check-prefix=EMPTY +RUN: not %run %t-SimpleTest -runs=1 -seed_inputs= 2>&1 | FileCheck %s --check-prefix=EMPTY |