Skip to content

Commit 209b9c6

Browse files
committed
C#: Re-factor to use inline expectation tests instead.
1 parent 40375a0 commit 209b9c6

File tree

4 files changed

+16
-17
lines changed

4 files changed

+16
-17
lines changed

csharp/ql/test/query-tests/API Abuse/NoDisposeCallOnLocalIDisposable/NoDisposeCallOnLocalIDisposable.cs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ public IDisposable Method()
4848
}
4949

5050
// BAD: No Dispose call
51-
var c1d = new Timer(TimerProc);
52-
var fs = new FileStream("", FileMode.CreateNew, FileAccess.Write);
53-
new FileStream("", FileMode.CreateNew, FileAccess.Write).Fluent();
51+
var c1d = new Timer(TimerProc); // $ Alert
52+
var fs = new FileStream("", FileMode.CreateNew, FileAccess.Write); // $ Alert
53+
new FileStream("", FileMode.CreateNew, FileAccess.Write).Fluent(); // $ Alert
5454

5555
// GOOD: Disposed via wrapper
5656
fs = new FileStream("", FileMode.CreateNew, FileAccess.Write);
@@ -72,7 +72,7 @@ public IDisposable Method()
7272
;
7373

7474
// GOOD: XmlDocument.Load disposes incoming XmlReader (False positive as this is disposed in library code)
75-
var xmlReader = XmlReader.Create(new StringReader("xml"), null);
75+
var xmlReader = XmlReader.Create(new StringReader("xml"), null); // $ Alert
7676
var xmlDoc = new XmlDocument();
7777
xmlDoc.Load(xmlReader);
7878

@@ -104,6 +104,15 @@ void TimerProc(object obj)
104104
public void Dispose() { }
105105
}
106106

107+
class Bad
108+
{
109+
long GetLength(string file)
110+
{
111+
var stream = new FileStream(file, FileMode.Open); // $ Alert
112+
return stream.Length;
113+
}
114+
}
115+
107116
static class Extensions
108117
{
109118
public static FileStream Fluent(this FileStream fs) => fs;

csharp/ql/test/query-tests/API Abuse/NoDisposeCallOnLocalIDisposable/NoDisposeCallOnLocalIDisposable.expected

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
| NoDisposeCallOnLocalIDisposable.cs:53:9:53:64 | object creation of type FileStream | Disposable 'FileStream' is created but not disposed. |
44
| NoDisposeCallOnLocalIDisposable.cs:75:25:75:71 | call to method Create | Disposable 'XmlReader' is created but not disposed. |
55
| NoDisposeCallOnLocalIDisposable.cs:75:42:75:64 | object creation of type StringReader | Disposable 'StringReader' is created but not disposed. |
6-
| NoDisposeCallOnLocalIDisposableBad.cs:8:22:8:56 | object creation of type FileStream | Disposable 'FileStream' is created but not disposed. |
6+
| NoDisposeCallOnLocalIDisposable.cs:111:22:111:56 | object creation of type FileStream | Disposable 'FileStream' is created but not disposed. |
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
API Abuse/NoDisposeCallOnLocalIDisposable.ql
1+
query: API Abuse/NoDisposeCallOnLocalIDisposable.ql
2+
postprocess: utils/test/InlineExpectationsTestQuery.ql

csharp/ql/test/query-tests/API Abuse/NoDisposeCallOnLocalIDisposable/NoDisposeCallOnLocalIDisposableBad.cs

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)