Skip to content

Commit 402dc38

Browse files
zhuyunxingLambdaris
zhuyunxing
authored andcommitted
coverage. Add basic tests for MC/DC
1 parent 439dbfa commit 402dc38

File tree

3 files changed

+583
-0
lines changed

3 files changed

+583
-0
lines changed

tests/coverage/mcdc_if.cov-map

+218
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,218 @@
1+
Function name: mcdc_if::mcdc_check_a
2+
Raw bytes (64): 0x[01, 01, 04, 01, 05, 09, 02, 0d, 0f, 09, 02, 08, 01, 0f, 01, 01, 09, 28, 00, 02, 01, 08, 00, 0e, 30, 05, 02, 01, 02, 00, 00, 08, 00, 09, 05, 00, 0d, 00, 0e, 30, 0d, 09, 02, 00, 00, 00, 0d, 00, 0e, 0d, 00, 0f, 02, 06, 0f, 02, 0c, 02, 06, 0b, 03, 01, 00, 02]
3+
Number of files: 1
4+
- file 0 => global file 1
5+
Number of expressions: 4
6+
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
7+
- expression 1 operands: lhs = Counter(2), rhs = Expression(0, Sub)
8+
- expression 2 operands: lhs = Counter(3), rhs = Expression(3, Add)
9+
- expression 3 operands: lhs = Counter(2), rhs = Expression(0, Sub)
10+
Number of file 0 mappings: 8
11+
- Code(Counter(0)) at (prev + 15, 1) to (start + 1, 9)
12+
- MCDCDecision { bitmap_idx: 0, conditions_num: 2 } at (prev + 1, 8) to (start + 0, 14)
13+
- MCDCBranch { true: Counter(1), false: Expression(0, Sub), condition_id: 1, true_next_id: 2, false_next_id: 0 } at (prev + 0, 8) to (start + 0, 9)
14+
true = c1
15+
false = (c0 - c1)
16+
- Code(Counter(1)) at (prev + 0, 13) to (start + 0, 14)
17+
- MCDCBranch { true: Counter(3), false: Counter(2), condition_id: 2, true_next_id: 0, false_next_id: 0 } at (prev + 0, 13) to (start + 0, 14)
18+
true = c3
19+
false = c2
20+
- Code(Counter(3)) at (prev + 0, 15) to (start + 2, 6)
21+
- Code(Expression(3, Add)) at (prev + 2, 12) to (start + 2, 6)
22+
= (c2 + (c0 - c1))
23+
- Code(Expression(2, Add)) at (prev + 3, 1) to (start + 0, 2)
24+
= (c3 + (c2 + (c0 - c1)))
25+
26+
Function name: mcdc_if::mcdc_check_b
27+
Raw bytes (64): 0x[01, 01, 04, 01, 05, 09, 02, 0d, 0f, 09, 02, 08, 01, 17, 01, 01, 09, 28, 00, 02, 01, 08, 00, 0e, 30, 05, 02, 01, 02, 00, 00, 08, 00, 09, 05, 00, 0d, 00, 0e, 30, 0d, 09, 02, 00, 00, 00, 0d, 00, 0e, 0d, 00, 0f, 02, 06, 0f, 02, 0c, 02, 06, 0b, 03, 01, 00, 02]
28+
Number of files: 1
29+
- file 0 => global file 1
30+
Number of expressions: 4
31+
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
32+
- expression 1 operands: lhs = Counter(2), rhs = Expression(0, Sub)
33+
- expression 2 operands: lhs = Counter(3), rhs = Expression(3, Add)
34+
- expression 3 operands: lhs = Counter(2), rhs = Expression(0, Sub)
35+
Number of file 0 mappings: 8
36+
- Code(Counter(0)) at (prev + 23, 1) to (start + 1, 9)
37+
- MCDCDecision { bitmap_idx: 0, conditions_num: 2 } at (prev + 1, 8) to (start + 0, 14)
38+
- MCDCBranch { true: Counter(1), false: Expression(0, Sub), condition_id: 1, true_next_id: 2, false_next_id: 0 } at (prev + 0, 8) to (start + 0, 9)
39+
true = c1
40+
false = (c0 - c1)
41+
- Code(Counter(1)) at (prev + 0, 13) to (start + 0, 14)
42+
- MCDCBranch { true: Counter(3), false: Counter(2), condition_id: 2, true_next_id: 0, false_next_id: 0 } at (prev + 0, 13) to (start + 0, 14)
43+
true = c3
44+
false = c2
45+
- Code(Counter(3)) at (prev + 0, 15) to (start + 2, 6)
46+
- Code(Expression(3, Add)) at (prev + 2, 12) to (start + 2, 6)
47+
= (c2 + (c0 - c1))
48+
- Code(Expression(2, Add)) at (prev + 3, 1) to (start + 0, 2)
49+
= (c3 + (c2 + (c0 - c1)))
50+
51+
Function name: mcdc_if::mcdc_check_both
52+
Raw bytes (64): 0x[01, 01, 04, 01, 05, 09, 02, 0d, 0f, 09, 02, 08, 01, 1f, 01, 01, 09, 28, 00, 02, 01, 08, 00, 0e, 30, 05, 02, 01, 02, 00, 00, 08, 00, 09, 05, 00, 0d, 00, 0e, 30, 0d, 09, 02, 00, 00, 00, 0d, 00, 0e, 0d, 00, 0f, 02, 06, 0f, 02, 0c, 02, 06, 0b, 03, 01, 00, 02]
53+
Number of files: 1
54+
- file 0 => global file 1
55+
Number of expressions: 4
56+
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
57+
- expression 1 operands: lhs = Counter(2), rhs = Expression(0, Sub)
58+
- expression 2 operands: lhs = Counter(3), rhs = Expression(3, Add)
59+
- expression 3 operands: lhs = Counter(2), rhs = Expression(0, Sub)
60+
Number of file 0 mappings: 8
61+
- Code(Counter(0)) at (prev + 31, 1) to (start + 1, 9)
62+
- MCDCDecision { bitmap_idx: 0, conditions_num: 2 } at (prev + 1, 8) to (start + 0, 14)
63+
- MCDCBranch { true: Counter(1), false: Expression(0, Sub), condition_id: 1, true_next_id: 2, false_next_id: 0 } at (prev + 0, 8) to (start + 0, 9)
64+
true = c1
65+
false = (c0 - c1)
66+
- Code(Counter(1)) at (prev + 0, 13) to (start + 0, 14)
67+
- MCDCBranch { true: Counter(3), false: Counter(2), condition_id: 2, true_next_id: 0, false_next_id: 0 } at (prev + 0, 13) to (start + 0, 14)
68+
true = c3
69+
false = c2
70+
- Code(Counter(3)) at (prev + 0, 15) to (start + 2, 6)
71+
- Code(Expression(3, Add)) at (prev + 2, 12) to (start + 2, 6)
72+
= (c2 + (c0 - c1))
73+
- Code(Expression(2, Add)) at (prev + 3, 1) to (start + 0, 2)
74+
= (c3 + (c2 + (c0 - c1)))
75+
76+
Function name: mcdc_if::mcdc_check_neither
77+
Raw bytes (64): 0x[01, 01, 04, 01, 05, 09, 02, 0d, 0f, 09, 02, 08, 01, 07, 01, 01, 09, 28, 00, 02, 01, 08, 00, 0e, 30, 05, 02, 01, 02, 00, 00, 08, 00, 09, 05, 00, 0d, 00, 0e, 30, 0d, 09, 02, 00, 00, 00, 0d, 00, 0e, 0d, 00, 0f, 02, 06, 0f, 02, 0c, 02, 06, 0b, 03, 01, 00, 02]
78+
Number of files: 1
79+
- file 0 => global file 1
80+
Number of expressions: 4
81+
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
82+
- expression 1 operands: lhs = Counter(2), rhs = Expression(0, Sub)
83+
- expression 2 operands: lhs = Counter(3), rhs = Expression(3, Add)
84+
- expression 3 operands: lhs = Counter(2), rhs = Expression(0, Sub)
85+
Number of file 0 mappings: 8
86+
- Code(Counter(0)) at (prev + 7, 1) to (start + 1, 9)
87+
- MCDCDecision { bitmap_idx: 0, conditions_num: 2 } at (prev + 1, 8) to (start + 0, 14)
88+
- MCDCBranch { true: Counter(1), false: Expression(0, Sub), condition_id: 1, true_next_id: 2, false_next_id: 0 } at (prev + 0, 8) to (start + 0, 9)
89+
true = c1
90+
false = (c0 - c1)
91+
- Code(Counter(1)) at (prev + 0, 13) to (start + 0, 14)
92+
- MCDCBranch { true: Counter(3), false: Counter(2), condition_id: 2, true_next_id: 0, false_next_id: 0 } at (prev + 0, 13) to (start + 0, 14)
93+
true = c3
94+
false = c2
95+
- Code(Counter(3)) at (prev + 0, 15) to (start + 2, 6)
96+
- Code(Expression(3, Add)) at (prev + 2, 12) to (start + 2, 6)
97+
= (c2 + (c0 - c1))
98+
- Code(Expression(2, Add)) at (prev + 3, 1) to (start + 0, 2)
99+
= (c3 + (c2 + (c0 - c1)))
100+
101+
Function name: mcdc_if::mcdc_check_not_tree_decision
102+
Raw bytes (87): 0x[01, 01, 08, 01, 05, 02, 09, 05, 09, 0d, 1e, 02, 09, 11, 1b, 0d, 1e, 02, 09, 0a, 01, 31, 01, 03, 0a, 28, 00, 03, 03, 08, 00, 15, 30, 05, 02, 01, 02, 03, 00, 09, 00, 0a, 02, 00, 0e, 00, 0f, 30, 09, 1e, 03, 02, 00, 00, 0e, 00, 0f, 0b, 00, 14, 00, 15, 30, 11, 0d, 02, 00, 00, 00, 14, 00, 15, 11, 00, 16, 02, 06, 1b, 02, 0c, 02, 06, 17, 03, 01, 00, 02]
103+
Number of files: 1
104+
- file 0 => global file 1
105+
Number of expressions: 8
106+
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
107+
- expression 1 operands: lhs = Expression(0, Sub), rhs = Counter(2)
108+
- expression 2 operands: lhs = Counter(1), rhs = Counter(2)
109+
- expression 3 operands: lhs = Counter(3), rhs = Expression(7, Sub)
110+
- expression 4 operands: lhs = Expression(0, Sub), rhs = Counter(2)
111+
- expression 5 operands: lhs = Counter(4), rhs = Expression(6, Add)
112+
- expression 6 operands: lhs = Counter(3), rhs = Expression(7, Sub)
113+
- expression 7 operands: lhs = Expression(0, Sub), rhs = Counter(2)
114+
Number of file 0 mappings: 10
115+
- Code(Counter(0)) at (prev + 49, 1) to (start + 3, 10)
116+
- MCDCDecision { bitmap_idx: 0, conditions_num: 3 } at (prev + 3, 8) to (start + 0, 21)
117+
- MCDCBranch { true: Counter(1), false: Expression(0, Sub), condition_id: 1, true_next_id: 2, false_next_id: 3 } at (prev + 0, 9) to (start + 0, 10)
118+
true = c1
119+
false = (c0 - c1)
120+
- Code(Expression(0, Sub)) at (prev + 0, 14) to (start + 0, 15)
121+
= (c0 - c1)
122+
- MCDCBranch { true: Counter(2), false: Expression(7, Sub), condition_id: 3, true_next_id: 2, false_next_id: 0 } at (prev + 0, 14) to (start + 0, 15)
123+
true = c2
124+
false = ((c0 - c1) - c2)
125+
- Code(Expression(2, Add)) at (prev + 0, 20) to (start + 0, 21)
126+
= (c1 + c2)
127+
- MCDCBranch { true: Counter(4), false: Counter(3), condition_id: 2, true_next_id: 0, false_next_id: 0 } at (prev + 0, 20) to (start + 0, 21)
128+
true = c4
129+
false = c3
130+
- Code(Counter(4)) at (prev + 0, 22) to (start + 2, 6)
131+
- Code(Expression(6, Add)) at (prev + 2, 12) to (start + 2, 6)
132+
= (c3 + ((c0 - c1) - c2))
133+
- Code(Expression(5, Add)) at (prev + 3, 1) to (start + 0, 2)
134+
= (c4 + (c3 + ((c0 - c1) - c2)))
135+
136+
Function name: mcdc_if::mcdc_check_tree_decision
137+
Raw bytes (87): 0x[01, 01, 08, 01, 05, 05, 0d, 05, 0d, 0d, 11, 09, 02, 1b, 1f, 0d, 11, 09, 02, 0a, 01, 27, 01, 03, 09, 28, 00, 03, 03, 08, 00, 15, 30, 05, 02, 01, 02, 00, 00, 08, 00, 09, 05, 00, 0e, 00, 0f, 30, 0d, 0a, 02, 00, 03, 00, 0e, 00, 0f, 0a, 00, 13, 00, 14, 30, 11, 09, 03, 00, 00, 00, 13, 00, 14, 1b, 00, 16, 02, 06, 1f, 02, 0c, 02, 06, 17, 03, 01, 00, 02]
138+
Number of files: 1
139+
- file 0 => global file 1
140+
Number of expressions: 8
141+
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
142+
- expression 1 operands: lhs = Counter(1), rhs = Counter(3)
143+
- expression 2 operands: lhs = Counter(1), rhs = Counter(3)
144+
- expression 3 operands: lhs = Counter(3), rhs = Counter(4)
145+
- expression 4 operands: lhs = Counter(2), rhs = Expression(0, Sub)
146+
- expression 5 operands: lhs = Expression(6, Add), rhs = Expression(7, Add)
147+
- expression 6 operands: lhs = Counter(3), rhs = Counter(4)
148+
- expression 7 operands: lhs = Counter(2), rhs = Expression(0, Sub)
149+
Number of file 0 mappings: 10
150+
- Code(Counter(0)) at (prev + 39, 1) to (start + 3, 9)
151+
- MCDCDecision { bitmap_idx: 0, conditions_num: 3 } at (prev + 3, 8) to (start + 0, 21)
152+
- MCDCBranch { true: Counter(1), false: Expression(0, Sub), condition_id: 1, true_next_id: 2, false_next_id: 0 } at (prev + 0, 8) to (start + 0, 9)
153+
true = c1
154+
false = (c0 - c1)
155+
- Code(Counter(1)) at (prev + 0, 14) to (start + 0, 15)
156+
- MCDCBranch { true: Counter(3), false: Expression(2, Sub), condition_id: 2, true_next_id: 0, false_next_id: 3 } at (prev + 0, 14) to (start + 0, 15)
157+
true = c3
158+
false = (c1 - c3)
159+
- Code(Expression(2, Sub)) at (prev + 0, 19) to (start + 0, 20)
160+
= (c1 - c3)
161+
- MCDCBranch { true: Counter(4), false: Counter(2), condition_id: 3, true_next_id: 0, false_next_id: 0 } at (prev + 0, 19) to (start + 0, 20)
162+
true = c4
163+
false = c2
164+
- Code(Expression(6, Add)) at (prev + 0, 22) to (start + 2, 6)
165+
= (c3 + c4)
166+
- Code(Expression(7, Add)) at (prev + 2, 12) to (start + 2, 6)
167+
= (c2 + (c0 - c1))
168+
- Code(Expression(5, Add)) at (prev + 3, 1) to (start + 0, 2)
169+
= ((c3 + c4) + (c2 + (c0 - c1)))
170+
171+
Function name: mcdc_if::mcdc_nested_if
172+
Raw bytes (124): 0x[01, 01, 0d, 01, 05, 02, 09, 05, 09, 1b, 15, 05, 09, 1b, 15, 05, 09, 11, 15, 02, 09, 2b, 32, 0d, 2f, 11, 15, 02, 09, 0e, 01, 3b, 01, 01, 09, 28, 00, 02, 01, 08, 00, 0e, 30, 05, 02, 01, 00, 02, 00, 08, 00, 09, 02, 00, 0d, 00, 0e, 30, 09, 32, 02, 00, 00, 00, 0d, 00, 0e, 1b, 01, 09, 01, 0d, 28, 01, 02, 01, 0c, 00, 12, 30, 16, 15, 01, 02, 00, 00, 0c, 00, 0d, 16, 00, 11, 00, 12, 30, 0d, 11, 02, 00, 00, 00, 11, 00, 12, 0d, 00, 13, 02, 0a, 2f, 02, 0a, 00, 0b, 32, 01, 0c, 02, 06, 27, 03, 01, 00, 02]
173+
Number of files: 1
174+
- file 0 => global file 1
175+
Number of expressions: 13
176+
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
177+
- expression 1 operands: lhs = Expression(0, Sub), rhs = Counter(2)
178+
- expression 2 operands: lhs = Counter(1), rhs = Counter(2)
179+
- expression 3 operands: lhs = Expression(6, Add), rhs = Counter(5)
180+
- expression 4 operands: lhs = Counter(1), rhs = Counter(2)
181+
- expression 5 operands: lhs = Expression(6, Add), rhs = Counter(5)
182+
- expression 6 operands: lhs = Counter(1), rhs = Counter(2)
183+
- expression 7 operands: lhs = Counter(4), rhs = Counter(5)
184+
- expression 8 operands: lhs = Expression(0, Sub), rhs = Counter(2)
185+
- expression 9 operands: lhs = Expression(10, Add), rhs = Expression(12, Sub)
186+
- expression 10 operands: lhs = Counter(3), rhs = Expression(11, Add)
187+
- expression 11 operands: lhs = Counter(4), rhs = Counter(5)
188+
- expression 12 operands: lhs = Expression(0, Sub), rhs = Counter(2)
189+
Number of file 0 mappings: 14
190+
- Code(Counter(0)) at (prev + 59, 1) to (start + 1, 9)
191+
- MCDCDecision { bitmap_idx: 0, conditions_num: 2 } at (prev + 1, 8) to (start + 0, 14)
192+
- MCDCBranch { true: Counter(1), false: Expression(0, Sub), condition_id: 1, true_next_id: 0, false_next_id: 2 } at (prev + 0, 8) to (start + 0, 9)
193+
true = c1
194+
false = (c0 - c1)
195+
- Code(Expression(0, Sub)) at (prev + 0, 13) to (start + 0, 14)
196+
= (c0 - c1)
197+
- MCDCBranch { true: Counter(2), false: Expression(12, Sub), condition_id: 2, true_next_id: 0, false_next_id: 0 } at (prev + 0, 13) to (start + 0, 14)
198+
true = c2
199+
false = ((c0 - c1) - c2)
200+
- Code(Expression(6, Add)) at (prev + 1, 9) to (start + 1, 13)
201+
= (c1 + c2)
202+
- MCDCDecision { bitmap_idx: 1, conditions_num: 2 } at (prev + 1, 12) to (start + 0, 18)
203+
- MCDCBranch { true: Expression(5, Sub), false: Counter(5), condition_id: 1, true_next_id: 2, false_next_id: 0 } at (prev + 0, 12) to (start + 0, 13)
204+
true = ((c1 + c2) - c5)
205+
false = c5
206+
- Code(Expression(5, Sub)) at (prev + 0, 17) to (start + 0, 18)
207+
= ((c1 + c2) - c5)
208+
- MCDCBranch { true: Counter(3), false: Counter(4), condition_id: 2, true_next_id: 0, false_next_id: 0 } at (prev + 0, 17) to (start + 0, 18)
209+
true = c3
210+
false = c4
211+
- Code(Counter(3)) at (prev + 0, 19) to (start + 2, 10)
212+
- Code(Expression(11, Add)) at (prev + 2, 10) to (start + 0, 11)
213+
= (c4 + c5)
214+
- Code(Expression(12, Sub)) at (prev + 1, 12) to (start + 2, 6)
215+
= ((c0 - c1) - c2)
216+
- Code(Expression(9, Add)) at (prev + 3, 1) to (start + 0, 2)
217+
= ((c3 + (c4 + c5)) + ((c0 - c1) - c2))
218+

0 commit comments

Comments
 (0)