File tree Expand file tree Collapse file tree 2 files changed +15
-9
lines changed
lib/semmle/python/filters
test/library-tests/filters/tests Expand file tree Collapse file tree 2 files changed +15
-9
lines changed Original file line number Diff line number Diff line change 1
1
import python
2
+ private import semmle.python.ApiGraphs
2
3
3
4
abstract class TestScope extends Scope { }
4
5
5
- // don't extend Class directly to avoid ambiguous method warnings
6
- class UnitTestClass extends TestScope {
6
+ class UnitTestClass extends TestScope , Class {
7
7
UnitTestClass ( ) {
8
- exists ( ClassValue cls | this = cls .getScope ( ) |
9
- cls .getABaseType + ( ) = Module:: named ( "unittest" ) .attr ( _)
10
- or
11
- cls .getABaseType + ( ) .getName ( ) .toLowerCase ( ) = "testcase"
8
+ exists ( API:: Node testCaseClass , string testCaseString |
9
+ testCaseString .matches ( "%TestCase" ) and
10
+ testCaseClass = any ( API:: Node mod ) .getMember ( testCaseString )
11
+ |
12
+ this .getParent ( ) = testCaseClass .getASubclass * ( ) .getAnImmediateUse ( ) .asExpr ( )
12
13
)
13
14
}
14
15
}
Original file line number Diff line number Diff line change 1
- | test.py:4:1:4:23 | Class MyTest |
2
- | test.py:6:5:6:21 | Function test_1 |
3
- | test.py:9:5:9:21 | Function test_2 |
4
1
| test_foo.py:3:1:3:15 | Function test_foo |
5
2
| unittest_test.py:3:1:3:33 | Class FooTest |
6
3
| unittest_test.py:4:5:4:25 | Function test_valid |
7
4
| unittest_test.py:7:1:7:49 | Class FunctionFooTest |
8
5
| unittest_test.py:8:5:8:25 | Function test_valid |
6
+ | unittest_test.py:11:1:11:50 | Class AsyncTest |
7
+ | unittest_test.py:12:11:12:31 | Function test_valid |
8
+ | unittest_test.py:17:1:17:45 | Class MyDjangoUnitTest |
9
+ | unittest_test.py:18:5:18:25 | Function test_valid |
10
+ | unittest_test.py:23:1:23:56 | Class MyFlaskUnitTest |
11
+ | unittest_test.py:24:5:24:25 | Function test_valid |
12
+ | unittest_test.py:29:1:29:59 | Class MyTornadoUnitTest |
13
+ | unittest_test.py:30:5:30:25 | Function test_valid |
You can’t perform that action at this time.
0 commit comments