Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4a8d532

Browse files
committed
Python: update test expectations and annotations
1 parent 6debc48 commit 4a8d532

3 files changed

Lines changed: 32 additions & 3 deletions

File tree

python/ql/test/experimental/dataflow/consistency/dataflow-consistency.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ uniquePostUpdate
8888
postIsInSameCallable
8989
reverseRead
9090
storeIsPostUpdate
91+
| test.py:152:5:152:5 | SSA variable l | Store targets should be PostUpdateNodes. |
9192
argHasPostUpdate
9293
| test.py:25:10:25:10 | ControlFlowNode for t | ArgumentNode is missing PostUpdateNode. |
9394
| test.py:29:10:29:10 | ControlFlowNode for t | ArgumentNode is missing PostUpdateNode. |

python/ql/test/experimental/dataflow/coverage/dataflow.expected

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,35 @@
11
edges
2+
| test.py:24:5:24:5 | SSA variable x [Content] | test.py:25:9:25:9 | ControlFlowNode for x [Content] |
3+
| test.py:24:21:24:26 | ControlFlowNode for SOURCE | test.py:24:5:24:5 | SSA variable x [Content] |
4+
| test.py:25:9:25:9 | ControlFlowNode for x [Content] | test.py:25:9:25:12 | ControlFlowNode for Subscript |
5+
| test.py:25:9:25:12 | ControlFlowNode for Subscript | test.py:26:10:26:10 | ControlFlowNode for y |
6+
| test.py:29:5:29:5 | SSA variable x [Content] | test.py:30:9:30:9 | ControlFlowNode for x [Content] |
7+
| test.py:29:21:29:26 | ControlFlowNode for SOURCE | test.py:29:5:29:5 | SSA variable x [Content] |
8+
| test.py:30:9:30:9 | ControlFlowNode for x [Content] | test.py:30:9:30:12 | ControlFlowNode for Subscript |
9+
| test.py:30:9:30:12 | ControlFlowNode for Subscript | test.py:31:12:31:12 | ControlFlowNode for y |
210
| test.py:35:9:35:14 | ControlFlowNode for SOURCE | test.py:36:10:36:10 | ControlFlowNode for x |
311
| test.py:40:9:40:16 | ControlFlowNode for Str | test.py:41:10:41:10 | ControlFlowNode for x |
412
| test.py:44:9:44:17 | ControlFlowNode for Str | test.py:45:10:45:10 | ControlFlowNode for x |
513
| test.py:48:9:48:10 | ControlFlowNode for IntegerLiteral | test.py:49:10:49:10 | ControlFlowNode for x |
614
| test.py:52:9:52:12 | ControlFlowNode for FloatLiteral | test.py:53:10:53:10 | ControlFlowNode for x |
715
| test.py:61:10:61:15 | ControlFlowNode for SOURCE | test.py:62:10:62:10 | ControlFlowNode for x |
16+
| test.py:66:5:66:5 | SSA variable x [Content] | test.py:67:10:67:10 | ControlFlowNode for x [Content] |
17+
| test.py:66:10:66:15 | ControlFlowNode for SOURCE | test.py:66:5:66:5 | SSA variable x [Content] |
18+
| test.py:67:10:67:10 | ControlFlowNode for x [Content] | test.py:67:10:67:13 | ControlFlowNode for Subscript |
819
| test.py:238:28:238:33 | ControlFlowNode for SOURCE | test.py:238:10:238:34 | ControlFlowNode for second() |
920
| test.py:297:12:297:17 | ControlFlowNode for SOURCE | test.py:297:10:297:18 | ControlFlowNode for f() |
1021
| test.py:301:28:301:33 | ControlFlowNode for SOURCE | test.py:301:10:301:34 | ControlFlowNode for second() |
1122
nodes
23+
| test.py:24:5:24:5 | SSA variable x [Content] | semmle.label | SSA variable x [Content] |
24+
| test.py:24:21:24:26 | ControlFlowNode for SOURCE | semmle.label | ControlFlowNode for SOURCE |
25+
| test.py:25:9:25:9 | ControlFlowNode for x [Content] | semmle.label | ControlFlowNode for x [Content] |
26+
| test.py:25:9:25:12 | ControlFlowNode for Subscript | semmle.label | ControlFlowNode for Subscript |
27+
| test.py:26:10:26:10 | ControlFlowNode for y | semmle.label | ControlFlowNode for y |
28+
| test.py:29:5:29:5 | SSA variable x [Content] | semmle.label | SSA variable x [Content] |
29+
| test.py:29:21:29:26 | ControlFlowNode for SOURCE | semmle.label | ControlFlowNode for SOURCE |
30+
| test.py:30:9:30:9 | ControlFlowNode for x [Content] | semmle.label | ControlFlowNode for x [Content] |
31+
| test.py:30:9:30:12 | ControlFlowNode for Subscript | semmle.label | ControlFlowNode for Subscript |
32+
| test.py:31:12:31:12 | ControlFlowNode for y | semmle.label | ControlFlowNode for y |
1233
| test.py:35:9:35:14 | ControlFlowNode for SOURCE | semmle.label | ControlFlowNode for SOURCE |
1334
| test.py:36:10:36:10 | ControlFlowNode for x | semmle.label | ControlFlowNode for x |
1435
| test.py:40:9:40:16 | ControlFlowNode for Str | semmle.label | ControlFlowNode for Str |
@@ -21,19 +42,26 @@ nodes
2142
| test.py:53:10:53:10 | ControlFlowNode for x | semmle.label | ControlFlowNode for x |
2243
| test.py:61:10:61:15 | ControlFlowNode for SOURCE | semmle.label | ControlFlowNode for SOURCE |
2344
| test.py:62:10:62:10 | ControlFlowNode for x | semmle.label | ControlFlowNode for x |
45+
| test.py:66:5:66:5 | SSA variable x [Content] | semmle.label | SSA variable x [Content] |
46+
| test.py:66:10:66:15 | ControlFlowNode for SOURCE | semmle.label | ControlFlowNode for SOURCE |
47+
| test.py:67:10:67:10 | ControlFlowNode for x [Content] | semmle.label | ControlFlowNode for x [Content] |
48+
| test.py:67:10:67:13 | ControlFlowNode for Subscript | semmle.label | ControlFlowNode for Subscript |
2449
| test.py:238:10:238:34 | ControlFlowNode for second() | semmle.label | ControlFlowNode for second() |
2550
| test.py:238:28:238:33 | ControlFlowNode for SOURCE | semmle.label | ControlFlowNode for SOURCE |
2651
| test.py:297:10:297:18 | ControlFlowNode for f() | semmle.label | ControlFlowNode for f() |
2752
| test.py:297:12:297:17 | ControlFlowNode for SOURCE | semmle.label | ControlFlowNode for SOURCE |
2853
| test.py:301:10:301:34 | ControlFlowNode for second() | semmle.label | ControlFlowNode for second() |
2954
| test.py:301:28:301:33 | ControlFlowNode for SOURCE | semmle.label | ControlFlowNode for SOURCE |
3055
#select
56+
| test.py:26:10:26:10 | ControlFlowNode for y | test.py:24:21:24:26 | ControlFlowNode for SOURCE | test.py:26:10:26:10 | ControlFlowNode for y | <message> |
57+
| test.py:31:12:31:12 | ControlFlowNode for y | test.py:29:21:29:26 | ControlFlowNode for SOURCE | test.py:31:12:31:12 | ControlFlowNode for y | <message> |
3158
| test.py:36:10:36:10 | ControlFlowNode for x | test.py:35:9:35:14 | ControlFlowNode for SOURCE | test.py:36:10:36:10 | ControlFlowNode for x | <message> |
3259
| test.py:41:10:41:10 | ControlFlowNode for x | test.py:40:9:40:16 | ControlFlowNode for Str | test.py:41:10:41:10 | ControlFlowNode for x | <message> |
3360
| test.py:45:10:45:10 | ControlFlowNode for x | test.py:44:9:44:17 | ControlFlowNode for Str | test.py:45:10:45:10 | ControlFlowNode for x | <message> |
3461
| test.py:49:10:49:10 | ControlFlowNode for x | test.py:48:9:48:10 | ControlFlowNode for IntegerLiteral | test.py:49:10:49:10 | ControlFlowNode for x | <message> |
3562
| test.py:53:10:53:10 | ControlFlowNode for x | test.py:52:9:52:12 | ControlFlowNode for FloatLiteral | test.py:53:10:53:10 | ControlFlowNode for x | <message> |
3663
| test.py:62:10:62:10 | ControlFlowNode for x | test.py:61:10:61:15 | ControlFlowNode for SOURCE | test.py:62:10:62:10 | ControlFlowNode for x | <message> |
64+
| test.py:67:10:67:13 | ControlFlowNode for Subscript | test.py:66:10:66:15 | ControlFlowNode for SOURCE | test.py:67:10:67:13 | ControlFlowNode for Subscript | <message> |
3765
| test.py:238:10:238:34 | ControlFlowNode for second() | test.py:238:28:238:33 | ControlFlowNode for SOURCE | test.py:238:10:238:34 | ControlFlowNode for second() | <message> |
3866
| test.py:297:10:297:18 | ControlFlowNode for f() | test.py:297:12:297:17 | ControlFlowNode for SOURCE | test.py:297:10:297:18 | ControlFlowNode for f() | <message> |
3967
| test.py:301:10:301:34 | ControlFlowNode for second() | test.py:301:28:301:33 | ControlFlowNode for SOURCE | test.py:301:10:301:34 | ControlFlowNode for second() | <message> |

python/ql/test/experimental/dataflow/coverage/test.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ def SINK_F(x):
2323
def test_tuple_with_local_flow():
2424
x = (NONSOURCE, SOURCE)
2525
y = x[1]
26-
SINK(y) # Flow missing
26+
SINK(y)
2727

2828
def test_tuple_negative():
2929
x = (NONSOURCE, SOURCE)
3030
y = x[0]
31-
SINK_F(y)
31+
SINK_F(y) # False positive
3232

3333
# 6.2.1. Identifiers (Names)
3434
def test_names():
@@ -64,7 +64,7 @@ def test_parenthesized_form():
6464
# 6.2.5. List displays
6565
def test_list_display():
6666
x = [SOURCE]
67-
SINK(x[0]) # Flow missing
67+
SINK(x[0])
6868

6969
def test_list_display_negative():
7070
x = [SOURCE]

0 commit comments

Comments
 (0)