summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/test/fuzzer.test
Commit message (Collapse)AuthorAgeFilesLines
...
* [libFuzzer] make sure we find buffer overflow in the input buffer. ↵Kostya Serebryany2016-01-131-0/+3
| | | | | | Previously, re-using the same vector object was hiding buffer overflows (unless we used annotated vector) llvm-svn: 257701
* [libFuzzer] add a position hint to the dictionary-based mutatorKostya Serebryany2016-01-071-4/+2
| | | | llvm-svn: 257013
* [libfuzzer] print_new_cov_pcs experimental option.Mike Aizatsky2016-01-061-0/+6
| | | | | | Differential Revision: http://reviews.llvm.org/D15901 llvm-svn: 256882
* [libFuzzer] split the tests to run them in parallel, remove one redundant testKostya Serebryany2015-12-191-40/+1
| | | | llvm-svn: 256085
* [libFuzzer] make CrossOver just one of the other mutationsKostya Serebryany2015-12-191-6/+6
| | | | llvm-svn: 256081
* [LibFuzzer] Introducing FUZZER_FLAG_UNSIGNED and using it for seeding.Mike Aizatsky2015-12-101-2/+2
| | | | | | | | Differential Revision: http://reviews.llvm.org/D15339 done llvm-svn: 255296
* [libFuzzer] add a flag -exact_artifact_pathKostya Serebryany2015-11-251-0/+2
| | | | llvm-svn: 254100
* [libFuzzer] experimental flag -drill (another search heuristic; Mike ↵Kostya Serebryany2015-11-121-1/+5
| | | | | | Aizatsky's idea) llvm-svn: 252838
* [libFuzzer] make libFuzzer link if there is no sanitizer coverage ↵Kostya Serebryany2015-11-091-0/+3
| | | | | | instrumentation (it will fail at start-up time) llvm-svn: 252533
* [libFuzzer] use the indirect caller-callee counter as an independent search ↵Kostya Serebryany2015-10-221-0/+3
| | | | | | heuristic llvm-svn: 251078
* [libFuzzer] remove the deprecated 'tokens' featureKostya Serebryany2015-10-221-2/+0
| | | | llvm-svn: 251069
* [libFuzzer] print a stack trace on timeoutKostya Serebryany2015-10-161-0/+5
| | | | llvm-svn: 250571
* [libFuzzer] When -test_single_input crashes the test it is not necessary to ↵Kostya Serebryany2015-10-161-1/+6
| | | | | | write crash-file because input is already known to the user. Patch by Mike Aizatsky llvm-svn: 250564
* [libFuzzer] add -artifact_prefix flagKostya Serebryany2015-10-091-3/+5
| | | | llvm-svn: 249807
* [libFuzzer] remove experimental flag and functionalityKostya Serebryany2015-10-021-2/+2
| | | | llvm-svn: 249194
* [libFuzzer] add a flag -max_total_timeKostya Serebryany2015-10-021-0/+3
| | | | llvm-svn: 249181
* [LibFuzzer] test_single_input option to run a single test case.Ivan Krasin2015-10-011-0/+1
| | | | | | | | | | -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
* [libFuzzer]Add a test for defeating a hash sum.Ivan Krasin2015-09-081-0/+3
| | | | | | | | | | | | | | | | | Summary: Add a test for a data followed by 4-byte hash value. I use a slightly modified Jenkins hash function, as described in https://en.wikipedia.org/wiki/Jenkins_hash_function The modification is to ensure that hash(zeros) != 0. Reviewers: kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12648 llvm-svn: 247076
* [libFuzzer] actually make the dictionaries work (+docs)Kostya Serebryany2015-09-041-0/+3
| | | | llvm-svn: 246825
* [libFuzzer] deprecate the -tokens flag. This was a bad idea because the ↵Kostya Serebryany2015-09-021-1/+1
| | | | | | corpus with this flag contains encrypted inputs, not the real inputs, which complicates interoperation with other fuzzers. Instead we'll need to implement AFL dictionary support llvm-svn: 246734
* [libFuzzer] add two flags, -tbm_depth and -tbm_width to control how the ↵Kostya Serebryany2015-08-121-3/+3
| | | | | | trace-based-mutations are applied llvm-svn: 244712
* [libFuzzer] use data-flow feedback from strcmpKostya Serebryany2015-08-051-0/+3
| | | | llvm-svn: 244084
* [libFuzzer] make sure that 2-byte arguments of switch() are handled properlyKostya Serebryany2015-07-311-1/+1
| | | | llvm-svn: 243781
* [libFuzzer] trace switch statements and apply mutations based on the ↵Kostya Serebryany2015-07-311-0/+3
| | | | | | expected case values llvm-svn: 243726
* [libFuzzer] implement strncmp hook for data-flow-guided fuzzing (w/ and w/o ↵Kostya Serebryany2015-07-301-0/+3
| | | | | | dfsan), add a test llvm-svn: 243611
* [libFuzzer] implement memcmp hook for data-flow-guided fuzzing (w/o dfsan), ↵Kostya Serebryany2015-07-301-0/+3
| | | | | | extend the memcmp fuzzer test llvm-svn: 243603
* [libFuzzer] dump long running units to disk Kostya Serebryany2015-07-231-3/+3
| | | | llvm-svn: 243031
* [Fuzzer] Rely on $PATH expansion instead of hardcoding paths in tests. NFC.Alexey Samsonov2015-07-211-10/+10
| | | | llvm-svn: 242851
* [Fuzzer] Clearly separate regular and DFSan tests. NFC.Alexey Samsonov2015-07-211-4/+1
| | | | llvm-svn: 242850
* [lib/Fuzzer] remove -use_coverage_pairs=1, an experimental feature that is ↵Kostya Serebryany2015-05-221-1/+1
| | | | | | unlikely to ever scale llvm-svn: 238063
* [lib/Fuzzer] extend the fuzzer interface to allow user-supplied mutatorsKostya Serebryany2015-05-221-0/+2
| | | | llvm-svn: 238059
* [lib/Fuzzer] change the meaning of -timeout flag: now timeout is applied to ↵Kostya Serebryany2015-05-191-1/+1
| | | | | | every unit of work separately llvm-svn: 237735
* [lib/Fuzzer] remove the -dfsan=1 flag, just use -use_traces=1 (w/ or w/o dfsan)Kostya Serebryany2015-05-121-2/+2
| | | | llvm-svn: 237083
* [lib/Fuzzer] add a trace-based mutatation logic. Same idea as with ↵Kostya Serebryany2015-05-111-0/+1
| | | | | | DFSan-based mutator, but instead of relying on taint tracking, try to find the data directly in the input. More (logic and comments) to go. llvm-svn: 237043
* [lib/Fuzzer] build tests that work well with dfsan also w/o dfsanKostya Serebryany2015-05-081-2/+2
| | | | llvm-svn: 236909
* [lib/Fuzzer] change the way we use taint information for fuzzing. Now, we ↵Kostya Serebryany2015-05-071-2/+2
| | | | | | run a single unit and collect suggested mutations based on tracing+taint data, then apply the suggested mutations one by one. The previous scheme was slower and more complex. llvm-svn: 236772
* [lib/Fuzzer] add dfsan_weak_hook_memcmp, enable the test that uses it, ↵Kostya Serebryany2015-05-071-12/+11
| | | | | | simplify the test runner llvm-svn: 236683
* [fuzzer] Add support for token-based fuzzing (e.g. for C++). Allow string ↵Kostya Serebryany2015-03-311-0/+3
| | | | | | flags. llvm-svn: 233745
* DFSan-based fuzzer (proof of concept).Kostya Serebryany2015-03-301-0/+3
| | | | | | | | | | | | | | | | | | Summary: This adds a simple DFSan-based (i.e. taint-guided) fuzzer mutator, see the comments for details. Test Plan: a test added Reviewers: samsonov, pcc Reviewed By: samsonov, pcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8669 llvm-svn: 233613
* [sanitizer/coverage] Add AFL-style coverage counters (search heuristic for ↵Kostya Serebryany2015-03-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | fuzzing). Introduce -mllvm -sanitizer-coverage-8bit-counters=1 which adds imprecise thread-unfriendly 8-bit coverage counters. The run-time library maps these 8-bit counters to 8-bit bitsets in the same way AFL (http://lcamtuf.coredump.cx/afl/technical_details.txt) does: counter values are divided into 8 ranges and based on the counter value one of the bits in the bitset is set. The AFL ranges are used here: 1, 2, 3, 4-7, 8-15, 16-31, 32-127, 128+. These counters provide a search heuristic for single-threaded coverage-guided fuzzers, we do not expect them to be useful for other purposes. Depending on the value of -fsanitize-coverage=[123] flag, these counters will be added to the function entry blocks (=1), every basic block (=2), or every edge (=3). Use these counters as an optional search heuristic in the Fuzzer library. Add a test where this heuristic is critical. llvm-svn: 231166
* [fuzzer] one more experimental search mode: -use_coverage_pairs=1 Kostya Serebryany2015-02-201-1/+4
| | | | llvm-svn: 229957
* [fuzzer] add -use_full_coverage_set=1 which solves FullCoverageSetTest. This ↵Kostya Serebryany2015-01-291-0/+3
| | | | | | does not scale very well yet, but might be a good start. llvm-svn: 227507
* Reverting r227452, which adds back the fuzzer library. Now excluding the ↵Aaron Ballman2015-01-291-0/+13
| | | | | | fuzzer library based on LLVM_USE_SANITIZE_COVERAGE being set or unset. llvm-svn: 227464
* Temporarily reverting the fuzzer library as it causes too many build issues ↵Aaron Ballman2015-01-291-13/+0
| | | | | | for MSVC users. This reverts: 227445, 227395, 227389, 227357, 227254, 227252 llvm-svn: 227452
* Add lit-style tests for the Fuzzer libraryKostya Serebryany2015-01-281-0/+13
Summary: Add test targets and the lit-style runner. Test Plan: Run the tests on bot. Reviewers: samsonov Reviewed By: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7217 llvm-svn: 227389
OpenPOWER on IntegriCloud