summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/test
Commit message (Collapse)AuthorAgeFilesLines
...
* [libFuzzer] don't require seed in fuzzer::Mutate, instead use the global ↵Kostya Serebryany2016-02-131-4/+12
| | | | | | Fuzzer object for fuzzer::Mutate. This makes custom mutators fast llvm-svn: 260810
* [libFuzzer] get rid of UserSuppliedFuzzer; NFCKostya Serebryany2016-02-133-3/+4
| | | | llvm-svn: 260798
* [libFuzzer] simplify the code around Random. NFCKostya Serebryany2016-02-131-11/+11
| | | | llvm-svn: 260797
* [libFuzzer] remove UserSuppliedFuzzer from the interface (it was a bad idea).Kostya Serebryany2016-02-133-54/+0
| | | | llvm-svn: 260796
* [libFuzzer] provide a plain C interface for custom mutators (experimental)Kostya Serebryany2016-02-133-0/+32
| | | | llvm-svn: 260794
* [libFuzzer] make -runs=N flag also affect the simple runner (will execute ↵Kostya Serebryany2016-02-123-1/+23
| | | | | | every input N times) llvm-svn: 260649
* [libFuzzer] hot fix a testKostya Serebryany2016-02-041-1/+1
| | | | llvm-svn: 259732
* [libFuzzer] don't write the test unit when a leak is detected (since we ↵Kostya Serebryany2016-02-043-0/+15
| | | | | | don't know which unit causes the leak) llvm-svn: 259731
* [libFuzzer] allow passing 1 or more files as individual inputsKostya Serebryany2016-02-021-0/+12
| | | | llvm-svn: 259459
* [libFuzzer] fail if the corpus dir does not existKostya Serebryany2016-02-021-0/+3
| | | | llvm-svn: 259454
* [libFuzzer] add -timeout_exitcode optionKostya Serebryany2016-01-291-0/+1
| | | | llvm-svn: 259265
* [libFuzzer] re-enable test for -abort_on_timeout=1, this time protecting ↵Kostya Serebryany2016-01-291-1/+1
| | | | | | from ASAN_OPTIONS set outside llvm-svn: 259263
* Temporary disable broken fuzzer/timeout tests.Ivan Krasin2016-01-251-1/+1
| | | | | | | | Reviewers: kcc Differential Revision: http://reviews.llvm.org/D16543 llvm-svn: 258702
* [libFuzzer] add -abort_on_timeout optionKostya Serebryany2016-01-231-0/+1
| | | | llvm-svn: 258631
* Use std::piecewise_constant_distribution instead of ad-hoc binary search.Ivan Krasin2016-01-221-1/+21
| | | | | | | | | | | | | | | Summary: Fix the issue with the most recently discovered unit receiving much less attention. Note: this is the second attempt (prev: r258473). Now, libc++ build is fixed. Reviewers: aizatsky, kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16487 llvm-svn: 258571
* Revert r258473 as it's breaking the build with libc++Ivan Krasin2016-01-221-21/+1
| | | | | | | | Reviewers: kcc Differential Revision: http://reviews.llvm.org/D16441 llvm-svn: 258479
* Use std::piecewise_constant_distribution instead of ad-hoc binary search.Ivan Krasin2016-01-221-1/+21
| | | | | | | | | | | | | | | | | | Summary: Fix the issue with the most recently discovered unit receiving much less attention. Note: I had to change the seed for one test to make it pass. Alternatively, the number of runs could be increased. I believe that the average time of 'foo' discovery is not increased, just seed=1 was particularly convenient for the previous PRNG scheme used. Reviewers: aizatsky, kcc Subscribers: llvm-commits, kcc Differential Revision: http://reviews.llvm.org/D16419 llvm-svn: 258473
* [libFuzzer] use std::mt19937 for generating random numbers by default. Fix ↵Kostya Serebryany2016-01-191-0/+3
| | | | | | MyStoll to handle negative values. Use std::any_of instead of std::find_if llvm-svn: 258178
* [libFuzzer] replace vector with a simpler data structure in the Dictionaries ↵Kostya Serebryany2016-01-161-6/+6
| | | | | | to avoid memory allocations on hot path llvm-svn: 257985
* [libFuzzer] introduce LLVMFuzzerInitializeKostya Serebryany2016-01-163-0/+26
| | | | llvm-svn: 257980
* [libFuzzer] do mutations based on memcmp/strcmp interceptors under a ↵Kostya Serebryany2016-01-151-7/+7
| | | | | | separate flag (-use_memcmp, default=1) llvm-svn: 257873
* [libFuzzer] suggest a dictionary to the user of some of the trace-based ↵Kostya Serebryany2016-01-146-3/+30
| | | | | | dictionary entries were successful llvm-svn: 257736
* [libFuzzer] make sure we find buffer overflow in the input buffer. ↵Kostya Serebryany2016-01-133-0/+24
| | | | | | Previously, re-using the same vector object was hiding buffer overflows (unless we used annotated vector) llvm-svn: 257701
* [libFuzzer] change the way trace-based mutations are applied. Instead of a ↵Kostya Serebryany2016-01-091-3/+4
| | | | | | custom code just rely on the automatically created dictionary llvm-svn: 257248
* [libFuzzer] don't limit memcmp tracing with 8 bytesKostya Serebryany2016-01-092-5/+14
| | | | llvm-svn: 257245
* [libFuzzer] add a position hint to the dictionary-based mutatorKostya Serebryany2016-01-073-8/+39
| | | | 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] make trace-based fuzzing not crash in presence of threadsKostya Serebryany2016-01-063-0/+31
| | | | llvm-svn: 256876
* [libFuzzer] split the tests to run them in parallel, remove one redundant testKostya Serebryany2015-12-196-66/+41
| | | | llvm-svn: 256085
* [libFuzzer] make CrossOver just one of the other mutationsKostya Serebryany2015-12-192-7/+7
| | | | 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] compute base64 in-process instead of using an external lib. ↵Kostya Serebryany2015-12-041-0/+13
| | | | | | Since libFuzzer should not depend on anything, just re-implement base64 encoder. PR25746 llvm-svn: 254784
* Libfuzzer: do not pass null into user functionMike Aizatsky2015-12-021-0/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D15098 llvm-svn: 254558
* [libFuzzer] add a test that is built with -fsanitize-coverage=trace-bbKostya Serebryany2015-12-022-0/+22
| | | | llvm-svn: 254484
* [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] add UninstrumentedTest.cpp (missing from a previous commit)Kostya Serebryany2015-11-101-0/+8
| | | | llvm-svn: 252658
* [libFuzzer] make libFuzzer link if there is no sanitizer coverage ↵Kostya Serebryany2015-11-093-0/+27
| | | | | | instrumentation (it will fail at start-up time) llvm-svn: 252533
* [libFuzzer] add -merge flag to merge corporaKostya Serebryany2015-10-241-0/+29
| | | | llvm-svn: 251168
* [libFuzzer] use the indirect caller-callee counter as an independent search ↵Kostya Serebryany2015-10-223-0/+60
| | | | | | heuristic llvm-svn: 251078
* [libFuzzer] remove the deprecated 'tokens' featureKostya Serebryany2015-10-223-28/+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] make LLVMFuzzerTestOneInput (the fuzzer target function) return ↵Kostya Serebryany2015-10-0216-23/+39
| | | | | | int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated. llvm-svn: 249214
* [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-012-0/+2
| | | | | | | | | | -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-083-0/+40
| | | | | | | | | | | | | | | | | 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] add one more mutator: Mutate_ChangeASCIIIntegerKostya Serebryany2015-09-081-0/+31
| | | | llvm-svn: 247027
OpenPOWER on IntegriCloud