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