1RUN: %cpp_compiler -mllvm -use-unknown-locations=Disable %S/NullDerefTest.cpp -o %t-NullDerefTest 2RUN: %cpp_compiler -mllvm -use-unknown-locations=Disable %S/DSO1.cpp -fPIC -shared -o %t-DSO1.so 3RUN: %cpp_compiler -mllvm -use-unknown-locations=Disable %S/DSO2.cpp -fPIC -shared -o %t-DSO2.so 4RUN: %cpp_compiler -mllvm -use-unknown-locations=Disable %S/DSOTestMain.cpp %S/DSOTestExtra.cpp -L. %t-DSO1.so %t-DSO2.so -o %t-DSOTest 5 6CHECK: COVERAGE: 7CHECK-DAG: COVERED: {{.*}}in LLVMFuzzerTestOneInput {{.*}}NullDerefTest.cpp:13 8CHECK-DAG: COVERED: {{.*}}in LLVMFuzzerTestOneInput {{.*}}NullDerefTest.cpp:14 9CHECK-DAG: COVERED: {{.*}}in LLVMFuzzerTestOneInput {{.*}}NullDerefTest.cpp:16 10RUN: not %t-NullDerefTest -print_coverage=1 2>&1 | FileCheck %s 11 12RUN: %t-DSOTest -print_coverage=1 -runs=0 2>&1 | FileCheck %s --check-prefix=DSO 13DSO: COVERAGE: 14DSO-DAG: COVERED:{{.*}}DSO1{{.*}}DSO1.cpp 15DSO-DAG: COVERED:{{.*}}DSO2{{.*}}DSO2.cpp 16DSO-DAG: COVERED:{{.*}}LLVMFuzzerTestOneInput{{.*}}DSOTestMain 17DSO-DAG: UNCOVERED_LINE:{{.*}}DSO1{{.*}}DSO1.cpp 18DSO-DAG: UNCOVERED_LINE:{{.*}}DSO2{{.*}}DSO2.cpp 19DSO-DAG: UNCOVERED_FUNC: in Uncovered1 20DSO-DAG: UNCOVERED_FUNC: in Uncovered2 21DSO-DAG: UNCOVERED_LINE: in LLVMFuzzerTestOneInput 22