blob: ff46d32b387d74e855c87399c34c734bccd98ca3 [file] [log] [blame]
Kostya Serebryanya407dde2015-05-07 00:11:33 +00001CHECK: BINGO
Kostya Serebryanybf656442015-12-19 03:35:30 +00002Done1000000: Done 1000000 runs in
Kostya Serebryanya407dde2015-05-07 00:11:33 +00003
Alexey Samsonov4800c2d2015-07-21 22:51:55 +00004RUN: LLVMFuzzer-SimpleTest 2>&1 | FileCheck %s
Aaron Ballmanef116982015-01-29 16:58:29 +00005
Kostya Serebryanyf1f3f932016-05-26 20:03:02 +00006# only_ascii mode. Will perform some minimal self-validation.
7RUN: LLVMFuzzer-SimpleTest -only_ascii=1 2>&1
8
Kostya Serebryanybcfb0802016-10-27 21:44:37 +00009RUN: LLVMFuzzer-SimpleCmpTest -max_total_time=1 -use_cmp=0 2>&1 | FileCheck %s --check-prefix=MaxTotalTime
Kostya Serebryanyb85db172015-10-02 20:47:55 +000010MaxTotalTime: Done {{.*}} runs in {{.}} second(s)
11
Kostya Serebryany470d0442016-05-27 21:46:22 +000012RUN: not LLVMFuzzer-NullDerefTest 2>&1 | FileCheck %s --check-prefix=NullDerefTest
13RUN: not LLVMFuzzer-NullDerefTest -close_fd_mask=3 2>&1 | FileCheck %s --check-prefix=NullDerefTest
Marcos Pividori51f907f2017-02-08 00:02:25 +000014NullDerefTest: ERROR: AddressSanitizer: {{SEGV|access-violation}} on unknown address
Kostya Serebryanybd5d1cd2015-10-09 03:57:59 +000015NullDerefTest: Test unit written to ./crash-
16RUN: not LLVMFuzzer-NullDerefTest -artifact_prefix=ZZZ 2>&1 | FileCheck %s --check-prefix=NullDerefTestPrefix
17NullDerefTestPrefix: Test unit written to ZZZcrash-
Kostya Serebryany2d0ef142015-11-25 21:40:46 +000018RUN: not LLVMFuzzer-NullDerefTest -artifact_prefix=ZZZ -exact_artifact_path=FOOBAR 2>&1 | FileCheck %s --check-prefix=NullDerefTestExactPath
19NullDerefTestExactPath: Test unit written to FOOBAR
Kostya Serebryany2c1b33b2015-01-29 23:01:07 +000020
Kostya Serebryanyff2e6ba2016-05-25 00:15:36 +000021RUN: not LLVMFuzzer-NullDerefOnEmptyTest -print_final_stats=1 2>&1 | FileCheck %s --check-prefix=NULL_DEREF_ON_EMPTY
22NULL_DEREF_ON_EMPTY: stat::number_of_executed_units:
23
Kostya Serebryany65d0a142015-10-02 22:00:32 +000024#not LLVMFuzzer-FullCoverageSetTest -timeout=15 -seed=1 -mutate_depth=2 -use_full_coverage_set=1 2>&1 | FileCheck %s
Kostya Serebryany2e3622b2015-02-20 03:02:37 +000025
Kostya Serebryany2f962fe2016-12-10 02:45:56 +000026RUN: not LLVMFuzzer-CounterTest -max_len=6 -seed=1 -timeout=15 2>&1 | FileCheck %s --check-prefix=COUNTERS
Kostya Serebryanya5277d52016-09-15 01:30:18 +000027
Kostya Serebryany1c73f1b2016-10-05 22:56:21 +000028COUNTERS: INITED {{.*}} {{bits:|ft:}}
29COUNTERS: NEW {{.*}} {{bits:|ft:}} {{[1-9]*}}
30COUNTERS: NEW {{.*}} {{bits:|ft:}} {{[1-9]*}}
Kostya Serebryanya5277d52016-09-15 01:30:18 +000031COUNTERS: BINGO
Kostya Serebryany16d03bd2015-03-30 22:09:51 +000032
Kostya Serebryany035af9b2016-12-12 20:58:10 +000033# Don't run UninstrumentedTest for now since we build libFuzzer itself with asan.
34DISABLED: not LLVMFuzzer-UninstrumentedTest-Uninstrumented 2>&1 | FileCheck %s --check-prefix=UNINSTRUMENTED
Kostya Serebryany5eab74e2015-11-09 23:17:45 +000035UNINSTRUMENTED: ERROR: __sanitizer_set_death_callback is not defined. Exiting.
Mike Aizatsky8b11f872016-01-06 00:21:22 +000036
Marcos Pividorie219d402017-02-08 00:03:13 +000037RUN: not LLVMFuzzer-NotinstrumentedTest-NoCoverage 2>&1 | FileCheck %s --check-prefix=NO_COVERAGE
Kostya Serebryany76f42522016-06-08 01:46:13 +000038NO_COVERAGE: ERROR: no interesting inputs were found. Is the code instrumented for coverage? Exiting
39
Kostya Serebryanyd50a3ee2016-01-13 23:02:30 +000040RUN: not LLVMFuzzer-BufferOverflowOnInput 2>&1 | FileCheck %s --check-prefix=OOB
41OOB: AddressSanitizer: heap-buffer-overflow
42OOB: is located 0 bytes to the right of 3-byte region
Kostya Serebryanyaca76962016-01-16 01:23:12 +000043
Kostya Serebryany11797682016-10-25 22:30:34 +000044RUN: not LLVMFuzzer-InitializeTest -use_value_profile=1 2>&1 | FileCheck %s
Kostya Serebryany311f27c2016-01-19 20:33:57 +000045
Kostya Serebryany3e36ec12016-09-17 05:04:47 +000046RUN: not LLVMFuzzer-DSOTest 2>&1 | FileCheck %s --check-prefix=DSO
47DSO: INFO: Loaded 3 modules
48DSO: BINGO
49
Kostya Serebryany2f962fe2016-12-10 02:45:56 +000050RUN: LLVMFuzzer-SimpleTest -exit_on_src_pos=SimpleTest.cpp:17 2>&1 | FileCheck %s --check-prefix=EXIT_ON_SRC_POS
51RUN: LLVMFuzzer-ShrinkControlFlowTest -exit_on_src_pos=ShrinkControlFlowTest.cpp:23 2>&1 | FileCheck %s --check-prefix=EXIT_ON_SRC_POS
Kostya Serebryany5ff481f2016-09-27 00:10:20 +000052EXIT_ON_SRC_POS: INFO: found line matching '{{.*}}', exiting.
53
Marcos Pividoric7ac3342017-02-08 00:03:03 +000054RUN: env ASAN_OPTIONS=strict_string_checks=1 not LLVMFuzzer-StrncmpOOBTest -seed=1 -runs=1000000 2>&1 | FileCheck %s --check-prefix=STRNCMP
Kostya Serebryany2bfff022016-10-22 00:05:44 +000055STRNCMP: AddressSanitizer: heap-buffer-overflow
56STRNCMP-NOT: __sanitizer_weak_hook_strncmp
57STRNCMP: in LLVMFuzzerTestOneInput
Kostya Serebryany87a38112017-01-20 21:34:24 +000058
Kostya Serebryanyd9667912017-01-21 00:13:50 +000059RUN: not LLVMFuzzer-BogusInitializeTest 2>&1 | FileCheck %s --check-prefix=BOGUS_INITIALIZE
Kostya Serebryany87a38112017-01-20 21:34:24 +000060BOGUS_INITIALIZE: argv[0] has been modified in LLVMFuzzerInitialize