1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 04:52:54 +02:00
llvm-mirror/lib/Fuzzer/test
Dan Liew c8948855b6 [LibFuzzer] Declare and use sanitizer functions in `fuzzer::ExternalFunctions`
This fixes linking problems on OSX.

Unfortunately it turns out we need to use an instance of the
``fuzzer::ExternalFunctions`` object in several places so this
commit also replaces all instances with a single global instance.

It also turns out initializing a global ``fuzzer::ExternalFunctions``
before main is entered (i.e. letting the object be initialised by the
global initializers) is not safe (on OSX the call to ``Printf()`` in the
CTOR crashes if it is called from a global initializer) so we instead
have a global ``fuzzer::ExternalFunctions*`` and initialize it inside
``FuzzerDriver()``.

Multiple unit tests depend also depend on the
``fuzzer::ExternalFunctions*`` global so a ``main()`` function has been
added that initializes it before running any tests.

Differential Revision: http://reviews.llvm.org/D20943

llvm-svn: 272072
2016-06-07 23:32:50 +00:00
..
dfsan [LibFuzzer] Refactor declaration of tests in CMake. 2016-05-27 03:14:40 +00:00
trace-bb [LibFuzzer] Refactor declaration of tests in CMake. 2016-05-27 03:14:40 +00:00
trace-pc [LibFuzzer] Refactor declaration of tests in CMake. 2016-05-27 03:14:40 +00:00
ubsan [LibFuzzer] Refactor declaration of tests in CMake. 2016-05-27 03:14:40 +00:00
uninstrumented [LibFuzzer] Refactor declaration of tests in CMake. 2016-05-27 03:14:40 +00:00
unit [fuzzer] Add a gtest-style test 2015-01-30 23:26:57 +00:00
AccumulateAllocationsTest.cpp [libFuzzer] disable leak detection if we have tried it for 1000 times w/o finding a leak 2016-04-27 19:52:34 +00:00
BufferOverflowOnInput.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
CallerCalleeTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
CMakeLists.txt [libfuzzer] custom crossover interface function. 2016-06-07 20:22:15 +00:00
CounterTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
CustomCrossOverTest.cpp [libfuzzer] custom crossover interface function. 2016-06-07 20:22:15 +00:00
CustomMutatorTest.cpp [libFuzzer] simplify FuzzerInterface.h 2016-05-13 18:04:35 +00:00
dict1.txt [libFuzzer] actually make the dictionaries work (+docs) 2015-09-04 00:12:11 +00:00
EmptyTest.cpp [libfuzzer] replacing unittest for truncate_units with functional test. 2016-05-25 21:00:17 +00:00
FourIndependentBranchesTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
FullCoverageSetTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
fuzzer-customcrossover.test [libfuzzer] custom crossover interface function. 2016-06-07 20:22:15 +00:00
fuzzer-custommutator.test [libfuzzer] splitting fuzzer.test 2016-06-03 18:05:22 +00:00
fuzzer-dfsan.test [LibFuzzer] Disable compiling and running the LibFuzzer dataflow sanitizer tests on Apple platforms. 2016-06-02 05:48:09 +00:00
fuzzer-dict.test [libFuzzer] add a position hint to the dictionary-based mutator 2016-01-07 01:49:35 +00:00
fuzzer-dirs.test [libfuzzer] splitting fuzzer.test 2016-06-03 18:05:22 +00:00
fuzzer-drill.test [libFuzzer] split the tests to run them in parallel, remove one redundant test 2015-12-19 03:35:30 +00:00
fuzzer-fdmask.test [libfuzzer] splitting fuzzer.test 2016-06-03 18:05:22 +00:00
fuzzer-finalstats.test [libfuzzer] splitting fuzzer.test 2016-06-03 18:05:22 +00:00
fuzzer-flags.test [libfuzzer] splitting fuzzer.test 2016-06-03 18:05:22 +00:00
fuzzer-fn-adapter.test [libfuzzer] arbitrary function adapter. 2016-03-03 23:45:29 +00:00
fuzzer-leak.test [LibFuzzer] Disable building and running LSan tests on Apple platforms because LSan is not currently supported. 2016-06-07 04:44:39 +00:00
fuzzer-oom-with-profile.test [LibFuzzer] Split the fuzzer-oom.test into two tests. 2016-06-07 21:23:30 +00:00
fuzzer-oom.test [LibFuzzer] Split the fuzzer-oom.test into two tests. 2016-06-07 21:23:30 +00:00
fuzzer-printcovpcs.test [libfuzzer] splitting fuzzer.test 2016-06-03 18:05:22 +00:00
fuzzer-prunecorpus.test [libfuzzer] prune_corpus option for disabling pruning during the load. 2016-06-07 18:16:32 +00:00
fuzzer-runs.test [libfuzzer] splitting fuzzer.test 2016-06-03 18:05:22 +00:00
fuzzer-seed.test [libfuzzer] splitting fuzzer.test 2016-06-03 18:05:22 +00:00
fuzzer-segv.test [libfuzzer] splitting fuzzer.test 2016-06-03 18:05:22 +00:00
fuzzer-singleinputs.test [libfuzzer] splitting fuzzer.test 2016-06-03 18:05:22 +00:00
fuzzer-threaded.test [libFuzzer] fix a use-after-free (!) in libFuzzer caused by r270905: that CL caused a push_back in the main corpus invalidating the vector<> iterators in rare cases. 2016-05-29 15:58:57 +00:00
fuzzer-timeout.test [libFuzzer] try to print correct time in seconds when reporting a timeout. Don't report timeouts while still loading the corpus. 2016-04-18 22:50:39 +00:00
fuzzer-trace-pc.test [libFuzzer] fixing the bot 2016-02-27 03:14:23 +00:00
fuzzer-traces.test [libFuzzer] make check-fuzzer a bit faster 2016-05-27 01:12:21 +00:00
fuzzer-trunc.test [libfuzzer] replacing unittest for truncate_units with functional test. 2016-05-25 21:00:17 +00:00
fuzzer-ubsan.test [libFuzzer] add a test for libFuzzer+ubsan, extend the docs on using libFuzzer+ubsan 2016-05-09 21:02:36 +00:00
fuzzer.test [libfuzzer] splitting fuzzer.test 2016-06-03 18:05:22 +00:00
FuzzerFnAdapterUnittest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
FuzzerUnittest.cpp [LibFuzzer] Declare and use sanitizer functions in `fuzzer::ExternalFunctions` 2016-06-07 23:32:50 +00:00
hi.txt [LibFuzzer] test_single_input option to run a single test case. 2015-10-01 23:23:06 +00:00
InitializeTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
LeakTest.cpp [libFuzzer] added -detect_leaks flag (0 by default for now). When enabled, it will help finding leaks while fuzzing 2016-04-20 00:24:21 +00:00
LeakTimeoutTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
lit.cfg [LibFuzzer] Split the fuzzer-oom.test into two tests. 2016-06-07 21:23:30 +00:00
lit.site.cfg.in [LibFuzzer] Disable building and running LSan tests on Apple platforms because LSan is not currently supported. 2016-06-07 04:44:39 +00:00
MemcmpTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
merge.test [libFuzzer] improve -merge functionality 2016-03-18 00:23:29 +00:00
NthRunCrashTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
NullDerefOnEmptyTest.cpp [libFuzzer] print stats if we crash on empty input 2016-05-25 00:15:36 +00:00
NullDerefTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
OutOfMemoryTest.cpp [libFuzzer] enhance -rss_limit_mb and enable by default. Now it will print the OOM reproducer. 2016-05-06 23:38:07 +00:00
RepeatedMemcmp.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
SignedIntOverflowTest.cpp [libFuzzer] add a test for libFuzzer+ubsan, extend the docs on using libFuzzer+ubsan 2016-05-09 21:02:36 +00:00
SimpleCmpTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
SimpleDictionaryTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
SimpleFnAdapterTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
SimpleHashTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
SimpleTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
SimpleThreadedTest.cpp [libFuzzer] more refactoring around CurrentUnit. Also add a threading test on which we currently have a race (when reporting bugs from multiple threads) 2016-05-26 22:17:32 +00:00
SpamyTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
StrcmpTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
StrncmpTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
SwitchTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
ThreadedTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
TimeoutTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
UninstrumentedTest.cpp [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00