Skip to content

Commit adeff8c

Browse files
committed
C#: Convert neutral capture test to inline expectation.
1 parent e3b6ee1 commit adeff8c

File tree

7 files changed

+39
-27
lines changed

7 files changed

+39
-27
lines changed
Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,2 @@
1-
| NoSummaries;BaseClass;M1;(System.String);summary;df-generated |
2-
| NoSummaries;BaseClass;M2;(System.String);summary;df-generated |
3-
| NoSummaries;CollectionFlow;ReturnSimpleTypeArray;(System.Int32[]);summary;df-generated |
4-
| NoSummaries;CollectionFlow;ReturnSimpleTypeDictionary;(System.Collections.Generic.Dictionary<System.Int32,System.Int32>);summary;df-generated |
5-
| NoSummaries;CollectionFlow;ReturnSimpleTypeList;(System.Collections.Generic.List<System.Int32>);summary;df-generated |
6-
| NoSummaries;EquatableBound;Equals;(System.Object);summary;df-generated |
7-
| NoSummaries;EquatableUnBound<T>;Equals;(T);summary;df-generated |
8-
| NoSummaries;SimpleTypes;M1;(System.Boolean);summary;df-generated |
9-
| NoSummaries;SimpleTypes;M2;(System.Boolean);summary;df-generated |
10-
| NoSummaries;SimpleTypes;M3;(System.Int32);summary;df-generated |
11-
| NoSummaries;SimpleTypes;M4;(System.Int32);summary;df-generated |
12-
| Sinks;NewSinks;WrapFieldResponseWriteFile;();summary;df-generated |
13-
| Sinks;NewSinks;WrapPrivateFieldResponseWriteFile;();summary;df-generated |
14-
| Sinks;NewSinks;WrapPrivatePropResponseWriteFile;();summary;df-generated |
15-
| Sinks;NewSinks;WrapPropPrivateSetResponseWriteFile;();summary;df-generated |
16-
| Sinks;NewSinks;WrapPropResponseWriteFile;();summary;df-generated |
17-
| Sinks;NewSinks;WrapResponseWrite;(System.Object);summary;df-generated |
18-
| Sinks;NewSinks;WrapResponseWriteFile;(System.String);summary;df-generated |
19-
| Sources;NewSources;WrapConsoleReadKey;();summary;df-generated |
20-
| Sources;NewSources;WrapConsoleReadLine;();summary;df-generated |
21-
| Sources;NewSources;WrapConsoleReadLineAndProcees;(System.String);summary;df-generated |
22-
| Summaries;EqualsGetHashCodeNoFlow;Equals;(System.Object);summary;df-generated |
23-
| Summaries;EqualsGetHashCodeNoFlow;GetHashCode;();summary;df-generated |
24-
| Summaries;OperatorFlow;op_Increment;(Summaries.OperatorFlow);summary;df-generated |
1+
unexpectedModel
2+
expectedModel
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import csharp
2+
import utils.modelgenerator.internal.CaptureSummaryFlowQuery
3+
import TestUtilities.InlineMadTest
4+
5+
module InlineMadTestConfig implements InlineMadTestConfigSig {
6+
string getCapturedModel(Callable c) { result = captureNoFlow(c) }
7+
8+
string getKind() { result = "neutral" }
9+
}
10+
11+
import InlineMadTest<InlineMadTestConfig>

csharp/ql/test/utils/modelgenerator/dataflow/CaptureNeutralModels.qlref

Lines changed: 0 additions & 1 deletion
This file was deleted.

csharp/ql/test/utils/modelgenerator/dataflow/NoSummaries.cs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ public object ReturnParam(object input)
4949
public class EquatableBound : IEquatable<object>
5050
{
5151
public readonly bool tainted;
52+
53+
// neutral=NoSummaries;EquatableBound;Equals;(System.Object);summary;df-generated
5254
public bool Equals(object other)
5355
{
5456
return tainted;
@@ -58,6 +60,8 @@ public bool Equals(object other)
5860
public class EquatableUnBound<T> : IEquatable<T>
5961
{
6062
public readonly bool tainted;
63+
64+
// neutral=NoSummaries;EquatableUnBound<T>;Equals;(T);summary;df-generated
6165
public bool Equals(T? other)
6266
{
6367
return tainted;
@@ -68,21 +72,25 @@ public bool Equals(T? other)
6872
// simple types are used.
6973
public class SimpleTypes
7074
{
75+
// neutral=NoSummaries;SimpleTypes;M1;(System.Boolean);summary;df-generated
7176
public bool M1(bool b)
7277
{
7378
return b;
7479
}
7580

81+
// neutral=NoSummaries;SimpleTypes;M2;(System.Boolean);summary;df-generated
7682
public Boolean M2(Boolean b)
7783
{
7884
return b;
7985
}
8086

87+
// neutral=NoSummaries;SimpleTypes;M3;(System.Int32);summary;df-generated
8188
public int M3(int i)
8289
{
8390
return i;
8491
}
8592

93+
// neutral=NoSummaries;SimpleTypes;M4;(System.Int32);summary;df-generated
8694
public Int32 M4(Int32 i)
8795
{
8896
return i;
@@ -104,30 +112,33 @@ public object M2(Func<object, object> map, object o)
104112

105113
public abstract class BaseClass
106114
{
107-
// Negative summary.
115+
// neutral=NoSummaries;BaseClass;M1;(System.String);summary;df-generated
108116
public virtual string M1(string s)
109117
{
110118
return "";
111119
}
112120

113-
// Negative summary.
121+
// neutral=NoSummaries;BaseClass;M2;(System.String);summary;df-generated
114122
public abstract string M2(string s);
115123
}
116124

117125
// No methods in this class will have generated flow as
118126
// the simple types used in the collection are not bulk data types.
119127
public class CollectionFlow
120128
{
129+
// neutral=NoSummaries;CollectionFlow;ReturnSimpleTypeArray;(System.Int32[]);summary;df-generated
121130
public int[] ReturnSimpleTypeArray(int[] a)
122131
{
123132
return a;
124133
}
125134

135+
// neutral=NoSummaries;CollectionFlow;ReturnSimpleTypeList;(System.Collections.Generic.List<System.Int32>);summary;df-generated
126136
public List<int> ReturnSimpleTypeList(List<int> a)
127137
{
128138
return a;
129139
}
130140

141+
// neutral=NoSummaries;CollectionFlow;ReturnSimpleTypeDictionary;(System.Collections.Generic.Dictionary<System.Int32,System.Int32>);summary;df-generated
131142
public Dictionary<int, int> ReturnSimpleTypeDictionary(Dictionary<int, int> a)
132143
{
133144
return a;

csharp/ql/test/utils/modelgenerator/dataflow/Sinks.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class NewSinks
1414

1515
// New sink
1616
// sink=Sinks;NewSinks;false;WrapResponseWrite;(System.Object);;Argument[0];html-injection;df-generated
17+
// neutral=Sinks;NewSinks;WrapResponseWrite;(System.Object);summary;df-generated
1718
public void WrapResponseWrite(object o)
1819
{
1920
var response = new HttpResponse();
@@ -29,6 +30,7 @@ private void PrivateWrapResponseWrite(object o)
2930

3031
// New sink
3132
// sink=Sinks;NewSinks;false;WrapResponseWriteFile;(System.String);;Argument[0];html-injection;df-generated
33+
// neutral=Sinks;NewSinks;WrapResponseWriteFile;(System.String);summary;df-generated
3234
public void WrapResponseWriteFile(string s)
3335
{
3436
var response = new HttpResponse();
@@ -37,13 +39,15 @@ public void WrapResponseWriteFile(string s)
3739

3840
// New sink
3941
// sink=Sinks;NewSinks;false;WrapFieldResponseWriteFile;();;Argument[this];html-injection;df-generated
42+
// neutral=Sinks;NewSinks;WrapFieldResponseWriteFile;();summary;df-generated
4043
public void WrapFieldResponseWriteFile()
4144
{
4245
var response = new HttpResponse();
4346
response.WriteFile(tainted);
4447
}
4548

4649
// NOT new sink as field is private
50+
// neutral=Sinks;NewSinks;WrapPrivateFieldResponseWriteFile;();summary;df-generated
4751
public void WrapPrivateFieldResponseWriteFile()
4852
{
4953
var response = new HttpResponse();
@@ -52,20 +56,23 @@ public void WrapPrivateFieldResponseWriteFile()
5256

5357
// New sink
5458
// sink=Sinks;NewSinks;false;WrapPropResponseWriteFile;();;Argument[this];html-injection;df-generated
59+
// neutral=Sinks;NewSinks;WrapPropResponseWriteFile;();summary;df-generated
5560
public void WrapPropResponseWriteFile()
5661
{
5762
var response = new HttpResponse();
5863
response.WriteFile(TaintedProp);
5964
}
6065

6166
// NOT new sink as property is private
67+
// neutral=Sinks;NewSinks;WrapPrivatePropResponseWriteFile;();summary;df-generated
6268
public void WrapPrivatePropResponseWriteFile()
6369
{
6470
var response = new HttpResponse();
6571
response.WriteFile(PrivateTaintedProp);
6672
}
6773

6874
// NOT new sink as property setter is private
75+
// neutral=Sinks;NewSinks;WrapPropPrivateSetResponseWriteFile;();summary;df-generated
6976
public void WrapPropPrivateSetResponseWriteFile()
7077
{
7178
var response = new HttpResponse();

csharp/ql/test/utils/modelgenerator/dataflow/Sources.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ public class NewSources
66
{
77
// New source
88
// source=Sources;NewSources;false;WrapConsoleReadLine;();;ReturnValue;local;df-generated
9+
// neutral=Sources;NewSources;WrapConsoleReadLine;();summary;df-generated
910
public string? WrapConsoleReadLine()
1011
{
1112
return Console.ReadLine();
1213
}
1314

1415
// New source
1516
// source=Sources;NewSources;false;WrapConsoleReadLineAndProcees;(System.String);;ReturnValue;local;df-generated
17+
// neutral=Sources;NewSources;WrapConsoleReadLineAndProcees;(System.String);summary;df-generated
1618
public string WrapConsoleReadLineAndProcees(string prompt)
1719
{
1820
var s = Console.ReadLine();
@@ -27,6 +29,7 @@ public string WrapConsoleReadLineAndProcees(string prompt)
2729

2830
// New source
2931
// source=Sources;NewSources;false;WrapConsoleReadKey;();;ReturnValue;local;df-generated
32+
// neutral=Sources;NewSources;WrapConsoleReadKey;();summary;df-generated
3033
public ConsoleKeyInfo WrapConsoleReadKey()
3134
{
3235
return Console.ReadKey();

csharp/ql/test/utils/modelgenerator/dataflow/Summaries.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,7 @@ public OperatorFlow(object o)
254254
}
255255

256256
// No flow summary.
257+
// neutral=Summaries;OperatorFlow;op_Increment;(Summaries.OperatorFlow);summary;df-generated
257258
public static OperatorFlow operator ++(OperatorFlow a)
258259
{
259260
return new OperatorFlow(new object());
@@ -279,6 +280,7 @@ public class EqualsGetHashCodeNoFlow
279280
public readonly int intTainted;
280281

281282
// No flow summary as this is an override of the Equals method.
283+
// neutral=Summaries;EqualsGetHashCodeNoFlow;Equals;(System.Object);summary;df-generated
282284
public override bool Equals(object obj)
283285
{
284286
return boolTainted;
@@ -292,6 +294,7 @@ public string Equals(string s)
292294
}
293295

294296
// No flow summary as this is an override of the GetHashCode method.
297+
// neutral=Summaries;EqualsGetHashCodeNoFlow;GetHashCode;();summary;df-generated
295298
public override int GetHashCode()
296299
{
297300
return intTainted;

0 commit comments

Comments
 (0)