summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/test
Commit message (Collapse)AuthorAgeFilesLines
* [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
* [libFuzzer] actually make the dictionaries work (+docs)Kostya Serebryany2015-09-045-10/+103
| | | | llvm-svn: 246825
* [libFuzzer] refactor the mutation functions so that they are now methods of ↵Kostya Serebryany2015-09-031-19/+25
| | | | | | a class. NFC llvm-svn: 246808
* [libFuzzer] adding a parser for AFL-style dictionaries + tests.Kostya Serebryany2015-09-031-0/+48
| | | | llvm-svn: 246800
* [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-122-4/+4
| | | | | | trace-based-mutations are applied llvm-svn: 244712
* [libFuzzer] move the mutators to public interface so that custom mutators ↵Kostya Serebryany2015-08-061-2/+2
| | | | | | may reuse these functions directly llvm-svn: 244250
* [libFuzzer] add one more mutation strategy: byte shufflingKostya Serebryany2015-08-061-0/+23
| | | | llvm-svn: 244188
* [libFuzzer] add a missing test fileKostya Serebryany2015-08-051-0/+28
| | | | llvm-svn: 244151
* [libFuzzer] use data-flow feedback from strcmpKostya Serebryany2015-08-053-0/+8
| | | | llvm-svn: 244084
* [libFuzzer] more refactoring of the Mutator and adding tests to itKostya Serebryany2015-08-011-12/+98
| | | | llvm-svn: 243818
* [libFuzzer] start refactoring the Mutator and adding tests to itKostya Serebryany2015-08-012-6/+44
| | | | llvm-svn: 243817
* [libFuzzer] make sure that 2-byte arguments of switch() are handled properlyKostya Serebryany2015-07-312-3/+22
| | | | llvm-svn: 243781
* [libFuzzer] support switch interception in dfsan modeKostya Serebryany2015-07-313-2/+7
| | | | llvm-svn: 243760
* [libFuzzer] trace switch statements and apply mutations based on the ↵Kostya Serebryany2015-07-313-0/+39
| | | | | | expected case values llvm-svn: 243726
* [libFuzzer] fix the strncmp interceptor -- it should respect short strings. Kostya Serebryany2015-07-302-1/+5
| | | | llvm-svn: 243691
* [libFuzzer] implement strncmp hook for data-flow-guided fuzzing (w/ and w/o ↵Kostya Serebryany2015-07-305-2/+31
| | | | | | dfsan), add a test llvm-svn: 243611
* [libFuzzer] implement memcmp hook for data-flow-guided fuzzing (w/o dfsan), ↵Kostya Serebryany2015-07-304-3/+12
| | | | | | extend the memcmp fuzzer test llvm-svn: 243603
* [libFuzzer] ensure that the dfsan tracing hooks actually run (using ↵Kostya Serebryany2015-07-281-0/+3
| | | | | | -verbosity=3 in tests) llvm-svn: 243365
* [libFuzzer] allow users to supply their own implementation of randKostya Serebryany2015-07-242-2/+6
| | | | llvm-svn: 243078
* [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-213-14/+15
| | | | llvm-svn: 242851
* [Fuzzer] Clearly separate regular and DFSan tests. NFC.Alexey Samsonov2015-07-215-7/+10
| | | | 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-224-2/+69
| | | | llvm-svn: 238059
* [lib/Fuzzer] change the meaning of -timeout flag: now timeout is applied to ↵Kostya Serebryany2015-05-192-1/+5
| | | | | | every unit of work separately llvm-svn: 237735
* [lib/Fuzzer] Add SHA1 implementation from public domain.Kostya Serebryany2015-05-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | Summary: This adds a SHA1 implementation taken from public domain code. The change is trivial, but as it involves third-party code I'd like a second pair of eyes before commit. LibFuzzer can not use SHA1 from openssl because openssl may not be available and because we may be fuzzing openssl itself. Using sha1sum via a pipe is too slow. Test Plan: n/a Reviewers: chandlerc Reviewed By: chandlerc Subscribers: majnemer, llvm-commits Differential Revision: http://reviews.llvm.org/D9733 llvm-svn: 237400
* [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-085-10/+12
| | | | llvm-svn: 236909
* [lib/Fuzzer] use -fsanitize-coverage=trace-cmp when building LLVM with ↵Kostya Serebryany2015-05-081-1/+1
| | | | | | LLVM_USE_SANITIZE_COVERAGE; in lib/Fuzzer try to reload the corpus to pick up new units from other processes llvm-svn: 236906
* Update CMake flags, LibFuzzer comments and docs for new -fsanitize-coverage= ↵Alexey Samsonov2015-05-071-1/+1
| | | | | | flags. llvm-svn: 236797
* [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-075-17/+20
| | | | | | simplify the test runner llvm-svn: 236683
* [lib/Fuzzer] remove dfsan_fuzzer_abi.list -- its contents are now moved to ↵Kostya Serebryany2015-05-061-4/+1
| | | | | | dfsan proper llvm-svn: 236659
* [lib/Fuzzer] add a fuzzer test for memcmp (does not work yet) Kostya Serebryany2015-05-062-0/+9
| | | | llvm-svn: 236656
OpenPOWER on IntegriCloud