Skip to content

Commit 97a4a8f

Browse files
committed
test/llvm-cov: Transform %.c* tests to {%.test, Inputs/%.c*}
And reformat. NFC.
1 parent 52f072e commit 97a4a8f

13 files changed

+209
-194
lines changed

llvm/test/tools/llvm-cov/branch-logical-mixed.cpp renamed to llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// RUN: llvm-profdata merge %S/Inputs/branch-logical-mixed.proftext -o %t.profdata
2-
// RUN: llvm-cov show --show-branches=count %S/Inputs/branch-logical-mixed.o32l -instr-profile %t.profdata -path-equivalence=/tmp,%S %s | FileCheck %s
3-
// RUN: llvm-cov report --show-branch-summary %S/Inputs/branch-logical-mixed.o32l -instr-profile %t.profdata -show-functions -path-equivalence=/tmp,%S %s | FileCheck %s -check-prefix=REPORT
1+
2+
3+
44

55
#include <stdio.h>
66
#include <stdlib.h>
@@ -81,10 +81,3 @@ int main(int argc, char *argv[])
8181
__llvm_profile_write_file();
8282
return 0;
8383
}
84-
85-
// REPORT: Name Regions Miss Cover Lines Miss Cover Branches Miss Cover
86-
// REPORT-NEXT: ---
87-
// REPORT-NEXT: _Z4funcii 77 9 88.31% 68 3 95.59% 80 32 60.00%
88-
// REPORT-NEXT: main 1 0 100.00% 5 0 100.00% 0 0 0.00%
89-
// REPORT-NEXT: ---
90-
// REPORT-NEXT: TOTAL 78 9 88.46% 73 3 95.89% 80 32 60.00%

llvm/test/tools/llvm-cov/branch-macros.cpp renamed to llvm/test/tools/llvm-cov/Inputs/branch-macros.cpp

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// RUN: llvm-profdata merge %S/Inputs/branch-macros.proftext -o %t.profdata
2-
// RUN: llvm-cov show --show-expansions --show-branches=count %S/Inputs/branch-macros.o32l -instr-profile %t.profdata -path-equivalence=/tmp,%S %s | FileCheck %s
3-
// RUN: llvm-cov report --show-branch-summary %S/Inputs/branch-macros.o32l -instr-profile %t.profdata -show-functions -path-equivalence=/tmp,%S %s | FileCheck %s -check-prefix=REPORT
1+
2+
3+
44

55
#define COND1 (a == b)
66
#define COND2 (a != b)
@@ -50,11 +50,3 @@ int main(int argc, char *argv[])
5050
__llvm_profile_write_file();
5151
return 0;
5252
}
53-
54-
// REPORT: Name Regions Miss Cover Lines Miss Cover Branches Miss Cover
55-
// REPORT-NEXT: ---
56-
// REPORT-NEXT: _Z4funcii 28 4 85.71% 18 0 100.00% 30 14 53.33%
57-
// REPORT-NEXT: _Z5func2ii 13 1 92.31% 8 0 100.00% 10 2 80.00%
58-
// REPORT-NEXT: main 1 0 100.00% 6 0 100.00% 0 0 0.00%
59-
// REPORT-NEXT: ---
60-
// REPORT-NEXT: TOTAL 42 5 88.10% 32 0 100.00% 40 16 60.00%
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
2+
3+
4+
5+
6+
#include <stdio.h>
7+
#include <stdlib.h>
8+
9+
extern void __llvm_profile_write_file(void);
10+
11+
int main(int argc, char *argv[])
12+
{
13+
int i = 0;
14+
if (argc < 3) // CHECK: Branch ([[@LINE]]:7): [True: 16.67%, False: 83.33%]
15+
{
16+
__llvm_profile_write_file();
17+
return 0;
18+
}
19+
20+
int a = atoi(argv[1]);
21+
int b = atoi(argv[2]);
22+
23+
// CHECK: Branch ([[@LINE+4]]:8): [True: 20.00%, False: 80.00%]
24+
// CHECK: Branch ([[@LINE+3]]:18): [True: 0.00%, False: 100.00%]
25+
// CHECK: Branch ([[@LINE+2]]:29): [True: 0.00%, False: 100.00%]
26+
// CHECK: Branch ([[@LINE+1]]:40): [True: 40.00%, False: 60.00%]
27+
if ((a == 0 && b == 2) || b == 34 || a == b)
28+
printf("case1\n");
29+
30+
b = (a != 0 || a == 2) ? b : b+2; // CHECK: Branch ([[@LINE]]:8): [True: 80.00%, False: 20.00%]
31+
// CHECK: Branch ([[@LINE-1]]:18): [True: 0.00%, False: 100.00%]
32+
b = (a != 0 && a == 1); // CHECK: Branch ([[@LINE]]:8): [True: 80.00%, False: 20.00%]
33+
// CHECK: Branch ([[@LINE-1]]:18): [True: 25.00%, False: 75.00%]
34+
for (i = 0; i < b; i++) { a = 2 + b + b; }
35+
// CHECK: Branch ([[@LINE-1]]:15): [True: 16.67%, False: 83.33%]
36+
37+
b = a;
38+
39+
switch (a)
40+
{
41+
case 0: // CHECK: Branch ([[@LINE]]:5): [True: 20.00%, False: 80.00%]
42+
printf("case0\n");
43+
case 2: // CHECK: Branch ([[@LINE]]:5): [True: 20.00%, False: 80.00%]
44+
printf("case2\n");
45+
case 3: // CHECK: Branch ([[@LINE]]:5): [True: 0.00%, False: 100.00%]
46+
printf("case3\n");
47+
default: break; // CHECK: Branch ([[@LINE]]:5): [True: 60.00%, False: 40.00%]
48+
}
49+
50+
i = 0;
51+
do {
52+
printf("loop\n");
53+
} while (i++ < 10); // CHECK: Branch ([[@LINE]]:12): [True: 90.91%, False: 9.09%]
54+
55+
__llvm_profile_write_file();
56+
57+
return b;
58+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
2+
3+
4+
5+
6+
#include <stdio.h>
7+
template<typename T>
8+
void unused(T x) {
9+
return;
10+
}
11+
12+
template<typename T>
13+
int func(T x) {
14+
if(x) // CHECK: | Branch ([[@LINE]]:6): [True: 0, False: 1]
15+
return 0; // CHECK: | Branch ([[@LINE-1]]:6): [True: 1, False: 0]
16+
else // CHECK: | Branch ([[@LINE-2]]:6): [True: 0, False: 1]
17+
return 1;
18+
int j = 1;
19+
}
20+
21+
// CHECK-LABEL: _Z4funcIiEiT_:
22+
// CHECK: | | Branch ([[@LINE-8]]:6): [True: 0, False: 1]
23+
// CHECK-LABEL: _Z4funcIbEiT_:
24+
// CHECK: | | Branch ([[@LINE-10]]:6): [True: 1, False: 0]
25+
// CHECK-LABEL: _Z4funcIfEiT_:
26+
// CHECK: | | Branch ([[@LINE-12]]:6): [True: 0, False: 1]
27+
28+
extern "C" { extern void __llvm_profile_write_file(void); }
29+
int main() {
30+
if (func<int>(0)) // CHECK: | Branch ([[@LINE]]:7): [True: 1, False: 0]
31+
printf("case1\n");
32+
if (func<bool>(true)) // CHECK: | Branch ([[@LINE]]:7): [True: 0, False: 1]
33+
printf("case2\n");
34+
if (func<float>(0.0)) // CHECK: | Branch ([[@LINE]]:7): [True: 1, False: 0]
35+
printf("case3\n");
36+
__llvm_profile_write_file();
37+
return 0;
38+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// HTML-WHOLE-FILE: <td class='line-number'><a name='L[[@LINE+2]]' href='#L[[@LINE+2]]'><pre>[[@LINE+2]]</pre></a></td><td class='skipped-line'></td><td class='code'><pre>// before
2+
// HTML-FILTER-NOT: <td class='line-number'><a name='L[[@LINE+1]]' href='#L[[@LINE+1]]'><pre>[[@LINE+1]]</pre></a></td><td class='skipped-line'></td><td class='code'><pre>// before
3+
// before any coverage // WHOLE-FILE: [[@LINE]]| |// before
4+
// FILTER-NOT: [[@LINE-1]]| |// before
5+
// HTML: <td class='line-number'><a name='L[[@LINE+1]]' href='#L[[@LINE+1]]'><pre>[[@LINE+1]]</pre></a></td><td class='covered-line'><pre>161</pre></td><td class='code'><pre>int main() {
6+
int main() { // TEXT: [[@LINE]]| 161|int main(
7+
int x = 0; // TEXT: [[@LINE]]| 161| int x
8+
// TEXT: [[@LINE]]| 161|
9+
if (x) { // TEXT: [[@LINE]]| 161| if (x)
10+
x = 0; // TEXT: [[@LINE]]| 0| x = 0
11+
} else { // TEXT: [[@LINE]]| 161| } else
12+
x = 1; // TEXT: [[@LINE]]| 161| x = 1
13+
} // TEXT: [[@LINE]]| 161| }
14+
// TEXT: [[@LINE]]| 161|
15+
for (int i = 0; i < 100; ++i) { // TEXT: [[@LINE]]| 16.2k| for (
16+
x = 1; // TEXT: [[@LINE]]| 16.1k| x = 1
17+
} // TEXT: [[@LINE]]| 16.1k| }
18+
// TEXT: [[@LINE]]| 161|
19+
x = x < 10 ? x + 1 : x - 1; // TEXT: [[@LINE]]| 161| x =
20+
x = x > 10 ? // TEXT: [[@LINE]]| 161| x =
21+
x - 1: // TEXT: [[@LINE]]| 0| x
22+
x + 1; // TEXT: [[@LINE]]| 161| x
23+
// TEXT: [[@LINE]]| 161|
24+
return 0; // TEXT: [[@LINE]]| 161| return
25+
} // TEXT: [[@LINE]]| 161|}
26+
// after coverage // WHOLE-FILE: [[@LINE]]| |// after
27+
// FILTER-NOT: [[@LINE-1]]| |// after
28+
// HTML-WHOLE-FILE: <td class='line-number'><a name='L[[@LINE-2]]' href='#L[[@LINE-2]]'><pre>[[@LINE-2]]</pre></a></td><td class='skipped-line'></td><td class='code'><pre>// after
29+
// HTML-FILTER-NOT: <td class='line-number'><a name='L[[@LINE-3]]' href='#L[[@LINE-3]]'><pre>[[@LINE-3]]</pre></a></td><td class='skipped-line'></td><td class='code'><pre>// after

llvm/test/tools/llvm-cov/branch-c-general.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@
114114

115115

116116

117-
// REPORT: Name Regions Miss Cover Lines Miss Cover Branches Miss Cover
117+
// REPORT: Name Regions Miss Cover Lines Miss Cover Branches Miss Cover
118118
// REPORT-NEXT: ---
119119
// REPORT-NEXT: simple_loops 8 0 100.00% 9 0 100.00% 6 0 100.00%
120120
// REPORT-NEXT: conditionals 24 0 100.00% 15 0 100.00% 16 2 87.50%
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// RUN: llvm-profdata merge %S/Inputs/branch-logical-mixed.proftext -o %t.profdata
2+
// RUN: llvm-cov show --show-branches=count %S/Inputs/branch-logical-mixed.o32l -instr-profile %t.profdata -path-equivalence=/tmp,%S/Inputs | FileCheck %S/Inputs/branch-logical-mixed.cpp
3+
// RUN: llvm-cov report --show-branch-summary %S/Inputs/branch-logical-mixed.o32l -instr-profile %t.profdata -show-functions -path-equivalence=/tmp,%S/Inputs %S/Inputs/branch-logical-mixed.cpp
4+
| FileCheck %s -check-prefix=REPORT
5+
6+
// REPORT: Name Regions Miss Cover Lines Miss Cover Branches Miss Cover
7+
// REPORT-NEXT: ---
8+
// REPORT-NEXT: _Z4funcii 77 15 80.52% 60 2 96.67% 80 30 62.50%
9+
// REPORT-NEXT: main 1 0 100.00% 5 0 100.00% 0 0 0.00%
10+
// REPORT-NEXT: ---
11+
// REPORT-NEXT: TOTAL 78 15 80.77% 65 2 96.92% 80 30 62.50%
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// RUN: llvm-profdata merge %S/Inputs/branch-macros.proftext -o %t.profdata
2+
// RUN: llvm-cov show --show-expansions --show-branches=count %S/Inputs/branch-macros.o32l -instr-profile %t.profdata -path-equivalence=/tmp,%S/Inputs | FileCheck %S/Inputs/branch-macros.cpp
3+
// RUN: llvm-cov report --show-branch-summary %S/Inputs/branch-macros.o32l -instr-profile %t.profdata -show-functions -path-equivalence=/tmp,%S/Inputs %S/Inputs/branch-macros.cpp | FileCheck %s -check-prefix=REPORT
4+
5+
// REPORT: Name Regions Miss Cover Lines Miss Cover Branches Miss Cover
6+
// REPORT-NEXT: ---
7+
// REPORT-NEXT: _Z4funcii 28 4 85.71% 18 0 100.00% 30 14 53.33%
8+
// REPORT-NEXT: _Z5func2ii 13 1 92.31% 8 0 100.00% 10 2 80.00%
9+
// REPORT-NEXT: main 1 0 100.00% 6 0 100.00% 0 0 0.00%
10+
// REPORT-NEXT: ---
11+
// REPORT-NEXT: TOTAL 42 5 88.10% 32 0 100.00% 40 16 60.00%

llvm/test/tools/llvm-cov/branch-noShowBranch.test

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
// CHECK-NOT: | Branch
77

8-
// REPORT: Name Regions Miss Cover Lines Miss Cover
8+
// REPORT: Name Regions Miss Cover Lines Miss Cover
99
// REPORT-NOT: Name Regions Miss Cover Lines Miss Cover Branches Miss Cover
10-
// REPORT: ---
10+
// REPORT: ---
1111
// REPORT-NOT: simple_loops 8 0 100.00% 9 0 100.00% 6 0 100.00%
1212
// REPORT-NOT: conditionals 24 0 100.00% 15 0 100.00% 16 2 87.50%
1313
// REPORT-NOT: early_exits 20 4 80.00% 25 2 92.00% 16 6 62.50%
@@ -20,6 +20,6 @@
2020
// REPORT-NOT: do_fallthrough 9 0 100.00% 12 0 100.00% 6 0 100.00%
2121
// REPORT-NOT: main 1 0 100.00% 16 0 100.00% 0 0 0.00%
2222
// REPORT-NOT: c-general.c:static_func 4 0 100.00% 4 0 100.00% 2 0 100.00%
23-
// REPORT: TOTAL 197 24 87.82% 234 8 96.58%
24-
// REPORT-NOT: TOTAL 197 24 87.82% 234 13 94.44% 174 38 78.16%
23+
// REPORT: TOTAL 197 24 87.82% 234 8 96.58%
24+
// REPORT-NOT: TOTAL 197 24 87.82% 234 13 94.44% 174 38 78.16%
2525

llvm/test/tools/llvm-cov/branch-showBranchPercentage.c renamed to llvm/test/tools/llvm-cov/branch-showBranchPercentage.test

Lines changed: 2 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,10 @@
11
// Test visualization of branch taken percentages
22

33
// RUN: llvm-profdata merge %S/Inputs/branch-showBranchPercentage.proftext -o %t.profdata
4-
// RUN: llvm-cov show --show-branches=percent %S/Inputs/branch-showBranchPercentage.o32l -instr-profile %t.profdata -path-equivalence=/tmp,%S %s | FileCheck %s
4+
// RUN: llvm-cov show --show-branches=percent %S/Inputs/branch-showBranchPercentage.o32l -instr-profile %t.profdata -path-equivalence=/tmp,%S/Inputs | FileCheck %S/Inputs/branch-showBranchPercentage.c
55

6-
#include <stdio.h>
7-
#include <stdlib.h>
8-
9-
extern void __llvm_profile_write_file(void);
10-
11-
int main(int argc, char *argv[])
12-
{
13-
int i = 0;
14-
if (argc < 3) // CHECK: Branch ([[@LINE]]:7): [True: 16.67%, False: 83.33%]
15-
{
16-
__llvm_profile_write_file();
17-
return 0;
18-
}
19-
20-
int a = atoi(argv[1]);
21-
int b = atoi(argv[2]);
22-
23-
// CHECK: Branch ([[@LINE+4]]:8): [True: 20.00%, False: 80.00%]
24-
// CHECK: Branch ([[@LINE+3]]:18): [True: 0.00%, False: 100.00%]
25-
// CHECK: Branch ([[@LINE+2]]:29): [True: 0.00%, False: 100.00%]
26-
// CHECK: Branch ([[@LINE+1]]:40): [True: 40.00%, False: 60.00%]
27-
if ((a == 0 && b == 2) || b == 34 || a == b)
28-
printf("case1\n");
29-
30-
b = (a != 0 || a == 2) ? b : b+2; // CHECK: Branch ([[@LINE]]:8): [True: 80.00%, False: 20.00%]
31-
// CHECK: Branch ([[@LINE-1]]:18): [True: 0.00%, False: 100.00%]
32-
b = (a != 0 && a == 1); // CHECK: Branch ([[@LINE]]:8): [True: 80.00%, False: 20.00%]
33-
// CHECK: Branch ([[@LINE-1]]:18): [True: 25.00%, False: 75.00%]
34-
for (i = 0; i < b; i++) { a = 2 + b + b; }
35-
// CHECK: Branch ([[@LINE-1]]:15): [True: 16.67%, False: 83.33%]
36-
37-
b = a;
38-
39-
switch (a)
40-
{
41-
case 0: // CHECK: Branch ([[@LINE]]:5): [True: 20.00%, False: 80.00%]
42-
printf("case0\n");
43-
case 2: // CHECK: Branch ([[@LINE]]:5): [True: 20.00%, False: 80.00%]
44-
printf("case2\n");
45-
case 3: // CHECK: Branch ([[@LINE]]:5): [True: 0.00%, False: 100.00%]
46-
printf("case3\n");
47-
default: break; // CHECK: Branch ([[@LINE]]:5): [True: 60.00%, False: 40.00%]
48-
}
49-
50-
i = 0;
51-
do {
52-
printf("loop\n");
53-
} while (i++ < 10); // CHECK: Branch ([[@LINE]]:12): [True: 90.91%, False: 9.09%]
54-
55-
__llvm_profile_write_file();
56-
57-
return b;
58-
}
596
// RUN: llvm-profdata merge %S/Inputs/branch-showBranchPercentage.proftext -o %t.profdata
60-
// RUN: llvm-cov show --show-branches=percent %S/Inputs/branch-showBranchPercentage.o32l -instr-profile %t.profdata -path-equivalence=/tmp,%S %s -format html -o %t.html.dir
7+
// RUN: llvm-cov show --show-branches=percent %S/Inputs/branch-showBranchPercentage.o32l -instr-profile %t.profdata -path-equivalence=/tmp,%S/Inputs -format html -o %t.html.dir
618

629
// Test html output.
6310
// RUN: FileCheck -check-prefix=HTML -input-file=%t.html.dir/coverage/tmp/branch-showBranchPercentage.c.html %s
Lines changed: 6 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,9 @@
11
// RUN: llvm-profdata merge %S/Inputs/branch-templates.proftext -o %t.profdata
2-
// RUN: llvm-cov show --show-expansions --show-branches=count %S/Inputs/branch-templates.o32l -instr-profile %t.profdata -path-equivalence=/tmp,%S %s | FileCheck %s
3-
// RUN: llvm-cov report --show-branch-summary %S/Inputs/branch-templates.o32l -instr-profile %t.profdata -show-functions -path-equivalence=/tmp,%S %s | FileCheck %s -check-prefix=REPORT
4-
// RUN: llvm-cov report --show-branch-summary %S/Inputs/branch-templates.o32l -instr-profile %t.profdata -path-equivalence=/tmp,%S %s | FileCheck %s -check-prefix=REPORTFILE
2+
// RUN: llvm-cov show --show-expansions --show-branches=count %S/Inputs/branch-templates.o32l -instr-profile %t.profdata -path-equivalence=/tmp,%S/Inputs | FileCheck %S/Inputs/branch-templates.cpp
3+
// RUN: llvm-cov report --show-branch-summary %S/Inputs/branch-templates.o32l -instr-profile %t.profdata -show-functions -path-equivalence=/tmp,%S/Inputs %S/Inputs/branch-templates.cpp | FileCheck %s -check-prefix=REPORT
4+
// RUN: llvm-cov report --show-branch-summary %S/Inputs/branch-templates.o32l -instr-profile %t.profdata -path-equivalence=/tmp,%S/Inputs | FileCheck %s -check-prefix=REPORTFILE
55

6-
#include <stdio.h>
7-
template<typename T>
8-
void unused(T x) {
9-
return;
10-
}
11-
12-
template<typename T>
13-
int func(T x) {
14-
if(x) // CHECK: | Branch ([[@LINE]]:6): [True: 0, False: 1]
15-
return 0; // CHECK: | Branch ([[@LINE-1]]:6): [True: 1, False: 0]
16-
else // CHECK: | Branch ([[@LINE-2]]:6): [True: 0, False: 1]
17-
return 1;
18-
int j = 1;
19-
}
20-
21-
// CHECK-LABEL: _Z4funcIiEiT_:
22-
// CHECK: | | Branch ([[@LINE-8]]:6): [True: 0, False: 1]
23-
// CHECK-LABEL: _Z4funcIbEiT_:
24-
// CHECK: | | Branch ([[@LINE-10]]:6): [True: 1, False: 0]
25-
// CHECK-LABEL: _Z4funcIfEiT_:
26-
// CHECK: | | Branch ([[@LINE-12]]:6): [True: 0, False: 1]
27-
28-
extern "C" { extern void __llvm_profile_write_file(void); }
29-
int main() {
30-
if (func<int>(0)) // CHECK: | Branch ([[@LINE]]:7): [True: 1, False: 0]
31-
printf("case1\n");
32-
if (func<bool>(true)) // CHECK: | Branch ([[@LINE]]:7): [True: 0, False: 1]
33-
printf("case2\n");
34-
if (func<float>(0.0)) // CHECK: | Branch ([[@LINE]]:7): [True: 1, False: 0]
35-
printf("case3\n");
36-
__llvm_profile_write_file();
37-
return 0;
38-
}
39-
40-
// REPORT: Name Regions Miss Cover Lines Miss Cover Branches Miss Cover
6+
// REPORT: Name Regions Miss Cover Lines Miss Cover Branches Miss Cover
417
// REPORT-NEXT: ---
428
// REPORT-NEXT: main 7 1 85.71% 10 1 90.00% 6 3 50.00%
439
// REPORT-NEXT: _Z4funcIiEiT_ 5 2 60.00% 7 3 57.14% 2 1 50.00%
@@ -54,8 +20,8 @@ int main() {
5420
// respectively). This is returned by: FunctionCoverageSummary::get(const
5521
// InstantiationGroup &Group, ...)
5622

57-
// REPORTFILE: Filename Regions Missed Regions Cover Functions Missed Functions Executed Lines Missed Lines Cover Branches Missed Branches Cover
23+
// REPORTFILE: Filename Regions Missed Regions Cover Functions Missed Functions Executed Lines Missed Lines Cover Branches Missed Branches Cover
5824
// REPORTFILE-NEXT: ---
5925
// REPORTFILE-NEXT: branch-templates.cpp 12 3 75.00% 2 0 100.00% 17 4 76.47% 8 4 50.00%
6026
// REPORTFILE-NEXT: ---
61-
// REPORTFILE-NEXT: TOTAL 12 3 75.00% 2 0 100.00% 17 4 76.47% 8 4 50.00%
27+
// REPORTFILE-NEXT: TOTAL 12 3 75.00% 2 0 100.00% 17 4 76.47% 8 4 50.00%

0 commit comments

Comments
 (0)