Skip to content

Commit fca5fb6

Browse files
authored
Merge pull request github#13269 from jketema/inline-module
C++/Swift: Rewrite inline expectation tests to use the parameterized module
2 parents 4496fd5 + 3a3d9bc commit fca5fb6

38 files changed

+151
-125
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
WARNING: Module TaintedWithPath has been deprecated and may be removed in future (tainted.ql:9,8-47)
22
WARNING: Predicate tainted has been deprecated and may be removed in future (tainted.ql:20,49-74)
3+
failures
4+
testFailures

cpp/ql/test/library-tests/dataflow/DefaultTaintTracking/annotate_path_to_sink/tainted.ql

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,10 @@ predicate irTaint(Element source, TaintedWithPath::PathNode predNode, string tag
3838
)
3939
}
4040

41-
class IRDefaultTaintTrackingTest extends InlineExpectationsTest {
42-
IRDefaultTaintTrackingTest() { this = "IRDefaultTaintTrackingTest" }
41+
module IRDefaultTaintTrackingTest implements TestSig {
42+
string getARelevantTag() { result = ["ir-path", "ir-sink"] }
4343

44-
override string getARelevantTag() { result = ["ir-path", "ir-sink"] }
45-
46-
override predicate hasActualResult(Location location, string element, string tag, string value) {
44+
predicate hasActualResult(Location location, string element, string tag, string value) {
4745
exists(Element elem, TaintedWithPath::PathNode node, int n |
4846
irTaint(_, node, tag) and
4947
elem = getElementFromPathNode(node) and
@@ -67,12 +65,10 @@ class IRDefaultTaintTrackingTest extends InlineExpectationsTest {
6765
}
6866
}
6967

70-
class AstTaintTrackingTest extends InlineExpectationsTest {
71-
AstTaintTrackingTest() { this = "ASTTaintTrackingTest" }
72-
73-
override string getARelevantTag() { result = "ast" }
68+
module AstTaintTrackingTest implements TestSig {
69+
string getARelevantTag() { result = "ast" }
7470

75-
override predicate hasActualResult(Location location, string element, string tag, string value) {
71+
predicate hasActualResult(Location location, string element, string tag, string value) {
7672
exists(Expr source, Element tainted, int n |
7773
tag = "ast" and
7874
astTaint(source, tainted) and
@@ -100,3 +96,5 @@ class AstTaintTrackingTest extends InlineExpectationsTest {
10096
)
10197
}
10298
}
99+
100+
import MakeTest<MergeTests<IRDefaultTaintTrackingTest, AstTaintTrackingTest>>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
WARNING: Module TaintedWithPath has been deprecated and may be removed in future (tainted.ql:10,8-47)
22
WARNING: Predicate tainted has been deprecated and may be removed in future (tainted.ql:21,3-28)
3+
failures
4+
testFailures

cpp/ql/test/library-tests/dataflow/DefaultTaintTracking/annotate_sinks_only/tainted.ql

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,10 @@ predicate irTaint(Expr source, Element sink) {
2929
TaintedWithPath::taintedWithPath(source, sink, _, _)
3030
}
3131

32-
class IRDefaultTaintTrackingTest extends InlineExpectationsTest {
33-
IRDefaultTaintTrackingTest() { this = "IRDefaultTaintTrackingTest" }
32+
module IRDefaultTaintTrackingTest implements TestSig {
33+
string getARelevantTag() { result = "ir" }
3434

35-
override string getARelevantTag() { result = "ir" }
36-
37-
override predicate hasActualResult(Location location, string element, string tag, string value) {
35+
predicate hasActualResult(Location location, string element, string tag, string value) {
3836
exists(Expr source, Element tainted, int n |
3937
tag = "ir" and
4038
irTaint(source, tainted) and
@@ -55,12 +53,10 @@ class IRDefaultTaintTrackingTest extends InlineExpectationsTest {
5553
}
5654
}
5755

58-
class AstTaintTrackingTest extends InlineExpectationsTest {
59-
AstTaintTrackingTest() { this = "ASTTaintTrackingTest" }
60-
61-
override string getARelevantTag() { result = "ast" }
56+
module AstTaintTrackingTest implements TestSig {
57+
string getARelevantTag() { result = "ast" }
6258

63-
override predicate hasActualResult(Location location, string element, string tag, string value) {
59+
predicate hasActualResult(Location location, string element, string tag, string value) {
6460
exists(Expr source, Element tainted, int n |
6561
tag = "ast" and
6662
astTaint(source, tainted) and
@@ -80,3 +76,5 @@ class AstTaintTrackingTest extends InlineExpectationsTest {
8076
)
8177
}
8278
}
79+
80+
import MakeTest<MergeTests<IRDefaultTaintTrackingTest, AstTaintTrackingTest>>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
WARNING: Predicate taintedIncludingGlobalVars has been deprecated and may be removed in future (global.ql:8,3-47)
22
WARNING: Predicate taintedIncludingGlobalVars has been deprecated and may be removed in future (global.ql:12,3-53)
3+
failures
4+
testFailures

cpp/ql/test/library-tests/dataflow/DefaultTaintTracking/globals/global.ql

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,10 @@ predicate irTaint(Expr source, Element sink, string globalVar) {
1212
IRDefaultTaintTracking::taintedIncludingGlobalVars(source, sink, globalVar) and globalVar != ""
1313
}
1414

15-
class IRGlobalDefaultTaintTrackingTest extends InlineExpectationsTest {
16-
IRGlobalDefaultTaintTrackingTest() { this = "IRGlobalDefaultTaintTrackingTest" }
15+
module IRGlobalDefaultTaintTrackingTest implements TestSig {
16+
string getARelevantTag() { result = "ir" }
1717

18-
override string getARelevantTag() { result = "ir" }
19-
20-
override predicate hasActualResult(Location location, string element, string tag, string value) {
18+
predicate hasActualResult(Location location, string element, string tag, string value) {
2119
exists(Element tainted |
2220
tag = "ir" and
2321
irTaint(_, tainted, value) and
@@ -27,12 +25,10 @@ class IRGlobalDefaultTaintTrackingTest extends InlineExpectationsTest {
2725
}
2826
}
2927

30-
class AstGlobalDefaultTaintTrackingTest extends InlineExpectationsTest {
31-
AstGlobalDefaultTaintTrackingTest() { this = "ASTGlobalDefaultTaintTrackingTest" }
32-
33-
override string getARelevantTag() { result = "ast" }
28+
module AstGlobalDefaultTaintTrackingTest implements TestSig {
29+
string getARelevantTag() { result = "ast" }
3430

35-
override predicate hasActualResult(Location location, string element, string tag, string value) {
31+
predicate hasActualResult(Location location, string element, string tag, string value) {
3632
exists(Element tainted |
3733
tag = "ast" and
3834
astTaint(_, tainted, value) and
@@ -41,3 +37,5 @@ class AstGlobalDefaultTaintTrackingTest extends InlineExpectationsTest {
4137
)
4238
}
4339
}
40+
41+
import MakeTest<MergeTests<IRGlobalDefaultTaintTrackingTest, AstGlobalDefaultTaintTrackingTest>>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
failures
2+
testFailures

cpp/ql/test/library-tests/dataflow/dataflow-tests/test-number-of-outnodes.ql

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@ module AstTest {
55
private import semmle.code.cpp.dataflow.DataFlow::DataFlow
66
private import semmle.code.cpp.dataflow.internal.DataFlowPrivate
77

8-
class AstMultipleOutNodesTest extends InlineExpectationsTest {
9-
AstMultipleOutNodesTest() { this = "AstMultipleOutNodesTest" }
8+
module AstMultipleOutNodesTest implements TestSig {
9+
string getARelevantTag() { result = "ast-count(" + any(ReturnKind k).toString() + ")" }
1010

11-
override string getARelevantTag() { result = "ast-count(" + any(ReturnKind k).toString() + ")" }
12-
13-
override predicate hasActualResult(Location location, string element, string tag, string value) {
11+
predicate hasActualResult(Location location, string element, string tag, string value) {
1412
exists(DataFlowCall call, int n, ReturnKind kind |
1513
call.getLocation() = location and
1614
n = strictcount(getAnOutNode(call, kind)) and
@@ -27,12 +25,10 @@ module IRTest {
2725
private import semmle.code.cpp.ir.dataflow.DataFlow
2826
private import semmle.code.cpp.ir.dataflow.internal.DataFlowPrivate
2927

30-
class IRMultipleOutNodesTest extends InlineExpectationsTest {
31-
IRMultipleOutNodesTest() { this = "IRMultipleOutNodesTest" }
32-
33-
override string getARelevantTag() { result = "ir-count(" + any(ReturnKind k).toString() + ")" }
28+
module IRMultipleOutNodesTest implements TestSig {
29+
string getARelevantTag() { result = "ir-count(" + any(ReturnKind k).toString() + ")" }
3430

35-
override predicate hasActualResult(Location location, string element, string tag, string value) {
31+
predicate hasActualResult(Location location, string element, string tag, string value) {
3632
exists(DataFlowCall call, int n, ReturnKind kind |
3733
call.getLocation() = location and
3834
n = strictcount(getAnOutNode(call, kind)) and
@@ -44,3 +40,5 @@ module IRTest {
4440
}
4541
}
4642
}
43+
44+
import MakeTest<MergeTests<AstTest::AstMultipleOutNodesTest, IRTest::IRMultipleOutNodesTest>>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
failures
2+
testFailures

cpp/ql/test/library-tests/dataflow/source-sink-tests/remote-flow.ql

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@ import cpp
44
import TestUtilities.InlineExpectationsTest
55
import semmle.code.cpp.security.FlowSources
66

7-
class RemoteFlowSourceTest extends InlineExpectationsTest {
8-
RemoteFlowSourceTest() { this = "RemoteFlowSourceTest" }
7+
module RemoteFlowSourceTest implements TestSig {
8+
string getARelevantTag() { result = "remote_source" }
99

10-
override string getARelevantTag() { result = "remote_source" }
11-
12-
override predicate hasActualResult(Location location, string element, string tag, string value) {
10+
predicate hasActualResult(Location location, string element, string tag, string value) {
1311
tag = "remote_source" and
1412
exists(RemoteFlowSource node, int n |
1513
n =
@@ -31,12 +29,10 @@ class RemoteFlowSourceTest extends InlineExpectationsTest {
3129
}
3230
}
3331

34-
class RemoteFlowSinkTest extends InlineExpectationsTest {
35-
RemoteFlowSinkTest() { this = "RemoteFlowSinkTest" }
36-
37-
override string getARelevantTag() { result = "remote_sink" }
32+
module RemoteFlowSinkTest implements TestSig {
33+
string getARelevantTag() { result = "remote_sink" }
3834

39-
override predicate hasActualResult(Location location, string element, string tag, string value) {
35+
predicate hasActualResult(Location location, string element, string tag, string value) {
4036
tag = "remote_sink" and
4137
exists(RemoteFlowSink node, int n |
4238
n =
@@ -57,3 +53,5 @@ class RemoteFlowSinkTest extends InlineExpectationsTest {
5753
)
5854
}
5955
}
56+
57+
import MakeTest<MergeTests<RemoteFlowSourceTest, RemoteFlowSinkTest>>

0 commit comments

Comments
 (0)