Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / compiler-rt / test / fuzzer / merge-control-file.test
blobc7d666ea471e921540899677182e0b9024a8d57b
1 # For IOS, we fail to permute the run lines properly (rdar://99889376)
2 XFAIL: ios && !iossim
3 RUN: mkdir -p %t
4 # Use a ".exe" extension because it is needed on Windows to call system()
5 # to execute itself again.
6 RUN: %cpp_compiler %S/FullCoverageSetTest.cpp -o %t/T.exe
8 RUN: rm -rf %t/T0 %t/T1 %t/T2
9 RUN: mkdir -p %t/T0 %t/T1 %t/T2
10 RUN: echo F..... > %t/T0/1
11 RUN: echo .U.... > %t/T0/2
12 RUN: echo ..Z... > %t/T0/3
14 # Test what happens if the control file is junk.
16 RUN: rm -f %t/T1/*; cp %t/T0/* %t/T1
17 RUN: echo JUNK > %t/MCF
18 RUN: %run %t/T.exe -merge=1 %t/T1 %t/T2 -merge_control_file=%t/MCF 2>&1 | FileCheck %s --check-prefix=JUNK
19 RUN: echo 3 > %t/MCF; echo 0 >> %t/MCF; echo %t/T1/1 >> %t/MCF
20 RUN: %run %t/T.exe -merge=1 %t/T1 %t/T2 -merge_control_file=%t/MCF 2>&1 | FileCheck %s --check-prefix=JUNK
21 JUNK: MERGE-OUTER: non-empty control file provided: {{.*}}MCF
22 JUNK: MERGE-OUTER: bad control file, will overwrite it
25 # Check valid control files
27 RUN: rm -f %t/T1/*; cp %t/T0/* %t/T1
28 RUN: echo 3 > %t/MCF; echo 0 >> %t/MCF; echo %t/T1/1 >> %t/MCF; echo %t/T1/2 >> %t/MCF; echo %t/T1/3 >> %t/MCF
29 RUN: %run %t/T.exe -merge=1 %t/T1 %t/T2 -merge_control_file=%t/MCF 2>&1 | FileCheck %s --check-prefix=OK_0
30 OK_0: MERGE-OUTER: control file ok, 3 files total, first not processed file 0
31 OK_0: MERGE-OUTER: 3 new files with {{.*}} new features added
33 RUN: rm -f %t/T1/*; cp %t/T0/* %t/T1
34 RUN: echo 3 > %t/MCF; echo 0 >> %t/MCF; echo %t/T1/1 >> %t/MCF; echo %t/T1/2 >> %t/MCF; echo %t/T1/3 >> %t/MCF
35 RUN: echo STARTED 0 1 >> %t/MCF
36 RUN: echo FT 0 11 >> %t/MCF
37 RUN: echo STARTED 1 2 >> %t/MCF
38 RUN: echo FT 1 12 >> %t/MCF
39 RUN: %run %t/T.exe -merge=1 %t/T1 %t/T2 -merge_control_file=%t/MCF 2>&1 | FileCheck %s --check-prefix=OK_2
40 OK_2: MERGE-OUTER: control file ok, 3 files total, first not processed file 2
41 OK_2: MERGE-OUTER: 3 new files with {{.*}} new features added
43 RUN: rm -f %t/T1/*; cp %t/T0/* %t/T1
44 RUN: echo 3 > %t/MCF; echo 0 >> %t/MCF; echo %t/T1/1 >> %t/MCF; echo %t/T1/2 >> %t/MCF; echo %t/T1/3 >> %t/MCF
45 RUN: echo STARTED 0 1 >> %t/MCF
46 RUN: echo FT 0 11 >> %t/MCF
47 RUN: echo STARTED 1 2 >> %t/MCF
48 RUN: echo FT 1 12 >> %t/MCF
49 RUN: echo STARTED 2 2 >> %t/MCF
50 RUN: echo FT 2 13 >> %t/MCF
51 RUN: %run %t/T.exe -merge=1 %t/T1 %t/T2 -merge_control_file=%t/MCF 2>&1 | FileCheck %s --check-prefix=OK_3
52 OK_3: MERGE-OUTER: nothing to do, merge has been completed before
54 # Test for invalid COV file_id
55 RUN: rm -f %t/T1/*; cp %t/T0/* %t/T1
56 RUN: echo 3 > %t/MCF; echo 0 >> %t/MCF; echo %t/T1/1 >> %t/MCF; echo %t/T1/2 >> %t/MCF; echo %t/T1/3 >> %t/MCF
57 RUN: echo STARTED 0 1 >> %t/MCF
58 RUN: echo FT 0 11 >> %t/MCF
59 RUN: echo STARTED 1 2 >> %t/MCF
60 RUN: echo FT 1 12 >> %t/MCF
61 RUN: echo STARTED 2 2 >> %t/MCF
62 RUN: echo FT 2 13 >> %t/MCF
63 # Invalid file-id 21 here
64 RUN: echo COV 21 13 >> %t/MCF
65 RUN: %run %t/T.exe -merge=1 %t/T1 %t/T2 -merge_control_file=%t/MCF 2>&1 | FileCheck %s --check-prefix=COV_INVALID
66 COV_INVALID: MERGE-OUTER: bad control file, will overwrite it