forked from OSchip/llvm-project
73 lines
2.9 KiB
Plaintext
73 lines
2.9 KiB
Plaintext
RUN: %cpp_compiler %S/FullCoverageSetTest.cpp -o %t-FullCoverageSetTest
|
|
|
|
RUN: rm -rf %t/T1 %t/T2
|
|
RUN: mkdir -p %t/T1 %t/T2
|
|
RUN: echo F..... > %t/T1/1
|
|
RUN: echo .U.... > %t/T1/2
|
|
RUN: echo ..Z... > %t/T1/3
|
|
|
|
# T1 has 3 elements, T2 is empty.
|
|
RUN: %run %t-FullCoverageSetTest -set_cover_merge=1 %t/T1 %t/T2 2>&1 | FileCheck %s --check-prefix=CHECK1
|
|
CHECK1: MERGE-OUTER: 3 files, 3 in the initial corpus
|
|
CHECK1: MERGE-OUTER: 0 new files with 0 new features added
|
|
|
|
RUN: echo ...Z.. > %t/T2/1
|
|
RUN: echo ....E. > %t/T2/2
|
|
RUN: echo .....R > %t/T2/3
|
|
RUN: echo F..... > %t/T2/a
|
|
RUN: echo .U.... > %t/T2/b
|
|
RUN: echo ..Z... > %t/T2/c
|
|
|
|
# T1 has 3 elements, T2 has 6 elements, only 3 are new.
|
|
RUN: %run %t-FullCoverageSetTest -set_cover_merge=1 %t/T1 %t/T2 2>&1 | FileCheck %s --check-prefix=CHECK2
|
|
CHECK2: MERGE-OUTER: 9 files, 3 in the initial corpus
|
|
CHECK2: MERGE-OUTER: 3 new files with 3 new features added
|
|
|
|
# Now, T1 has 6 units and T2 has no new interesting units.
|
|
RUN: %run %t-FullCoverageSetTest -set_cover_merge=1 %t/T1 %t/T2 2>&1 | FileCheck %s --check-prefix=CHECK3
|
|
CHECK3: MERGE-OUTER: 12 files, 6 in the initial corpus
|
|
CHECK3: MERGE-OUTER: 0 new files with 0 new features added
|
|
|
|
RUN: rm -rf %t/T1/* %t/T2/*
|
|
RUN: mkdir -p %t/T3
|
|
RUN: echo ...... > %t/T1/1
|
|
RUN: echo F..... > %t/T2/a
|
|
RUN: echo .U.... > %t/T2/b
|
|
RUN: echo ..Z... > %t/T2/c
|
|
RUN: echo ...Z.. > %t/T3/1
|
|
RUN: echo ....E. > %t/T3/2
|
|
RUN: echo .....R > %t/T3/3
|
|
RUN: echo .UZZER. > %t/T3/a
|
|
RUN: echo .UZZER.. > %t/T3/b
|
|
RUN: echo ...... > %t/T3/c
|
|
|
|
# T1 is empty, T2 and T3 have overlapping features. The optimal solution
|
|
# consists of 2 files: T2/a, T3/a. These files cover 6 new features.
|
|
# Although T3/a is larger in size (1 more byte) we prefer it because
|
|
# it covers more features than any other file.
|
|
RUN: %run %t-FullCoverageSetTest -set_cover_merge=1 %t/T1 %t/T2 %t/T3 2>&1 | FileCheck %s --check-prefix=CHECK_OVERLAP
|
|
CHECK_OVERLAP: MERGE-OUTER: 10 files, 1 in the initial corpus
|
|
CHECK_OVERLAP: MERGE-OUTER: 2 new files with 6 new features added
|
|
# Make sure that we are prefering smaller files (T3/a over T3/b).
|
|
RUN: diff %t/T1/1b2301992a0266982b135fee5164937d7f7abca3 %t/T3/a
|
|
|
|
RUN: rm -rf %t/T1/* %t/T2/* %t/T3/*
|
|
RUN: echo ...... > %t/T1/1
|
|
RUN: echo F..... > %t/T2/a
|
|
RUN: echo .U.... > %t/T2/b
|
|
RUN: echo ..Z... > %t/T2/c
|
|
RUN: echo ...Z.. > %t/T3/1
|
|
RUN: echo ....E. > %t/T3/2
|
|
RUN: echo .....R > %t/T3/3
|
|
RUN: echo .UZZER. > %t/T3/a
|
|
RUN: echo .UZZER.. > %t/T3/b
|
|
RUN: echo ...... > %t/T3/c
|
|
|
|
# Test the previous scenario with the '-merge=1' flag.
|
|
# Expect more files to be added to the first corpus, since '-merge=1'
|
|
# is going to prefer smaller files and ignore the fact that
|
|
# T3/a covers almost all of the available features.
|
|
RUN: %run %t-FullCoverageSetTest -merge=1 %t/T1 %t/T2 %t/T3 2>&1 | FileCheck %s --check-prefix=CHECK_OVERLAP2
|
|
CHECK_OVERLAP2: MERGE-OUTER: 10 files, 1 in the initial corpus
|
|
CHECK_OVERLAP2: MERGE-OUTER: 6 new files with 6 new features added
|