Skip to content

Commit c17b705

Browse files
committed
Add tests for uncoverable ranges
1 parent beebd6f commit c17b705

File tree

2 files changed

+62
-33
lines changed

2 files changed

+62
-33
lines changed

test_output/cover/uncoverable.5.010000

Lines changed: 51 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Reading database from ...
2-
Unknown type true found parsing uncoverable condition at tests/uncoverable:45
2+
Unknown type true found parsing uncoverable condition at tests/uncoverable:52
33
2 unmatched uncoverable comments not found at end of tests/uncoverable
44

55

@@ -51,33 +51,55 @@ line err stmt bran cond sub code
5151
29 # uncoverable statement count:2
5252
30 -0 b(); b();
5353
-0
54-
31 }
55-
32
56-
33 sub z {
57-
34 # uncoverable subroutine
58-
35 -0 -0 $y++; # uncoverable statement
59-
36 }
54+
31
55+
32 # uncoverable statement count:1,2
56+
33 -0 b(); b();
57+
-0
58+
34
59+
35 # uncoverable statement count:1..4
60+
36 -0 b(); b(); b(); b();
61+
-0
62+
-0
63+
-0
6064
37
61-
38 # uncoverable branch false count:1
62-
39 # uncoverable branch true count:2
63-
40 # uncoverable branch false count:2
64-
41 # uncoverable condition left count:1
65-
42 # uncoverable condition right count:1
66-
43 # uncoverable condition left count:2
67-
44 # uncoverable condition right count:2
68-
45 # uncoverable condition true count:2
69-
46 # uncoverable condition false count:2
70-
47 1 - 50 - 33 if ($x > 0 && $y > 0) {
65+
38 # uncoverable statement count:1,2,3..4,5..7,8,9,10..11,12
66+
39 -0 b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); b();
67+
-0
68+
-0
69+
-0
70+
-0
71+
-0
72+
-0
73+
-0
74+
-0
75+
-0
76+
-0
77+
-0
78+
40 }
79+
41
80+
42 sub z {
81+
43 # uncoverable subroutine
82+
44 -0 -0 $y++; # uncoverable statement
83+
45 }
84+
46
85+
47 # uncoverable branch false count:1
86+
48 # uncoverable branch true count:2
87+
49 # uncoverable branch false count:2
88+
50 # uncoverable condition left count:1,2
89+
51 # uncoverable condition right count:1..2
90+
52 # uncoverable condition true count:2
91+
53 # uncoverable condition false count:2
92+
54 1 - 50 - 33 if ($x > 0 && $y > 0) {
7193
- 0 - 0
72-
48 1 $y++;
73-
49 } elsif ($x < 2 && $y < 0) {
74-
50 -0 $y++; # uncoverable statement
75-
51 } else {
76-
52 -0 $y++; # uncoverable statement
77-
53 }
78-
54
79-
55 # uncoverable statement
80-
56 # uncoverable subroutine
94+
55 1 $y++;
95+
56 } elsif ($x < 2 && $y < 0) {
96+
57 -0 $y++; # uncoverable statement
97+
58 } else {
98+
59 -0 $y++; # uncoverable statement
99+
60 }
100+
61
101+
62 # uncoverable statement
102+
63 # uncoverable subroutine
81103

82104

83105
Branches
@@ -87,7 +109,7 @@ line err % true false branch
87109
----- --- ------ ------ ------ ------
88110
18 - 50 -0 1 if ($x and not $y)
89111
27 - 50 -0 1 if (not $x and $y)
90-
47 - 50 1 -0 if ($x > 0 and $y > 0) { }
112+
54 - 50 1 -0 if ($x > 0 and $y > 0) { }
91113
- 0 -0 -0 elsif ($x < 2 and $y < 0) { }
92114

93115

@@ -100,7 +122,7 @@ line err % !l l&&!r l&&r expr
100122
----- --- ------ ------ ------ ------ ----
101123
18 - 33 -0 1 -0 $x and not $y
102124
27 - 33 1 -0 -0 not $x and $y
103-
47 - 33 -0 -0 1 $x > 0 and $y > 0
125+
54 - 33 -0 -0 1 $x > 0 and $y > 0
104126
- 0 -0 -0 -0 $x < 2 and $y < 0
105127

106128

@@ -109,6 +131,6 @@ Uncovered Subroutines
109131

110132
Subroutine Count Location
111133
---------- ----- --------------------
112-
z -0 tests/uncoverable:35
134+
z -0 tests/uncoverable:44
113135

114136

tests/uncoverable

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,15 @@ if (!$x && $y) {
2828
# uncoverable statement count:1
2929
# uncoverable statement count:2
3030
b(); b();
31+
32+
# uncoverable statement count:1,2
33+
b(); b();
34+
35+
# uncoverable statement count:1..4
36+
b(); b(); b(); b();
37+
38+
# uncoverable statement count:1,2,3..4,5..7,8,9,10..11,12
39+
b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); b();
3140
}
3241

3342
sub z {
@@ -38,10 +47,8 @@ sub z {
3847
# uncoverable branch false count:1
3948
# uncoverable branch true count:2
4049
# uncoverable branch false count:2
41-
# uncoverable condition left count:1
42-
# uncoverable condition right count:1
43-
# uncoverable condition left count:2
44-
# uncoverable condition right count:2
50+
# uncoverable condition left count:1,2
51+
# uncoverable condition right count:1..2
4552
# uncoverable condition true count:2
4653
# uncoverable condition false count:2
4754
if ($x > 0 && $y > 0) {

0 commit comments

Comments
 (0)