Skip to content

Commit e167281

Browse files
committed
unified: Add a few more mutation tests
1 parent 1b9cc61 commit e167281

2 files changed

Lines changed: 72 additions & 0 deletions

File tree

unified/ql/test/library-tests/dataflow/test.expected

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,27 @@ edges
119119
| test.swift:137:10:137:24 | CallExpr | test.swift:137:5:137:5 | [incoming] a | provenance | |
120120
| test.swift:143:5:143:5 | [incoming] a | test.swift:144:10:144:10 | a | provenance | |
121121
| test.swift:143:20:143:34 | CallExpr | test.swift:143:5:143:5 | [incoming] a | provenance | |
122+
| test.swift:149:5:149:5 | [post] a [0] | test.swift:150:10:150:10 | a [0] | provenance | |
123+
| test.swift:149:5:149:7 | MemberAccessExpr | test.swift:149:5:149:5 | [post] a [0] | provenance | |
124+
| test.swift:149:23:149:37 | CallExpr | test.swift:149:5:149:7 | MemberAccessExpr | provenance | |
125+
| test.swift:150:10:150:10 | a [0] | test.swift:150:10:150:12 | MemberAccessExpr | provenance | |
126+
| test.swift:156:5:156:12 | TupleExpr [0] | test.swift:156:6:156:8 | MemberAccessExpr | provenance | |
127+
| test.swift:156:6:156:6 | [post] a [0] | test.swift:157:10:157:10 | a [0] | provenance | |
128+
| test.swift:156:6:156:8 | MemberAccessExpr | test.swift:156:6:156:6 | [post] a [0] | provenance | |
129+
| test.swift:156:16:156:61 | TupleExpr [0] | test.swift:156:5:156:12 | TupleExpr [0] | provenance | |
130+
| test.swift:156:17:156:43 | BinaryExpr | test.swift:156:16:156:61 | TupleExpr [0] | provenance | |
131+
| test.swift:156:29:156:43 | CallExpr | test.swift:156:17:156:43 | BinaryExpr | provenance | |
132+
| test.swift:157:10:157:10 | a [0] | test.swift:157:10:157:12 | MemberAccessExpr | provenance | |
133+
| test.swift:164:5:164:10 | TupleExpr [0] | test.swift:164:6:164:6 | a | provenance | |
134+
| test.swift:164:5:164:10 | TupleExpr [1] | test.swift:164:9:164:9 | b | provenance | |
135+
| test.swift:164:6:164:6 | a | test.swift:165:10:165:10 | a | provenance | |
136+
| test.swift:164:9:164:9 | b | test.swift:166:10:166:10 | b | provenance | |
137+
| test.swift:164:14:164:67 | TupleExpr [0] | test.swift:164:5:164:10 | TupleExpr [0] | provenance | |
138+
| test.swift:164:14:164:67 | TupleExpr [1] | test.swift:164:5:164:10 | TupleExpr [1] | provenance | |
139+
| test.swift:164:15:164:39 | BinaryExpr | test.swift:164:14:164:67 | TupleExpr [0] | provenance | |
140+
| test.swift:164:25:164:39 | CallExpr | test.swift:164:15:164:39 | BinaryExpr | provenance | |
141+
| test.swift:164:42:164:66 | BinaryExpr | test.swift:164:14:164:67 | TupleExpr [1] | provenance | |
142+
| test.swift:164:52:164:66 | CallExpr | test.swift:164:42:164:66 | BinaryExpr | provenance | |
122143
nodes
123144
| implicit-self.swift:11:9:11:12 | [post] self [x] | semmle.label | [post] self [x] |
124145
| implicit-self.swift:11:9:11:14 | MemberAccessExpr | semmle.label | MemberAccessExpr |
@@ -275,6 +296,31 @@ nodes
275296
| test.swift:143:5:143:5 | [incoming] a | semmle.label | [incoming] a |
276297
| test.swift:143:20:143:34 | CallExpr | semmle.label | CallExpr |
277298
| test.swift:144:10:144:10 | a | semmle.label | a |
299+
| test.swift:149:5:149:5 | [post] a [0] | semmle.label | [post] a [0] |
300+
| test.swift:149:5:149:7 | MemberAccessExpr | semmle.label | MemberAccessExpr |
301+
| test.swift:149:23:149:37 | CallExpr | semmle.label | CallExpr |
302+
| test.swift:150:10:150:10 | a [0] | semmle.label | a [0] |
303+
| test.swift:150:10:150:12 | MemberAccessExpr | semmle.label | MemberAccessExpr |
304+
| test.swift:156:5:156:12 | TupleExpr [0] | semmle.label | TupleExpr [0] |
305+
| test.swift:156:6:156:6 | [post] a [0] | semmle.label | [post] a [0] |
306+
| test.swift:156:6:156:8 | MemberAccessExpr | semmle.label | MemberAccessExpr |
307+
| test.swift:156:16:156:61 | TupleExpr [0] | semmle.label | TupleExpr [0] |
308+
| test.swift:156:17:156:43 | BinaryExpr | semmle.label | BinaryExpr |
309+
| test.swift:156:29:156:43 | CallExpr | semmle.label | CallExpr |
310+
| test.swift:157:10:157:10 | a [0] | semmle.label | a [0] |
311+
| test.swift:157:10:157:12 | MemberAccessExpr | semmle.label | MemberAccessExpr |
312+
| test.swift:164:5:164:10 | TupleExpr [0] | semmle.label | TupleExpr [0] |
313+
| test.swift:164:5:164:10 | TupleExpr [1] | semmle.label | TupleExpr [1] |
314+
| test.swift:164:6:164:6 | a | semmle.label | a |
315+
| test.swift:164:9:164:9 | b | semmle.label | b |
316+
| test.swift:164:14:164:67 | TupleExpr [0] | semmle.label | TupleExpr [0] |
317+
| test.swift:164:14:164:67 | TupleExpr [1] | semmle.label | TupleExpr [1] |
318+
| test.swift:164:15:164:39 | BinaryExpr | semmle.label | BinaryExpr |
319+
| test.swift:164:25:164:39 | CallExpr | semmle.label | CallExpr |
320+
| test.swift:164:42:164:66 | BinaryExpr | semmle.label | BinaryExpr |
321+
| test.swift:164:52:164:66 | CallExpr | semmle.label | CallExpr |
322+
| test.swift:165:10:165:10 | a | semmle.label | a |
323+
| test.swift:166:10:166:10 | b | semmle.label | b |
278324
subpaths
279325
testFailures
280326
#select
@@ -320,3 +366,7 @@ testFailures
320366
| test.swift:132:10:132:10 | a | test.swift:131:19:131:33 | CallExpr | test.swift:132:10:132:10 | a | $@ | test.swift:131:19:131:33 | CallExpr | CallExpr |
321367
| test.swift:138:10:138:10 | a | test.swift:137:10:137:24 | CallExpr | test.swift:138:10:138:10 | a | $@ | test.swift:137:10:137:24 | CallExpr | CallExpr |
322368
| test.swift:144:10:144:10 | a | test.swift:143:20:143:34 | CallExpr | test.swift:144:10:144:10 | a | $@ | test.swift:143:20:143:34 | CallExpr | CallExpr |
369+
| test.swift:150:10:150:12 | MemberAccessExpr | test.swift:149:23:149:37 | CallExpr | test.swift:150:10:150:12 | MemberAccessExpr | $@ | test.swift:149:23:149:37 | CallExpr | CallExpr |
370+
| test.swift:157:10:157:12 | MemberAccessExpr | test.swift:156:29:156:43 | CallExpr | test.swift:157:10:157:12 | MemberAccessExpr | $@ | test.swift:156:29:156:43 | CallExpr | CallExpr |
371+
| test.swift:165:10:165:10 | a | test.swift:164:25:164:39 | CallExpr | test.swift:165:10:165:10 | a | $@ | test.swift:164:25:164:39 | CallExpr | CallExpr |
372+
| test.swift:166:10:166:10 | b | test.swift:164:52:164:66 | CallExpr | test.swift:166:10:166:10 | b | $@ | test.swift:164:52:164:66 | CallExpr | CallExpr |

unified/ql/test/library-tests/dataflow/test.swift

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,3 +143,25 @@ func t16() {
143143
a += sink(a) + source("t16.1");
144144
sink(a); // $ hasTaintFlow=t16.1
145145
}
146+
147+
func t17() {
148+
var a = ("safe", "safe");
149+
a.0 = sink(a.0) + source("t17.1");
150+
sink(a.0); // $ hasTaintFlow=t17.1
151+
sink(a.1); // no flow
152+
}
153+
154+
func t18() {
155+
var a = ("safe", "safe");
156+
(a.0, _) = (sink(a.0) + source("t18.1"), source("t18.2"));
157+
sink(a.0); // $ hasTaintFlow=t18.1
158+
sink(a.1); // no flow
159+
}
160+
161+
func t19() {
162+
var a = "safe";
163+
var b = "safe";
164+
(a, b) = (sink(a) + source("t19.1"), sink(b) + source("t19.2"));
165+
sink(a); // $ hasTaintFlow=t19.1
166+
sink(b); // $ hasTaintFlow=t19.2
167+
}

0 commit comments

Comments
 (0)