Skip to content

Commit dc62cd1

Browse files
authored
C#: Enable nullability checks in Semmle.Extraction.Tests (#4112)
1 parent e2c6a01 commit dc62cd1

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

csharp/extractor/Semmle.Extraction.Tests/Layout.cs

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ public void TestDefaultLayout()
1515
var layout = new Semmle.Extraction.Layout(null, null, null);
1616
var project = layout.LookupProjectOrNull("foo.cs");
1717

18+
Assert.NotNull(project);
19+
1820
// All files are mapped when there's no layout file.
1921
Assert.True(layout.FileInLayout("foo.cs"));
2022

@@ -28,7 +30,7 @@ public void TestDefaultLayout()
2830
Assert.NotEqual(Directory.GetCurrentDirectory(), tmpDir);
2931
return;
3032
}
31-
var f1 = project.GetTrapPath(Logger, "foo.cs", TrapWriter.CompressionMode.Gzip);
33+
var f1 = project!.GetTrapPath(Logger, "foo.cs", TrapWriter.CompressionMode.Gzip);
3234
var g1 = TrapWriter.NestPaths(Logger, tmpDir, "foo.cs.trap.gz", TrapWriter.InnerPathComputation.ABSOLUTE);
3335
Assert.Equal(f1, g1);
3436

@@ -72,7 +74,9 @@ public void TestLayoutFile()
7274

7375
// Test the trap file
7476
var project = layout.LookupProjectOrNull("bar.cs");
75-
var trapwriterFilename = project.GetTrapPath(Logger, "bar.cs", TrapWriter.CompressionMode.Gzip);
77+
Assert.NotNull(project);
78+
79+
var trapwriterFilename = project!.GetTrapPath(Logger, "bar.cs", TrapWriter.CompressionMode.Gzip);
7680
Assert.Equal(TrapWriter.NestPaths(Logger, Path.GetFullPath("snapshot\\trap"), "bar.cs.trap.gz", TrapWriter.InnerPathComputation.ABSOLUTE),
7781
trapwriterFilename);
7882

@@ -90,7 +94,9 @@ public void TestTrapOverridesLayout()
9094
// When you specify both a trap file and a layout, use the trap file.
9195
var layout = new Semmle.Extraction.Layout(Path.GetFullPath("snapshot\\trap"), null, "something.txt");
9296
Assert.True(layout.FileInLayout("bar.cs"));
93-
var f1 = layout.LookupProjectOrNull("foo.cs").GetTrapPath(Logger, "foo.cs", TrapWriter.CompressionMode.Gzip);
97+
var subProject = layout.LookupProjectOrNull("foo.cs");
98+
Assert.NotNull(subProject);
99+
var f1 = subProject!.GetTrapPath(Logger, "foo.cs", TrapWriter.CompressionMode.Gzip);
94100
var g1 = TrapWriter.NestPaths(Logger, Path.GetFullPath("snapshot\\trap"), "foo.cs.trap.gz", TrapWriter.InnerPathComputation.ABSOLUTE);
95101
Assert.Equal(f1, g1);
96102
}
@@ -118,13 +124,17 @@ public void TestMultipleSections()
118124

119125
// Use Section 2
120126
Assert.True(layout.FileInLayout("bar.cs"));
121-
var f1 = layout.LookupProjectOrNull("bar.cs").GetTrapPath(Logger, "bar.cs", TrapWriter.CompressionMode.Gzip);
127+
var subProject = layout.LookupProjectOrNull("bar.cs");
128+
Assert.NotNull(subProject);
129+
var f1 = subProject!.GetTrapPath(Logger, "bar.cs", TrapWriter.CompressionMode.Gzip);
122130
var g1 = TrapWriter.NestPaths(Logger, Path.GetFullPath("snapshot\\trap2"), "bar.cs.trap.gz", TrapWriter.InnerPathComputation.ABSOLUTE);
123131
Assert.Equal(f1, g1);
124132

125133
// Use Section 1
126134
Assert.True(layout.FileInLayout("foo.cs"));
127-
var f2 = layout.LookupProjectOrNull("foo.cs").GetTrapPath(Logger, "foo.cs", TrapWriter.CompressionMode.Gzip);
135+
subProject = layout.LookupProjectOrNull("foo.cs");
136+
Assert.NotNull(subProject);
137+
var f2 = subProject!.GetTrapPath(Logger, "foo.cs", TrapWriter.CompressionMode.Gzip);
128138
var g2 = TrapWriter.NestPaths(Logger, Path.GetFullPath("snapshot\\trap1"), "foo.cs.trap.gz", TrapWriter.InnerPathComputation.ABSOLUTE);
129139
Assert.Equal(f2, g2);
130140

csharp/extractor/Semmle.Extraction.Tests/Options.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ namespace Semmle.Extraction.Tests
99
{
1010
public class OptionsTests
1111
{
12-
CSharp.Options options;
13-
CSharp.Standalone.Options standaloneOptions;
12+
CSharp.Options? options;
13+
CSharp.Standalone.Options? standaloneOptions;
1414

1515
public OptionsTests()
1616
{

csharp/extractor/Semmle.Extraction.Tests/Semmle.Extraction.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<TargetFramework>netcoreapp3.0</TargetFramework>
66
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
77
<RuntimeIdentifiers>win-x64;linux-x64;osx-x64</RuntimeIdentifiers>
8+
<Nullable>enable</Nullable>
89
</PropertyGroup>
910

1011
<ItemGroup>

0 commit comments

Comments
 (0)