Skip to content

Commit df8a6b9

Browse files
authored
Python: Add import * tests
Moves the current test out of `test.py`, as otherwise any unknown global (like, say, `sink`) would _also_ be considered to be something potentially defined in `unknown`.
1 parent 48ec223 commit df8a6b9

File tree

3 files changed

+38
-6
lines changed

3 files changed

+38
-6
lines changed

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,6 @@ def f():
7474
change_foo()
7575
sink(foo) #$ use=moduleImport("danger").getMember("SOURCE")
7676

77-
# Star imports
78-
79-
from unknown import * #$ use=moduleImport("unknown")
80-
81-
hello() #$ MISSING: use=moduleImport("unknown").getMember("hello").getReturn()
82-
8377

8478
# Subclasses
8579

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Star imports
2+
3+
from unknown import * #$ use=moduleImport("unknown")
4+
5+
# Currently missing, as we do not consider `hello` to be a `LocalSourceNode`, since it has flow
6+
# going into it from its corresponding `GlobalSsaVariable`.
7+
hello() #$ MISSING: use=moduleImport("unknown").getMember("hello").getReturn()
8+
9+
non_module_member
10+
11+
outer_bar = 5
12+
outer_bar
13+
14+
def foo():
15+
world() #$ use=moduleImport("unknown").getMember("world").getReturn()
16+
bar = 5
17+
bar
18+
non_module_member
19+
print(bar) #$ use=moduleImport("builtins").getMember("print").getReturn()
20+
21+
def quux():
22+
global non_module_member
23+
non_module_member = 5
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Star imports in local scope
2+
3+
hello2()
4+
5+
def foo():
6+
from unknown2 import * #$ use=moduleImport("unknown2")
7+
world2() #$ use=moduleImport("unknown2").getMember("world2").getReturn()
8+
bar2 = 5
9+
bar2
10+
non_module_member2
11+
print(bar2) #$ use=moduleImport("builtins").getMember("print").getReturn()
12+
13+
def quux2():
14+
global non_module_member2
15+
non_module_member2 = 5

0 commit comments

Comments
 (0)