diff options
author | Ivan Krasin <krasin@chromium.org> | 2015-10-01 23:23:06 +0000 |
---|---|---|
committer | Ivan Krasin <krasin@chromium.org> | 2015-10-01 23:23:06 +0000 |
commit | 95e82d5b482e71286168eb0cab709d627ea9a06f (patch) | |
tree | bf786c5f88ffb495c718868614eb1a22a8eeb5df /llvm/lib/Fuzzer/FuzzerDriver.cpp | |
parent | 9301ec11910dbb7fd13becd0e77b0a1faeff5915 (diff) | |
download | bcm5719-llvm-95e82d5b482e71286168eb0cab709d627ea9a06f.tar.gz bcm5719-llvm-95e82d5b482e71286168eb0cab709d627ea9a06f.zip |
[LibFuzzer] test_single_input option to run a single test case.
-test_single_input flag specifies a file name with test data.
Review URL: http://reviews.llvm.org/D13359
Patch by Mike Aizatsky!
llvm-svn: 249096
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerDriver.cpp')
-rw-r--r-- | llvm/lib/Fuzzer/FuzzerDriver.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerDriver.cpp b/llvm/lib/Fuzzer/FuzzerDriver.cpp index e79c21e8bdb..9c4406e219c 100644 --- a/llvm/lib/Fuzzer/FuzzerDriver.cpp +++ b/llvm/lib/Fuzzer/FuzzerDriver.cpp @@ -202,6 +202,12 @@ int ApplyTokens(const Fuzzer &F, const char *InputFilePath) { return 0; } +int RunOneTest(Fuzzer *F, const char *InputFilePath) { + Unit U = FileToVector(InputFilePath); + F->ExecuteCallback(U); + return 0; +} + int FuzzerDriver(int argc, char **argv, UserCallback Callback) { FuzzerRandomLibc Rand(0); SimpleUserSuppliedFuzzer SUSF(&Rand, Callback); @@ -275,6 +281,9 @@ int FuzzerDriver(const std::vector<std::string> &Args, if (Flags.apply_tokens) return ApplyTokens(F, Flags.apply_tokens); + if (Flags.test_single_input) + return RunOneTest(&F, Flags.test_single_input); + unsigned Seed = Flags.seed; // Initialize Seed. if (Seed == 0) |