summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/test
Commit message (Collapse)AuthorAgeFilesLines
* Moving libFuzzer from LLVM to compiler-rt.George Karpenkov2017-08-21149-3541/+0
| | | | | | | | | This change only removes libFuzzer tests and CMake machinery, the source copy temporarily remains at the old location. Differential Revision: https://reviews.llvm.org/D36980 llvm-svn: 311405
* Get rid of even more "%T" expansions, see <https://reviews.llvm.org/D35396>.Kuba Mracek2017-08-202-2/+4
| | | | llvm-svn: 311294
* [libFuzzer] explicitly use -fsanitize-coverage=trace-pc-guard in ↵Kostya Serebryany2017-08-142-5/+5
| | | | | | test/dump_coverage.test; mark print_coverage/dump_coverage as To-be-deprecated llvm-svn: 310877
* [libFuzzer] experimental support for Clang's coverage ↵Kostya Serebryany2017-08-111-0/+7
| | | | | | (fprofile-instr-generate), Linux-only llvm-svn: 310771
* [libFuzzer] Re-enable coverage.test on Darwin.George Karpenkov2017-08-111-2/+0
| | | | llvm-svn: 310750
* [libFuzzer] simplify the implementation of -print_coverage=1Kostya Serebryany2017-08-081-7/+4
| | | | llvm-svn: 310324
* [libFuzzer] use the in-binary pc table (instead of PCs captured at run-time) ↵Kostya Serebryany2017-08-043-7/+13
| | | | | | to implement -exit_on_src_pos llvm-svn: 310151
* [libFuzzer] re-enable fuzzer-printcovpcs.testKostya Serebryany2017-08-041-1/+1
| | | | llvm-svn: 310126
* [libFuzzer] make a test more robustKostya Serebryany2017-08-041-1/+1
| | | | llvm-svn: 310113
* [libFuzzer] remove the now redundant 'LLVMFuzzer-' prefix from libFuzzer testsKostya Serebryany2017-08-0465-241/+241
| | | | llvm-svn: 310110
* [libFuzzer] split one test into severalKostya Serebryany2017-08-047-24/+24
| | | | llvm-svn: 310106
* [libFuzzer tests] Only enable libFuzzer tests ifGeorge Karpenkov2017-08-041-17/+14
| | | | | | -DLIBFUZZER_ENABLE_TESTS=ON is set. llvm-svn: 310100
* [libFuzzer] make trace-pc.test more reliableKostya Serebryany2017-08-041-1/+1
| | | | llvm-svn: 310091
* Fixing buildbots: do not register check-fuzzer if clang or asan are notGeorge Karpenkov2017-08-041-12/+15
| | | | | | present. llvm-svn: 310077
* Drop Windows support from libFuzzer tests.George Karpenkov2017-08-049-55/+5
| | | | | | Differential Revision: https://reviews.llvm.org/D36205 llvm-svn: 310076
* Port libFuzzer tests to LIT. Do not require two-stage build for check-fuzzer.George Karpenkov2017-08-0471-429/+333
| | | | | | | | | | | | | | | | | | | | | This revision ports all libFuzzer tests apart from the unittest to LIT. The advantages of doing so include: - Tests being self-contained - Much easier debugging of a single test - No need for using a two-stage compilation The unit-test is still compiled using CMake, but it does not need a freshly built compiler. NOTE: The previous two-stage bot configuration will NOT work, as in the second stage build LLVM_USE_SANITIZER is set, which disables ASAN from being built. Thus bots will be reconfigured in the next few commits. Differential Revision: https://reviews.llvm.org/D36295 llvm-svn: 310075
* [libFuzzer] Un-reverting change in tests after fixing the failure on Linux.George Karpenkov2017-08-031-1/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D36242 llvm-svn: 309982
* Revert "[libFuzzer tests] Use substring comparison in libFuzzer tests"George Karpenkov2017-08-021-1/+1
| | | | | | | | This reverts commit 3592d8049660dcdd07f7c2e797f2de9790f93111. Breaks the bots, reverting for now. llvm-svn: 309899
* [libFuzzer tests] Use substring comparison in libFuzzer testsGeorge Karpenkov2017-08-021-1/+1
| | | | | | | | | LIT launches executables with absolute, and not relative, path. strncmp would try to do exact comparison and fail. Differential Revision: https://reviews.llvm.org/D36242 llvm-svn: 309889
* [libFuzzer] temporarty remove pc-tables and disable ↵Kostya Serebryany2017-08-012-2/+3
| | | | | | test/fuzzer-printcovpcs.test until this can be fixed on Windows llvm-svn: 309716
* [libFuzzer] implement more correct way of computing feature index for ↵Kostya Serebryany2017-08-011-1/+3
| | | | | | Inline8bitCounters llvm-svn: 309647
* [libFuzzer] enable -fsanitize-coverage=pc-table for all testsKostya Serebryany2017-08-012-2/+2
| | | | llvm-svn: 309646
* [libFuzzer] implement __sanitizer_cov_pcs_init and add pc-table to build ↵Kostya Serebryany2017-07-311-1/+1
| | | | | | flags for one test (for now) llvm-svn: 309615
* [libFuzzer] improve support for inline-8bit-counters (make it more correct ↵Kostya Serebryany2017-07-281-1/+1
| | | | | | and faster) llvm-svn: 309443
* [libFuzzer] make one test faster, fix compiler warnings in testsKostya Serebryany2017-07-254-4/+4
| | | | llvm-svn: 308945
* Revert "Revert "[libFuzzer] Add a dependency on symbolizer from libFuzzer ↵George Karpenkov2017-07-241-1/+1
| | | | | | | | | | tests"" This reverts commit 15425f2bc6eac6249ee957a2a280511306c07547. Should work now that atos is a default symbolizer on Darwin. llvm-svn: 308910
* Generate error reports when a fuzz target exits.Matt Morehouse2017-07-2018-20/+36
| | | | | | | | | | | | | | | | | | | | | | Summary: Implements https://github.com/google/sanitizers/issues/835. Flush stdout before exiting in test cases. Since the atexit hook is used for exit reports, pending prints to stdout can be lost if they aren't flushed before calling exit(). Expect tests to have non-zero exit code if exit() is called. Reviewers: vitalybuka, kcc Reviewed By: kcc Subscribers: eraman, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D35602 llvm-svn: 308669
* [libFuzzer] make sure CheckExitOnSrcPosOrItem is called after the new input ↵Kostya Serebryany2017-07-201-1/+1
| | | | | | is saved to the corpus llvm-svn: 308653
* [libFuzzer] prototype implementation of recursion-depth coverage features ↵Kostya Serebryany2017-07-201-2/+2
| | | | | | (commented out; real implementation needs to use inlined instrumentation) llvm-svn: 308577
* [libFuzzer] add DeepRecursionTest, inspired by ↵Kostya Serebryany2017-07-202-0/+26
| | | | | | https://guidovranken.wordpress.com/2017/07/08/libfuzzer-gv-new-techniques-for-dramatically-faster-fuzzing/ (Stack-depth-guided fuzzing). libFuzzer does not solve it yet. llvm-svn: 308571
* Try to deflake fuzzer-oom.test on WindowsReid Kleckner2017-07-201-1/+5
| | | | llvm-svn: 308568
* [libFuzzer] simplify two more testsKostya Serebryany2017-07-192-3/+3
| | | | llvm-svn: 308560
* [libFuzzer] change several tests to not limit the max len: with ↵Kostya Serebryany2017-07-196-7/+5
| | | | | | reduce_inputs=1 they are now fast enough even w/o this llvm-svn: 308553
* Fix fuzzer-flags.test on WindowsReid Kleckner2017-07-192-3/+1
| | | | | | | | | | | The optional external function callbacks have to be exported in order for them to be called. The test was failing because libFuzzer wasn't calling LLVMFuzzerInitialize. We can reconsider if this is the best way to mark these optional callbacks exported later. llvm-svn: 308548
* [libFuzzer] enable reduce_inputs=1 by default (seems to be a big win usually)Kostya Serebryany2017-07-192-4/+4
| | | | llvm-svn: 308541
* [libFuzzer] improve -reduce_inputs=1: now only consider the unique features ↵Kostya Serebryany2017-07-181-1/+2
| | | | | | of very input (seems to work much better) llvm-svn: 308253
* [libFuzzer] disable fuzzer-flags.test on windows to fix the botsKostya Serebryany2017-07-181-0/+3
| | | | llvm-svn: 308246
* Revert "[libFuzzer] Add a dependency on symbolizer from libFuzzer tests"George Karpenkov2017-07-171-1/+1
| | | | | | | | This reverts commit 546e006a023cccd0fd32afd442ab992d3515d4b8. Reverting until I can figure out llvm-symbolizer breakages on mac os. llvm-svn: 308202
* [libFuzzer] remove stale codeKostya Serebryany2017-07-151-1/+1
| | | | llvm-svn: 308075
* [libFuzzer] Allow non-fuzzer args after -ignore_remaining_args=1Justin Bogner2017-07-143-3/+44
| | | | | | | | | | | With this change, libFuzzer will ignore any arguments after a sigil argument, but it will preserve these arguments at the end of the command line when launching subprocesses. Using this, its possible to handle positional and single-dash arguments to the program under test by discarding everything up to -ignore_remaining_args=1 in LLVMFuzzerInitialize. llvm-svn: 308069
* [libFuzzer] remove stale code; NFCKostya Serebryany2017-07-141-29/+0
| | | | llvm-svn: 307980
* [libFuzzer] simplify the handling of memmem/strstrKostya Serebryany2017-07-141-1/+1
| | | | llvm-svn: 307977
* [libFuzzer] make sure that -reduce_inputs=1 deletes redundant files in the ↵Kostya Serebryany2017-07-131-1/+12
| | | | | | corpus llvm-svn: 307875
* [libFuzzer] experimental feature -reduce_inputs (off by default) that tries ↵Kostya Serebryany2017-07-135-2/+24
| | | | | | to replace elements in the corpus with smaller ones that have the same feature set. Still needs tuning llvm-svn: 307873
* [libFuzzer] relax test/shrink.test a bit (got broken on windows)Kostya Serebryany2017-07-121-1/+1
| | | | llvm-svn: 307862
* [libFuzzer] Add a dependency on symbolizer from libFuzzer testsGeorge Karpenkov2017-07-121-1/+1
| | | | | | | | | Some libFuzzer tests on Linux would fail with bizarre error messages unless llvm-symbolizer binary is present. Differential Revision: https://reviews.llvm.org/D35313 llvm-svn: 307826
* [libFuzzer] Do not use LLVM ostream in testsGeorge Karpenkov2017-07-121-0/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D35312 llvm-svn: 307824
* [libFuzzer] change the default max_len from 64 to 4096. This will affect ↵Kostya Serebryany2017-06-157-5/+12
| | | | | | cases where libFuzzer is run w/o initial corpus or with a corpus of very small items. llvm-svn: 305521
* Fixing section name for Darwin platforms for sanitizer coverageGeorge Karpenkov2017-06-141-1/+1
| | | | | | On Darwin, section names have a 16char length limit. llvm-svn: 305429
* [libFuzzer] really restrict the new test to Linux (fails on Mac/Windows ↵Kostya Serebryany2017-06-141-1/+3
| | | | | | currently) llvm-svn: 305346
OpenPOWER on IntegriCloud