Skip to content

Commit adb4c42

Browse files
committed
Python: Add 2-only library tests.
1 parent 49307a7 commit adb4c42

File tree

124 files changed

+2424
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+2424
-0
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
| 8 | ControlFlowNode for ExceptStmt | builtin-class AttributeError |
2+
| 10 | ControlFlowNode for ExceptStmt | builtin-class IndexError |
3+
| 12 | ControlFlowNode for ExceptStmt | builtin-class KeyError |
4+
| 14 | ControlFlowNode for ExceptStmt | builtin-class BaseException |
5+
| 23 | ControlFlowNode for ExceptStmt | builtin-class AttributeError |
6+
| 25 | ControlFlowNode for ExceptStmt | builtin-class IndexError |
7+
| 27 | ControlFlowNode for ExceptStmt | builtin-class KeyError |
8+
| 38 | ControlFlowNode for ExceptStmt | builtin-class AttributeError |
9+
| 40 | ControlFlowNode for ExceptStmt | builtin-class IndexError |
10+
| 42 | ControlFlowNode for ExceptStmt | builtin-class KeyError |
11+
| 57 | ControlFlowNode for ExceptStmt | builtin-class IOError |
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
import python
3+
4+
from ExceptFlowNode ex, Object obj
5+
where ex.handledException(obj, _, _)
6+
select ex.getLocation().getStartLine(), ex.toString(), obj.toString()
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
| 4 | ControlFlowNode for Subscript | builtin-class IndexError |
2+
| 4 | ControlFlowNode for Subscript | builtin-class KeyError |
3+
| 5 | ControlFlowNode for Attribute | builtin-class AttributeError |
4+
| 7 | ControlFlowNode for Raise | builtin-class Exception |
5+
| 19 | ControlFlowNode for Subscript | builtin-class IndexError |
6+
| 19 | ControlFlowNode for Subscript | builtin-class KeyError |
7+
| 20 | ControlFlowNode for Attribute | builtin-class AttributeError |
8+
| 22 | ControlFlowNode for Raise | builtin-class Exception |
9+
| 30 | ControlFlowNode for Pass | builtin-class Exception |
10+
| 34 | ControlFlowNode for Subscript | builtin-class IndexError |
11+
| 34 | ControlFlowNode for Subscript | builtin-class KeyError |
12+
| 35 | ControlFlowNode for Attribute | builtin-class AttributeError |
13+
| 37 | ControlFlowNode for Raise | builtin-class Exception |
14+
| 53 | ControlFlowNode for Attribute() | builtin-class IOError |
15+
| 54 | ControlFlowNode for Attribute() | builtin-class IOError |
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
import python
3+
4+
from RaisingNode r
5+
select r.getLocation().getStartLine(), r.toString(), r.getARaisedType().toString()
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
| 4 | ControlFlowNode for Subscript | 10 | ControlFlowNode for ExceptStmt |
2+
| 4 | ControlFlowNode for Subscript | 12 | ControlFlowNode for ExceptStmt |
3+
| 5 | ControlFlowNode for Attribute | 8 | ControlFlowNode for ExceptStmt |
4+
| 6 | ControlFlowNode for a() | 8 | ControlFlowNode for ExceptStmt |
5+
| 6 | ControlFlowNode for a() | 10 | ControlFlowNode for ExceptStmt |
6+
| 6 | ControlFlowNode for a() | 12 | ControlFlowNode for ExceptStmt |
7+
| 6 | ControlFlowNode for a() | 14 | ControlFlowNode for ExceptStmt |
8+
| 7 | ControlFlowNode for Raise | 14 | ControlFlowNode for ExceptStmt |
9+
| 19 | ControlFlowNode for Subscript | 25 | ControlFlowNode for ExceptStmt |
10+
| 19 | ControlFlowNode for Subscript | 27 | ControlFlowNode for ExceptStmt |
11+
| 20 | ControlFlowNode for Attribute | 23 | ControlFlowNode for ExceptStmt |
12+
| 21 | ControlFlowNode for a() | 23 | ControlFlowNode for ExceptStmt |
13+
| 21 | ControlFlowNode for a() | 25 | ControlFlowNode for ExceptStmt |
14+
| 21 | ControlFlowNode for a() | 27 | ControlFlowNode for ExceptStmt |
15+
| 21 | ControlFlowNode for a() | 30 | ControlFlowNode for Pass |
16+
| 22 | ControlFlowNode for Raise | 30 | ControlFlowNode for Pass |
17+
| 34 | ControlFlowNode for Subscript | 40 | ControlFlowNode for ExceptStmt |
18+
| 34 | ControlFlowNode for Subscript | 42 | ControlFlowNode for ExceptStmt |
19+
| 35 | ControlFlowNode for Attribute | 38 | ControlFlowNode for ExceptStmt |
20+
| 36 | ControlFlowNode for a() | 38 | ControlFlowNode for ExceptStmt |
21+
| 36 | ControlFlowNode for a() | 40 | ControlFlowNode for ExceptStmt |
22+
| 36 | ControlFlowNode for a() | 42 | ControlFlowNode for ExceptStmt |
23+
| 53 | ControlFlowNode for Attribute() | 57 | ControlFlowNode for ExceptStmt |
24+
| 54 | ControlFlowNode for Attribute() | 57 | ControlFlowNode for ExceptStmt |
25+
| 56 | ControlFlowNode for Attribute() | 57 | ControlFlowNode for ExceptStmt |
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2+
import python
3+
4+
from ControlFlowNode r, ControlFlowNode s
5+
where s = r.getAnExceptionalSuccessor() and
6+
not r.(RaisingNode).unlikelySuccessor(s)
7+
select r.getLocation().getStartLine(), r.toString(), s.getLocation().getStartLine(), s.toString()
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
| 6 | ControlFlowNode for a() |
2+
| 21 | ControlFlowNode for a() |
3+
| 36 | ControlFlowNode for a() |
4+
| 51 | ControlFlowNode for open() |
5+
| 56 | ControlFlowNode for Attribute() |
6+
| 58 | ControlFlowNode for Attribute() |
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
import python
3+
4+
from RaisingNode r
5+
where r.raisesUnknownType()
6+
select r.getLocation().getStartLine(), r.toString()
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
2+
def f(a, x):
3+
try:
4+
a[x]
5+
a.b
6+
a(x)
7+
raise Exception()
8+
except AttributeError:
9+
pass
10+
except IndexError:
11+
pass
12+
except KeyError:
13+
pass
14+
except:
15+
pass
16+
17+
def g(a, x):
18+
try:
19+
a[x]
20+
a.b
21+
a(x)
22+
raise Exception()
23+
except AttributeError:
24+
pass
25+
except IndexError:
26+
pass
27+
except KeyError:
28+
pass
29+
finally:
30+
pass
31+
32+
def h(a, x):
33+
try:
34+
a[x]
35+
a.b
36+
a(x)
37+
raise Exception()
38+
except AttributeError:
39+
pass
40+
except IndexError:
41+
pass
42+
except KeyError:
43+
pass
44+
45+
#I/O stuff.
46+
47+
def doesnt_raise():
48+
pass
49+
50+
def io():
51+
f12 = open("filename")
52+
try:
53+
f12.read("IOError could occur")
54+
f12.write("IOError could occur")
55+
doesnt_raise("Potential false positive here")
56+
f12.close()
57+
except IOError:
58+
f12.close()
59+
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
3+
def j():
4+
raise Exception, "Exception"

0 commit comments

Comments
 (0)