Skip to content

Commit 8725e09

Browse files
authored
Merge pull request github#3798 from hvitved/csharp/dataflow/async-tests
C#: Move async data-flow tests from local to global
2 parents f81fc77 + b8ae4b7 commit 8725e09

12 files changed

+1896
-1916
lines changed

csharp/ql/test/library-tests/dataflow/global/DataFlow.expected

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,31 +12,33 @@
1212
| Capture.cs:161:15:161:20 | access to local variable sink36 |
1313
| Capture.cs:169:15:169:20 | access to local variable sink37 |
1414
| Capture.cs:195:15:195:20 | access to local variable sink38 |
15-
| GlobalDataFlow.cs:18:15:18:29 | access to field SinkField0 |
16-
| GlobalDataFlow.cs:26:15:26:32 | access to property SinkProperty0 |
17-
| GlobalDataFlow.cs:44:50:44:59 | access to parameter sinkParam2 |
18-
| GlobalDataFlow.cs:71:15:71:19 | access to local variable sink0 |
19-
| GlobalDataFlow.cs:73:15:73:19 | access to local variable sink1 |
20-
| GlobalDataFlow.cs:76:15:76:19 | access to local variable sink2 |
21-
| GlobalDataFlow.cs:79:15:79:19 | access to local variable sink3 |
22-
| GlobalDataFlow.cs:136:15:136:19 | access to local variable sink4 |
23-
| GlobalDataFlow.cs:144:15:144:19 | access to local variable sink5 |
24-
| GlobalDataFlow.cs:154:15:154:19 | access to local variable sink6 |
25-
| GlobalDataFlow.cs:157:15:157:19 | access to local variable sink7 |
26-
| GlobalDataFlow.cs:160:15:160:19 | access to local variable sink8 |
27-
| GlobalDataFlow.cs:164:15:164:20 | access to local variable sink23 |
28-
| GlobalDataFlow.cs:181:15:181:19 | access to local variable sink9 |
29-
| GlobalDataFlow.cs:190:15:190:20 | access to local variable sink10 |
30-
| GlobalDataFlow.cs:198:15:198:20 | access to local variable sink19 |
31-
| GlobalDataFlow.cs:239:15:239:24 | access to parameter sinkParam0 |
32-
| GlobalDataFlow.cs:244:15:244:24 | access to parameter sinkParam1 |
33-
| GlobalDataFlow.cs:249:15:249:24 | access to parameter sinkParam3 |
34-
| GlobalDataFlow.cs:254:15:254:24 | access to parameter sinkParam4 |
35-
| GlobalDataFlow.cs:259:15:259:24 | access to parameter sinkParam5 |
36-
| GlobalDataFlow.cs:264:15:264:24 | access to parameter sinkParam6 |
37-
| GlobalDataFlow.cs:269:15:269:24 | access to parameter sinkParam7 |
38-
| GlobalDataFlow.cs:383:15:383:20 | access to local variable sink11 |
39-
| GlobalDataFlow.cs:406:41:406:46 | access to local variable sink20 |
15+
| GlobalDataFlow.cs:19:15:19:29 | access to field SinkField0 |
16+
| GlobalDataFlow.cs:27:15:27:32 | access to property SinkProperty0 |
17+
| GlobalDataFlow.cs:45:50:45:59 | access to parameter sinkParam2 |
18+
| GlobalDataFlow.cs:72:15:72:19 | access to local variable sink0 |
19+
| GlobalDataFlow.cs:74:15:74:19 | access to local variable sink1 |
20+
| GlobalDataFlow.cs:77:15:77:19 | access to local variable sink2 |
21+
| GlobalDataFlow.cs:80:15:80:19 | access to local variable sink3 |
22+
| GlobalDataFlow.cs:137:15:137:19 | access to local variable sink4 |
23+
| GlobalDataFlow.cs:145:15:145:19 | access to local variable sink5 |
24+
| GlobalDataFlow.cs:155:15:155:19 | access to local variable sink6 |
25+
| GlobalDataFlow.cs:158:15:158:19 | access to local variable sink7 |
26+
| GlobalDataFlow.cs:161:15:161:19 | access to local variable sink8 |
27+
| GlobalDataFlow.cs:165:15:165:20 | access to local variable sink23 |
28+
| GlobalDataFlow.cs:182:15:182:19 | access to local variable sink9 |
29+
| GlobalDataFlow.cs:191:15:191:20 | access to local variable sink10 |
30+
| GlobalDataFlow.cs:199:15:199:20 | access to local variable sink19 |
31+
| GlobalDataFlow.cs:239:15:239:20 | access to local variable sink41 |
32+
| GlobalDataFlow.cs:241:15:241:20 | access to local variable sink42 |
33+
| GlobalDataFlow.cs:255:15:255:24 | access to parameter sinkParam0 |
34+
| GlobalDataFlow.cs:260:15:260:24 | access to parameter sinkParam1 |
35+
| GlobalDataFlow.cs:265:15:265:24 | access to parameter sinkParam3 |
36+
| GlobalDataFlow.cs:270:15:270:24 | access to parameter sinkParam4 |
37+
| GlobalDataFlow.cs:275:15:275:24 | access to parameter sinkParam5 |
38+
| GlobalDataFlow.cs:280:15:280:24 | access to parameter sinkParam6 |
39+
| GlobalDataFlow.cs:285:15:285:24 | access to parameter sinkParam7 |
40+
| GlobalDataFlow.cs:399:15:399:20 | access to local variable sink11 |
41+
| GlobalDataFlow.cs:422:41:422:46 | access to local variable sink20 |
4042
| Splitting.cs:9:15:9:15 | [b (line 3): false] access to local variable x |
4143
| Splitting.cs:9:15:9:15 | [b (line 3): true] access to local variable x |
4244
| Splitting.cs:11:19:11:19 | access to local variable x |

csharp/ql/test/library-tests/dataflow/global/DataFlowPath.expected

Lines changed: 261 additions & 254 deletions
Large diffs are not rendered by default.

csharp/ql/test/library-tests/dataflow/global/GetAnOutNode.expected

Lines changed: 168 additions & 164 deletions
Large diffs are not rendered by default.

csharp/ql/test/library-tests/dataflow/global/GlobalDataFlow.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Text;
33
using System.Collections.Generic;
44
using System.Linq;
5+
using System.Threading.Tasks;
56

67
/// <summary>
78
/// All (tainted) sinks are named `sink[Param|Field|Property]N`, for some N, and all
@@ -231,6 +232,21 @@ public void M2()
231232
Check(nonSink);
232233
}
233234

235+
public async void M3()
236+
{
237+
// async await, tainted
238+
var sink41 = Task.Run(() => "taint source");
239+
Check(sink41);
240+
var sink42 = await sink41;
241+
Check(sink42);
242+
243+
// async await, not tainted
244+
var nonSink0 = Task.Run(() => "");
245+
Check(nonSink0);
246+
var nonSink1 = await nonSink0;
247+
Check(nonSink1);
248+
}
249+
234250
static void Check<T>(T x) { }
235251

236252
static void In0<T>(T sinkParam0)

csharp/ql/test/library-tests/dataflow/global/TaintTracking.expected

Lines changed: 43 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -12,47 +12,49 @@
1212
| Capture.cs:161:15:161:20 | access to local variable sink36 |
1313
| Capture.cs:169:15:169:20 | access to local variable sink37 |
1414
| Capture.cs:195:15:195:20 | access to local variable sink38 |
15-
| GlobalDataFlow.cs:18:15:18:29 | access to field SinkField0 |
16-
| GlobalDataFlow.cs:26:15:26:32 | access to property SinkProperty0 |
17-
| GlobalDataFlow.cs:44:50:44:59 | access to parameter sinkParam2 |
18-
| GlobalDataFlow.cs:71:15:71:19 | access to local variable sink0 |
19-
| GlobalDataFlow.cs:73:15:73:19 | access to local variable sink1 |
20-
| GlobalDataFlow.cs:76:15:76:19 | access to local variable sink2 |
21-
| GlobalDataFlow.cs:79:15:79:19 | access to local variable sink3 |
22-
| GlobalDataFlow.cs:81:15:81:20 | access to local variable sink13 |
23-
| GlobalDataFlow.cs:83:15:83:20 | access to local variable sink14 |
24-
| GlobalDataFlow.cs:85:15:85:20 | access to local variable sink15 |
25-
| GlobalDataFlow.cs:87:15:87:20 | access to local variable sink16 |
26-
| GlobalDataFlow.cs:89:15:89:20 | access to local variable sink17 |
27-
| GlobalDataFlow.cs:91:15:91:20 | access to local variable sink18 |
28-
| GlobalDataFlow.cs:94:15:94:20 | access to local variable sink21 |
29-
| GlobalDataFlow.cs:97:15:97:20 | access to local variable sink22 |
30-
| GlobalDataFlow.cs:136:15:136:19 | access to local variable sink4 |
31-
| GlobalDataFlow.cs:144:15:144:19 | access to local variable sink5 |
32-
| GlobalDataFlow.cs:154:15:154:19 | access to local variable sink6 |
33-
| GlobalDataFlow.cs:157:15:157:19 | access to local variable sink7 |
34-
| GlobalDataFlow.cs:160:15:160:19 | access to local variable sink8 |
35-
| GlobalDataFlow.cs:162:15:162:20 | access to local variable sink12 |
36-
| GlobalDataFlow.cs:164:15:164:20 | access to local variable sink23 |
37-
| GlobalDataFlow.cs:181:15:181:19 | access to local variable sink9 |
38-
| GlobalDataFlow.cs:190:15:190:20 | access to local variable sink10 |
39-
| GlobalDataFlow.cs:198:15:198:20 | access to local variable sink19 |
40-
| GlobalDataFlow.cs:210:58:210:68 | access to parameter sinkParam10 |
41-
| GlobalDataFlow.cs:213:15:213:20 | access to local variable sink24 |
42-
| GlobalDataFlow.cs:215:15:215:20 | access to local variable sink25 |
43-
| GlobalDataFlow.cs:217:15:217:20 | access to local variable sink26 |
44-
| GlobalDataFlow.cs:239:15:239:24 | access to parameter sinkParam0 |
45-
| GlobalDataFlow.cs:244:15:244:24 | access to parameter sinkParam1 |
46-
| GlobalDataFlow.cs:249:15:249:24 | access to parameter sinkParam3 |
47-
| GlobalDataFlow.cs:254:15:254:24 | access to parameter sinkParam4 |
48-
| GlobalDataFlow.cs:259:15:259:24 | access to parameter sinkParam5 |
49-
| GlobalDataFlow.cs:264:15:264:24 | access to parameter sinkParam6 |
50-
| GlobalDataFlow.cs:269:15:269:24 | access to parameter sinkParam7 |
51-
| GlobalDataFlow.cs:296:15:296:24 | access to parameter sinkParam8 |
52-
| GlobalDataFlow.cs:302:15:302:24 | access to parameter sinkParam9 |
53-
| GlobalDataFlow.cs:308:15:308:25 | access to parameter sinkParam11 |
54-
| GlobalDataFlow.cs:383:15:383:20 | access to local variable sink11 |
55-
| GlobalDataFlow.cs:406:41:406:46 | access to local variable sink20 |
15+
| GlobalDataFlow.cs:19:15:19:29 | access to field SinkField0 |
16+
| GlobalDataFlow.cs:27:15:27:32 | access to property SinkProperty0 |
17+
| GlobalDataFlow.cs:45:50:45:59 | access to parameter sinkParam2 |
18+
| GlobalDataFlow.cs:72:15:72:19 | access to local variable sink0 |
19+
| GlobalDataFlow.cs:74:15:74:19 | access to local variable sink1 |
20+
| GlobalDataFlow.cs:77:15:77:19 | access to local variable sink2 |
21+
| GlobalDataFlow.cs:80:15:80:19 | access to local variable sink3 |
22+
| GlobalDataFlow.cs:82:15:82:20 | access to local variable sink13 |
23+
| GlobalDataFlow.cs:84:15:84:20 | access to local variable sink14 |
24+
| GlobalDataFlow.cs:86:15:86:20 | access to local variable sink15 |
25+
| GlobalDataFlow.cs:88:15:88:20 | access to local variable sink16 |
26+
| GlobalDataFlow.cs:90:15:90:20 | access to local variable sink17 |
27+
| GlobalDataFlow.cs:92:15:92:20 | access to local variable sink18 |
28+
| GlobalDataFlow.cs:95:15:95:20 | access to local variable sink21 |
29+
| GlobalDataFlow.cs:98:15:98:20 | access to local variable sink22 |
30+
| GlobalDataFlow.cs:137:15:137:19 | access to local variable sink4 |
31+
| GlobalDataFlow.cs:145:15:145:19 | access to local variable sink5 |
32+
| GlobalDataFlow.cs:155:15:155:19 | access to local variable sink6 |
33+
| GlobalDataFlow.cs:158:15:158:19 | access to local variable sink7 |
34+
| GlobalDataFlow.cs:161:15:161:19 | access to local variable sink8 |
35+
| GlobalDataFlow.cs:163:15:163:20 | access to local variable sink12 |
36+
| GlobalDataFlow.cs:165:15:165:20 | access to local variable sink23 |
37+
| GlobalDataFlow.cs:182:15:182:19 | access to local variable sink9 |
38+
| GlobalDataFlow.cs:191:15:191:20 | access to local variable sink10 |
39+
| GlobalDataFlow.cs:199:15:199:20 | access to local variable sink19 |
40+
| GlobalDataFlow.cs:211:58:211:68 | access to parameter sinkParam10 |
41+
| GlobalDataFlow.cs:214:15:214:20 | access to local variable sink24 |
42+
| GlobalDataFlow.cs:216:15:216:20 | access to local variable sink25 |
43+
| GlobalDataFlow.cs:218:15:218:20 | access to local variable sink26 |
44+
| GlobalDataFlow.cs:239:15:239:20 | access to local variable sink41 |
45+
| GlobalDataFlow.cs:241:15:241:20 | access to local variable sink42 |
46+
| GlobalDataFlow.cs:255:15:255:24 | access to parameter sinkParam0 |
47+
| GlobalDataFlow.cs:260:15:260:24 | access to parameter sinkParam1 |
48+
| GlobalDataFlow.cs:265:15:265:24 | access to parameter sinkParam3 |
49+
| GlobalDataFlow.cs:270:15:270:24 | access to parameter sinkParam4 |
50+
| GlobalDataFlow.cs:275:15:275:24 | access to parameter sinkParam5 |
51+
| GlobalDataFlow.cs:280:15:280:24 | access to parameter sinkParam6 |
52+
| GlobalDataFlow.cs:285:15:285:24 | access to parameter sinkParam7 |
53+
| GlobalDataFlow.cs:312:15:312:24 | access to parameter sinkParam8 |
54+
| GlobalDataFlow.cs:318:15:318:24 | access to parameter sinkParam9 |
55+
| GlobalDataFlow.cs:324:15:324:25 | access to parameter sinkParam11 |
56+
| GlobalDataFlow.cs:399:15:399:20 | access to local variable sink11 |
57+
| GlobalDataFlow.cs:422:41:422:46 | access to local variable sink20 |
5658
| Splitting.cs:9:15:9:15 | [b (line 3): false] access to local variable x |
5759
| Splitting.cs:9:15:9:15 | [b (line 3): true] access to local variable x |
5860
| Splitting.cs:11:19:11:19 | access to local variable x |

0 commit comments

Comments
 (0)