@@ -21,6 +21,12 @@ def _assert_expected_json_report(self, cov, expected_result):
21
21
a = {'b': 1}
22
22
if a.get('a'):
23
23
b = 1
24
+ elif a.get('b'):
25
+ b = 2
26
+ else:
27
+ b = 3
28
+ if not a:
29
+ b = 4
24
30
""" )
25
31
a = self .start_import_stop (cov , "a" )
26
32
output_path = os .path .join (self .temp_dir , "a.json" )
@@ -43,34 +49,44 @@ def test_branch_coverage(self):
43
49
},
44
50
'files' : {
45
51
'a.py' : {
46
- 'executed_lines' : [1 , 2 ],
47
- 'missing_lines' : [3 ],
52
+ 'executed_lines' : [1 , 2 , 4 , 5 , 8 ],
53
+ 'missing_lines' : [3 , 7 , 9 ],
48
54
'excluded_lines' : [],
55
+ 'executed_branches' : [
56
+ [2 , 4 ],
57
+ [4 , 5 ],
58
+ [8 , 0 ],
59
+ ],
60
+ 'missing_branches' : [
61
+ [2 , 3 ],
62
+ [4 , 7 ],
63
+ [8 , 9 ],
64
+ ],
49
65
'summary' : {
50
- 'missing_lines' : 1 ,
51
- 'covered_lines' : 2 ,
52
- 'num_statements' : 3 ,
53
- 'num_branches' : 2 ,
66
+ 'missing_lines' : 3 ,
67
+ 'covered_lines' : 5 ,
68
+ 'num_statements' : 8 ,
69
+ 'num_branches' : 6 ,
54
70
'excluded_lines' : 0 ,
55
- 'num_partial_branches' : 1 ,
56
- 'covered_branches' : 1 ,
57
- 'missing_branches' : 1 ,
58
- 'percent_covered' : 60.0 ,
59
- 'percent_covered_display' : '60 ' ,
71
+ 'num_partial_branches' : 3 ,
72
+ 'covered_branches' : 3 ,
73
+ 'missing_branches' : 3 ,
74
+ 'percent_covered' : 57.142857142857146 ,
75
+ 'percent_covered_display' : '57 ' ,
60
76
},
61
77
},
62
78
},
63
79
'totals' : {
64
- 'missing_lines' : 1 ,
65
- 'covered_lines' : 2 ,
66
- 'num_statements' : 3 ,
67
- 'num_branches' : 2 ,
80
+ 'missing_lines' : 3 ,
81
+ 'covered_lines' : 5 ,
82
+ 'num_statements' : 8 ,
83
+ 'num_branches' : 6 ,
68
84
'excluded_lines' : 0 ,
69
- 'num_partial_branches' : 1 ,
70
- 'percent_covered' : 60.0 ,
71
- 'percent_covered_display' : '60 ' ,
72
- 'covered_branches' : 1 ,
73
- 'missing_branches' : 1 ,
85
+ 'num_partial_branches' : 3 ,
86
+ 'percent_covered' : 57.142857142857146 ,
87
+ 'percent_covered_display' : '57 ' ,
88
+ 'covered_branches' : 3 ,
89
+ 'missing_branches' : 3 ,
74
90
},
75
91
}
76
92
self ._assert_expected_json_report (cov , expected_result )
@@ -85,26 +101,26 @@ def test_simple_line_coverage(self):
85
101
},
86
102
'files' : {
87
103
'a.py' : {
88
- 'executed_lines' : [1 , 2 ],
89
- 'missing_lines' : [3 ],
104
+ 'executed_lines' : [1 , 2 , 4 , 5 , 8 ],
105
+ 'missing_lines' : [3 , 7 , 9 ],
90
106
'excluded_lines' : [],
91
107
'summary' : {
92
108
'excluded_lines' : 0 ,
93
- 'missing_lines' : 1 ,
94
- 'covered_lines' : 2 ,
95
- 'num_statements' : 3 ,
96
- 'percent_covered' : 66.66666666666667 ,
97
- 'percent_covered_display' : '67 ' ,
109
+ 'missing_lines' : 3 ,
110
+ 'covered_lines' : 5 ,
111
+ 'num_statements' : 8 ,
112
+ 'percent_covered' : 62.5 ,
113
+ 'percent_covered_display' : '62 ' ,
98
114
},
99
115
},
100
116
},
101
117
'totals' : {
102
118
'excluded_lines' : 0 ,
103
- 'missing_lines' : 1 ,
104
- 'covered_lines' : 2 ,
105
- 'num_statements' : 3 ,
106
- 'percent_covered' : 66.66666666666667 ,
107
- 'percent_covered_display' : '67 ' ,
119
+ 'missing_lines' : 3 ,
120
+ 'covered_lines' : 5 ,
121
+ 'num_statements' : 8 ,
122
+ 'percent_covered' : 62.5 ,
123
+ 'percent_covered_display' : '62 ' ,
108
124
},
109
125
}
110
126
self ._assert_expected_json_report (cov , expected_result )
@@ -130,34 +146,43 @@ def run_context_test(self, relative_files):
130
146
},
131
147
'files' : {
132
148
'a.py' : {
133
- 'executed_lines' : [1 , 2 ],
134
- 'missing_lines' : [3 ],
149
+ 'executed_lines' : [1 , 2 , 4 , 5 , 8 ],
150
+ 'missing_lines' : [3 , 7 , 9 ],
135
151
'excluded_lines' : [],
136
152
"contexts" : {
137
153
"1" : [
138
154
"cool_test"
139
155
],
140
156
"2" : [
141
157
"cool_test"
142
- ]
158
+ ],
159
+ "4" : [
160
+ "cool_test"
161
+ ],
162
+ "5" : [
163
+ "cool_test"
164
+ ],
165
+ "8" : [
166
+ "cool_test"
167
+ ],
143
168
},
144
169
'summary' : {
145
170
'excluded_lines' : 0 ,
146
- 'missing_lines' : 1 ,
147
- 'covered_lines' : 2 ,
148
- 'num_statements' : 3 ,
149
- 'percent_covered' : 66.66666666666667 ,
150
- 'percent_covered_display' : '66.67 ' ,
171
+ 'missing_lines' : 3 ,
172
+ 'covered_lines' : 5 ,
173
+ 'num_statements' : 8 ,
174
+ 'percent_covered' : 62.5 ,
175
+ 'percent_covered_display' : '62.50 ' ,
151
176
},
152
177
},
153
178
},
154
179
'totals' : {
155
180
'excluded_lines' : 0 ,
156
- 'missing_lines' : 1 ,
157
- 'covered_lines' : 2 ,
158
- 'num_statements' : 3 ,
159
- 'percent_covered' : 66.66666666666667 ,
160
- 'percent_covered_display' : '66.67 ' ,
181
+ 'missing_lines' : 3 ,
182
+ 'covered_lines' : 5 ,
183
+ 'num_statements' : 8 ,
184
+ 'percent_covered' : 62.5 ,
185
+ 'percent_covered_display' : '62.50 ' ,
161
186
},
162
187
}
163
188
self ._assert_expected_json_report (cov , expected_result )
0 commit comments