llvm-project/compiler-rt/test/fuzzer
Max Moroz 8a5083df53 [libFuzzer] Mutation tracking and logging implemented.
Summary:
Code now exists to track number of mutations that are used in fuzzing in total
and ones that produce new coverage. The stats are currently being dumped to the
command line.

Patch by Kodé Williams (@kodewilliams).

Reviewers: metzman, Dor1s, morehouse, kcc

Reviewed By: Dor1s, morehouse, kcc

Subscribers: delcypher, kubamracek, kcc, morehouse, llvm-commits, #sanitizers, mgorny

Differential Revision: https://reviews.llvm.org/D48054

llvm-svn: 337194
2018-07-16 17:50:46 +00:00
..
unit
AFLDriverTest.cpp
AbsNegAndConstant64Test.cpp [libFuzzer] Avoid optimization of "abs(x) < 0" 2018-05-25 18:27:12 +00:00
AbsNegAndConstantTest.cpp [libFuzzer] Avoid optimization of "abs(x) < 0" 2018-05-25 18:27:12 +00:00
AccumulateAllocationsTest.cpp
AcquireCrashStateTest.cpp [libFuzzer] Report at most one crash per input. 2018-05-01 21:01:53 +00:00
BadStrcmpTest.cpp
Bingo.h [libFuzzer] Guard symbolization with try-lock. 2018-05-08 23:45:05 +00:00
BogusInitializeTest.cpp
BufferOverflowOnInput.cpp
CMakeLists.txt [libFuzzer] Add msan and dfsan to test deps. 2018-07-16 17:37:15 +00:00
CallerCalleeTest.cpp
CleanseTest.cpp [NFC] fix trivial typos in comments 2018-01-22 07:51:37 +00:00
CounterTest.cpp
CustomCrossOverAndMutateTest.cpp
CustomCrossOverTest.cpp [libFuzzer] simplify CustomCrossOverTest even more 2017-09-07 05:33:05 +00:00
CustomMutatorTest.cpp
CxxStringEqTest.cpp
DSO1.cpp
DSO2.cpp
DSOTestExtra.cpp
DSOTestMain.cpp
DeepRecursionTest.cpp
DivTest.cpp
EmptyTest.cpp
EquivalenceATest.cpp
EquivalenceBTest.cpp
ExplodeDFSanLabelsTest.cpp [libFuzzer] add a stress test for the DataFlow tracer 2018-05-23 20:23:33 +00:00
FlagsTest.cpp [libFuzzer] tweam use_feature_frequency to be less aggressive; run a dummy input before the seed corpus 2017-10-13 01:12:23 +00:00
FourIndependentBranchesTest.cpp
FullCoverageSetTest.cpp
GcSectionsTest.cpp [libFuzzer] add linux-specific test for gc-sections 2017-09-15 23:07:18 +00:00
InitializeTest.cpp [sanitizer-coverage] extend fsanitize-coverage=pc-table with flags for every PC 2017-08-25 19:29:47 +00:00
LargeTest.cpp
LeakTest.cpp [libFuzzer] Place volatile after pointer types. 2018-03-27 16:40:20 +00:00
LeakTimeoutTest.cpp
LoadTest.cpp
Memcmp64BytesTest.cpp
MemcmpTest.cpp
MultipleConstraintsOnSmallInputTest.cpp [libFuzzer] rename a test from .c to .cpp 2018-05-16 23:38:53 +00:00
NotinstrumentedTest.cpp
NthRunCrashTest.cpp
NullDerefOnEmptyTest.cpp
NullDerefTest.cpp [libFuzzer] simplify a test, hopefully to fix the bot 2018-06-07 01:18:43 +00:00
OneHugeAllocTest.cpp
OnlySomeBytesTest.cpp [libFuzzer] add an experimental flag -focus_function: libFuzzer will try to focus on inputs that trigger that function 2018-05-16 23:26:37 +00:00
OutOfMemorySingleLargeMallocTest.cpp
OutOfMemoryTest.cpp
OverwriteInputTest.cpp
PrintFuncTest.cpp [libFuzzer] add -print_funcs=1 (on bey default): print newly discovered functions during fuzzing 2017-08-25 20:09:25 +00:00
PrintUnstableStatsTest.cpp [libFuzzer] Implement stat::stability_rate based on the percentage of unstable edges. 2018-07-16 16:01:31 +00:00
RepeatedBytesTest.cpp
RepeatedMemcmp.cpp
ShrinkControlFlowSimpleTest.cpp
ShrinkControlFlowTest.cpp
ShrinkValueProfileTest.cpp [libFuzzer] add one more value profile metric, under a flag (experimental) 2018-07-03 22:33:09 +00:00
SignedIntOverflowTest.cpp
SimpleCmpTest.cpp [libFuzzer] Use OptForFuzzing attribute with -fsanitize=fuzzer. 2018-03-23 23:35:28 +00:00
SimpleDictionaryTest.cpp
SimpleHashTest.cpp
SimpleTest.cpp
SimpleThreadedTest.cpp
SingleByteInputTest.cpp
SingleMemcmpTest.cpp
SingleStrcmpTest.cpp
SingleStrncmpTest.cpp
SleepOneSecondTest.cpp [libFuzzer] handle SIGUSR1/SIGUSR2 and try to exit grafully on these signals 2017-11-09 20:30:19 +00:00
SpamyTest.cpp
StrcmpTest.cpp
StrncmpOOBTest.cpp
StrncmpTest.cpp
StrstrTest.cpp
SwapCmpTest.cpp [libFuzzer] Use OptForFuzzing attribute with -fsanitize=fuzzer. 2018-03-23 23:35:28 +00:00
Switch2Test.cpp
SwitchTest.cpp
SymbolizeDeadlock.cpp [libFuzzer] Guard symbolization with try-lock. 2018-05-08 23:45:05 +00:00
TableLookupTest.cpp
ThreadedLeakTest.cpp [libFuzzer] Place volatile after pointer types. 2018-03-27 16:40:20 +00:00
ThreadedTest.cpp
ThreeBytes.cpp [libFuzzer] add a tiny and surprisingly hard puzzle 2018-07-03 21:17:55 +00:00
ThreeFunctionsTest.cpp [libFuzzer] initial implementation of -data_flow_trace. It parses the data flow trace and prints the summary, but doesn't use the information in any other way yet 2018-06-06 01:23:29 +00:00
TimeoutEmptyTest.cpp
TimeoutTest.cpp
TraceMallocTest.cpp
TraceMallocThreadedTest.cpp [libFuzzer] Place volatile after pointer types. 2018-03-27 16:40:20 +00:00
TwoDifferentBugsTest.cpp
UninitializedStrlen.cpp [libFuzzer] Make -fsanitize=memory,fuzzer work. 2018-07-09 23:51:08 +00:00
UseAfterDtor.cpp [libFuzzer] Make -fsanitize=memory,fuzzer work. 2018-07-09 23:51:08 +00:00
acquire-crash-state.test [libFuzzer] [NFC] Remaining minor fixes to support testing on devices. 2018-06-14 22:13:36 +00:00
afl-driver-extra-stats.test [libFuzzer] XFAIL a few libFuzzer tests on iOS. 2018-05-24 23:55:52 +00:00
afl-driver-stderr.test [libFuzzer] XFAIL a few libFuzzer tests on iOS. 2018-05-24 23:55:52 +00:00
afl-driver.test Revert "[Fuzzer] Afl driver changing iterations handling" 2018-07-10 19:58:42 +00:00
bad-strcmp.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
bogus-initialize.test [libFuzzer] [NFC] Split fuzzer.test into smaller tests 2018-05-11 21:29:53 +00:00
buffer-overflow-on-input.test [libFuzzer] [NFC] Split fuzzer.test into smaller tests 2018-05-11 21:29:53 +00:00
caller-callee.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
cleanse.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
counters.test [libFuzzer] Disable hanging tests on AArch64 2018-07-06 17:06:01 +00:00
coverage.test [libFuzzer] Mark several tests UNSUPPORTED for aarch64. 2018-06-26 18:37:09 +00:00
cxxstring.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
dataflow.test [libFuzzer] Disable dataflow.test on AArch64. 2018-07-10 20:45:36 +00:00
deep-recursion.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
dict1.txt
disable-leaks.test [libFuzzer] Disable hanging tests on AArch64 2018-07-06 17:06:01 +00:00
dso.test [libFuzzer] [NFC] Generalize DSO tests to work even when files are moved. 2018-06-14 20:30:04 +00:00
dump_coverage.test [FileCheck] Add -allow-deprecated-dag-overlap to another compiler-rt test 2018-07-11 22:07:31 +00:00
equivalence-signals.test [libFuzzer] deprecate equivalence_server 2018-05-15 01:15:47 +00:00
equivalence.test [libFuzzer] deprecate equivalence_server 2018-05-15 01:15:47 +00:00
exit-report.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
exit_on_src_pos.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
extra-counters.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
full-coverage-set.test [libFuzzer] [NFC] Split fuzzer.test into smaller tests 2018-05-11 21:29:53 +00:00
fuzzer-customcrossover.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-customcrossoverandmutate.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-custommutator.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-dict.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-dirs.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-fdmask.test [libFuzzer] [NFC] Generalize fdmask test. 2018-05-24 23:55:54 +00:00
fuzzer-finalstats.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-flags.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-leak.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-mutationstats.test [libFuzzer] Mutation tracking and logging implemented. 2018-07-16 17:50:46 +00:00
fuzzer-oom-with-profile.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-oom.test [libFuzzer] Disable hanging tests on AArch64 2018-07-06 17:06:01 +00:00
fuzzer-printcovpcs.test [libFuzzer] Mark several tests UNSUPPORTED for aarch64. 2018-06-26 18:37:09 +00:00
fuzzer-runs.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-seed.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-segv.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-singleinputs.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-threaded.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-timeout.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
fuzzer-ubsan.test [libFuzzer] [NFC] Remaining minor fixes to support testing on devices. 2018-06-14 22:13:36 +00:00
gc-sections.test [SanitizerCoverage] Add associated metadata to 8-bit counters. 2018-07-12 20:24:58 +00:00
hi.txt
initialize.test [libFuzzer] [NFC] Split fuzzer.test into smaller tests 2018-05-11 21:29:53 +00:00
lit.cfg [LibFuzzer] Disable MSan test on Darwin which was added by r336619. The MemorySanitizer is 2018-07-10 13:35:35 +00:00
lit.site.cfg.in Support for multiarch runtimes layout 2018-06-28 03:11:52 +00:00
max-number-of-runs.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
memcmp.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
memcmp64.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
merge-control-file.test [libFuzzer] [NFC] Remaining minor fixes to support testing on devices. 2018-06-14 22:13:36 +00:00
merge-posix.test [libFuzzer] XFAIL a few libFuzzer tests on iOS. 2018-05-24 23:55:52 +00:00
merge-sigusr.test [libFuzzer] [NFC] [Tests] Mark signal handling tests as UNSUPPORTED on Darwin 2018-06-27 23:11:24 +00:00
merge-summary.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
merge.test [libFuzzer] XFAIL a few libFuzzer tests on iOS. 2018-05-24 23:55:52 +00:00
minimize_crash.test [libFuzzer] [NFC] Do not use hardcoded relative paths in tests. 2018-06-12 21:14:33 +00:00
minimize_two_crashes.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
msan.test [LibFuzzer] Disable MSan test on Darwin which was added by r336619. The MemorySanitizer is 2018-07-10 13:35:35 +00:00
not-instrumented.test [libFuzzer] [NFC] Split fuzzer.test into smaller tests 2018-05-11 21:29:53 +00:00
null-deref-on-empty.test [libFuzzer] [NFC] Split fuzzer.test into smaller tests 2018-05-11 21:29:53 +00:00
null-deref.test [libFuzzer] [NFC] Split fuzzer.test into smaller tests 2018-05-11 21:29:53 +00:00
only-some-bytes.test [libFuzzer] make the corpus elements aware of their data flow traces 2018-06-07 01:40:20 +00:00
overwrite-input.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
print-func.test [libFuzzer] Mark several tests UNSUPPORTED for aarch64. 2018-06-26 18:37:09 +00:00
print_unstable_stats.test [libFuzzer] Implement stat::stability_rate based on the percentage of unstable edges. 2018-07-16 16:01:31 +00:00
recommended-dictionary.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
reduce_inputs.test [libFuzzer] [Tests] [NFC] Change seed for reduce_inputs.test 2018-06-28 00:39:50 +00:00
repeated-bytes.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
shrink.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
sigusr.test [libFuzzer] [NFC] [Tests] Mark signal handling tests as UNSUPPORTED on Darwin 2018-06-27 23:11:24 +00:00
simple-cmp.test [libFuzzer] [NFC] Split fuzzer.test into smaller tests 2018-05-11 21:29:53 +00:00
simple.test [libFuzzer] [NFC] Split fuzzer.test into smaller tests 2018-05-11 21:29:53 +00:00
standalone.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
strcmp.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
strncmp-oob.test [libFuzzer] [NFC] Split fuzzer.test into smaller tests 2018-05-11 21:29:53 +00:00
strncmp.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
strstr.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
swap-cmp.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
symbolize-deadlock.test [libFuzzer] [NFC] Remaining minor fixes to support testing on devices. 2018-06-14 22:13:36 +00:00
target-function.test [libFuzzer] Mark several tests UNSUPPORTED for aarch64. 2018-06-26 18:37:09 +00:00
three-bytes.test [fuzzer] [tests] Increase the number of iterations for three-bytes.test 2018-07-13 01:21:50 +00:00
trace-malloc-2.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
trace-malloc-threaded.test [libFuzzer] Mark several tests UNSUPPORTED for aarch64. 2018-06-26 18:37:09 +00:00
trace-malloc-unbalanced.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
trace-malloc.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
trace-pc.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
ulimit.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
value-profile-cmp.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
value-profile-cmp2.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
value-profile-cmp3.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
value-profile-cmp4.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
value-profile-div.test [libFuzzer] Mark several tests UNSUPPORTED for aarch64. 2018-06-26 18:37:09 +00:00
value-profile-load.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
value-profile-mem.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
value-profile-set.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
value-profile-strcmp.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
value-profile-strncmp.test [libFuzzer] [NFC] Prefix all run lines with %run 2018-05-11 21:29:51 +00:00
value-profile-switch.test [libFuzzer] [NFC] XFAIL one of the tests on iOS. 2018-06-14 22:18:18 +00:00