summaryrefslogtreecommitdiff
path: root/test/fuzzer/seed_inputs.test
blob: d61e6cf7a6363cb47941c570d850ec1645a0f06b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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