Skip to content

Commit e506bf8

Browse files
committed
Python: Add some regression tests for CFG of comparisons.
1 parent d1d898e commit e506bf8

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

python/ql/test/library-tests/ControlFlow/truefalse/ExceptionalSuccessors.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
| compare.py | 3 | compare.py:3:5:3:23 | ControlFlowNode for Assert | Entry node for Function contains1 |
2+
| compare.py | 7 | compare.py:7:5:7:27 | ControlFlowNode for Assert | Entry node for Function contains2 |
13
| true_false_test.py | 14 | true_false_test.py:14:12:14:16 | ControlFlowNode for cond4 | ControlFlowNode for Pass |
24
| true_false_test.py | 15 | true_false_test.py:15:13:15:17 | ControlFlowNode for true4 | ControlFlowNode for Pass |
35
| true_false_test.py | 15 | true_false_test.py:15:13:15:19 | ControlFlowNode for true4() | ControlFlowNode for Pass |

python/ql/test/library-tests/ControlFlow/truefalse/TrueFalseSuccessors.expected

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,14 @@
1818
| boolops.py | 10 | boolops.py:10:20:10:21 | ControlFlowNode for y2 | ControlFlowNode for z2 | True |
1919
| boolops.py | 11 | boolops.py:11:20:11:21 | ControlFlowNode for z2 | ControlFlowNode for UnaryExpr | False |
2020
| boolops.py | 11 | boolops.py:11:20:11:21 | ControlFlowNode for z2 | ControlFlowNode for UnaryExpr | True |
21+
| compare.py | 3 | compare.py:3:12:3:23 | ControlFlowNode for Compare | ControlFlowNode for Assert | False |
22+
| compare.py | 3 | compare.py:3:12:3:23 | ControlFlowNode for Compare | ControlFlowNode for Assert | True |
23+
| compare.py | 7 | compare.py:7:12:7:27 | ControlFlowNode for Compare | ControlFlowNode for Assert | False |
24+
| compare.py | 7 | compare.py:7:12:7:27 | ControlFlowNode for Compare | ControlFlowNode for Assert | True |
25+
| compare.py | 11 | compare.py:11:8:11:19 | ControlFlowNode for Compare | ControlFlowNode for FloatLiteral | False |
26+
| compare.py | 11 | compare.py:11:8:11:19 | ControlFlowNode for Compare | ControlFlowNode for IntegerLiteral | True |
27+
| compare.py | 17 | compare.py:17:8:17:23 | ControlFlowNode for Compare | ControlFlowNode for FloatLiteral | False |
28+
| compare.py | 17 | compare.py:17:8:17:23 | ControlFlowNode for Compare | ControlFlowNode for IntegerLiteral | True |
2129
| true_false_test.py | 3 | true_false_test.py:3:8:3:12 | ControlFlowNode for cond1 | ControlFlowNode for cond2 | False |
2230
| true_false_test.py | 3 | true_false_test.py:3:8:3:12 | ControlFlowNode for cond1 | ControlFlowNode for true1 | True |
2331
| true_false_test.py | 5 | true_false_test.py:5:8:5:12 | ControlFlowNode for cond2 | ControlFlowNode for Pass | True |
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
2+
def contains1(item, cont):
3+
assert item in cont
4+
return 1
5+
6+
def contains2(item, cont):
7+
assert item not in cont
8+
return 2
9+
10+
def contains3(item, cont):
11+
if item in cont:
12+
return 3
13+
else:
14+
return 3.0
15+
16+
def contains4(item, cont):
17+
if item not in cont:
18+
return 4
19+
else:
20+
return 4.0

0 commit comments

Comments
 (0)