Skip to content

Commit 8e64880

Browse files
committed
Fix and add unit tests
1 parent 976c627 commit 8e64880

File tree

1 file changed

+35
-4
lines changed

1 file changed

+35
-4
lines changed

csharp/autobuilder/Semmle.Autobuild.CSharp.Tests/BuildScripts.cs

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,8 @@ public void TestVcVarsAllBatFiles()
558558
[Fact]
559559
public void TestLinuxBuildlessExtractionSuccess()
560560
{
561+
actions.RunProcess["dotnet --info"] = 0;
562+
actions.RunProcessOut["dotnet --info"] = "";
561563
actions.RunProcess[@"C:\codeql\csharp/tools/linux64/Semmle.Extraction.CSharp.Standalone"] = 0;
562564
actions.FileExists["csharp.log"] = true;
563565
actions.GetEnvironmentVariable["CODEQL_EXTRACTOR_CSHARP_TRAP_DIR"] = "";
@@ -567,12 +569,14 @@ public void TestLinuxBuildlessExtractionSuccess()
567569
actions.EnumerateDirectories[@"C:\Project"] = "";
568570

569571
var autobuilder = CreateAutoBuilder(false, buildless: "true");
570-
TestAutobuilderScript(autobuilder, 0, 1);
572+
TestAutobuilderScript(autobuilder, 0, 2);
571573
}
572574

573575
[Fact]
574576
public void TestLinuxBuildlessExtractionFailed()
575577
{
578+
actions.RunProcess["dotnet --info"] = 0;
579+
actions.RunProcessOut["dotnet --info"] = "";
576580
actions.RunProcess[@"C:\codeql\csharp/tools/linux64/Semmle.Extraction.CSharp.Standalone"] = 10;
577581
actions.FileExists["csharp.log"] = true;
578582
actions.GetEnvironmentVariable["CODEQL_EXTRACTOR_CSHARP_TRAP_DIR"] = "";
@@ -582,12 +586,14 @@ public void TestLinuxBuildlessExtractionFailed()
582586
actions.EnumerateDirectories[@"C:\Project"] = "";
583587

584588
var autobuilder = CreateAutoBuilder(false, buildless: "true");
585-
TestAutobuilderScript(autobuilder, 10, 1);
589+
TestAutobuilderScript(autobuilder, 10, 2);
586590
}
587591

588592
[Fact]
589593
public void TestLinuxBuildlessExtractionSolution()
590594
{
595+
actions.RunProcess["dotnet --info"] = 0;
596+
actions.RunProcessOut["dotnet --info"] = "";
591597
actions.RunProcess[@"C:\codeql\csharp/tools/linux64/Semmle.Extraction.CSharp.Standalone"] = 0;
592598
actions.FileExists["csharp.log"] = true;
593599
actions.GetEnvironmentVariable["CODEQL_EXTRACTOR_CSHARP_TRAP_DIR"] = "";
@@ -597,7 +603,30 @@ public void TestLinuxBuildlessExtractionSolution()
597603
actions.EnumerateDirectories[@"C:\Project"] = "";
598604

599605
var autobuilder = CreateAutoBuilder(false, buildless: "true");
600-
TestAutobuilderScript(autobuilder, 0, 1);
606+
TestAutobuilderScript(autobuilder, 0, 2);
607+
}
608+
609+
[Fact]
610+
public void TestLinuxBuildlessExtractionNoDotnet()
611+
{
612+
actions.RunProcess["dotnet --info"] = 1;
613+
actions.RunProcessOut["dotnet --info"] = "";
614+
actions.RunProcess["dotnet --list-sdks"] = 1;
615+
actions.RunProcessOut["dotnet --list-sdks"] = "";
616+
actions.RunProcess[@"chmod u+x scratch/.dotnet/dotnet-install.sh"] = 0;
617+
actions.RunProcess[@"scratch/.dotnet/dotnet-install.sh --channel release --version 8.0.101 --install-dir scratch/.dotnet"] = 0;
618+
actions.RunProcess[@"C:\codeql\csharp/tools/linux64/Semmle.Extraction.CSharp.Standalone --dotnet scratch/.dotnet"] = 0;
619+
actions.FileExists["csharp.log"] = true;
620+
actions.GetEnvironmentVariable["CODEQL_EXTRACTOR_CSHARP_TRAP_DIR"] = "";
621+
actions.GetEnvironmentVariable["CODEQL_EXTRACTOR_CSHARP_SOURCE_ARCHIVE_DIR"] = "";
622+
actions.GetEnvironmentVariable["CODEQL_EXTRACTOR_CSHARP_SCRATCH_DIR"] = "scratch";
623+
actions.EnumerateFiles[@"C:\Project"] = "foo.cs\ntest.sln";
624+
actions.EnumerateDirectories[@"C:\Project"] = "";
625+
actions.DownloadFiles.Add(("https://dot.net/v1/dotnet-install.sh", "scratch/.dotnet/dotnet-install.sh"));
626+
actions.CreateDirectories.Add(@"scratch/.dotnet");
627+
628+
var autobuilder = CreateAutoBuilder(false, buildless: "true");
629+
TestAutobuilderScript(autobuilder, 0, 5);
601630
}
602631

603632
private void SkipVsWhere()
@@ -888,6 +917,8 @@ public void TestSkipNugetMsBuild()
888917
[Fact]
889918
public void TestSkipNugetBuildless()
890919
{
920+
actions.RunProcess["dotnet --info"] = 0;
921+
actions.RunProcessOut["dotnet --info"] = "";
891922
actions.RunProcess[@"C:\codeql\csharp/tools/linux64/Semmle.Extraction.CSharp.Standalone"] = 0;
892923
actions.FileExists["csharp.log"] = true;
893924
actions.GetEnvironmentVariable["CODEQL_EXTRACTOR_CSHARP_TRAP_DIR"] = "";
@@ -897,7 +928,7 @@ public void TestSkipNugetBuildless()
897928
actions.EnumerateDirectories[@"C:\Project"] = "";
898929

899930
var autobuilder = CreateAutoBuilder(false, buildless: "true");
900-
TestAutobuilderScript(autobuilder, 0, 1);
931+
TestAutobuilderScript(autobuilder, 0, 2);
901932
}
902933

903934

0 commit comments

Comments
 (0)