@@ -558,6 +558,8 @@ public void TestVcVarsAllBatFiles()
558
558
[ Fact ]
559
559
public void TestLinuxBuildlessExtractionSuccess ( )
560
560
{
561
+ actions . RunProcess [ "dotnet --info" ] = 0 ;
562
+ actions . RunProcessOut [ "dotnet --info" ] = "" ;
561
563
actions . RunProcess [ @"C:\codeql\csharp/tools/linux64/Semmle.Extraction.CSharp.Standalone" ] = 0 ;
562
564
actions . FileExists [ "csharp.log" ] = true ;
563
565
actions . GetEnvironmentVariable [ "CODEQL_EXTRACTOR_CSHARP_TRAP_DIR" ] = "" ;
@@ -567,12 +569,14 @@ public void TestLinuxBuildlessExtractionSuccess()
567
569
actions . EnumerateDirectories [ @"C:\Project" ] = "" ;
568
570
569
571
var autobuilder = CreateAutoBuilder ( false , buildless : "true" ) ;
570
- TestAutobuilderScript ( autobuilder , 0 , 1 ) ;
572
+ TestAutobuilderScript ( autobuilder , 0 , 2 ) ;
571
573
}
572
574
573
575
[ Fact ]
574
576
public void TestLinuxBuildlessExtractionFailed ( )
575
577
{
578
+ actions . RunProcess [ "dotnet --info" ] = 0 ;
579
+ actions . RunProcessOut [ "dotnet --info" ] = "" ;
576
580
actions . RunProcess [ @"C:\codeql\csharp/tools/linux64/Semmle.Extraction.CSharp.Standalone" ] = 10 ;
577
581
actions . FileExists [ "csharp.log" ] = true ;
578
582
actions . GetEnvironmentVariable [ "CODEQL_EXTRACTOR_CSHARP_TRAP_DIR" ] = "" ;
@@ -582,12 +586,14 @@ public void TestLinuxBuildlessExtractionFailed()
582
586
actions . EnumerateDirectories [ @"C:\Project" ] = "" ;
583
587
584
588
var autobuilder = CreateAutoBuilder ( false , buildless : "true" ) ;
585
- TestAutobuilderScript ( autobuilder , 10 , 1 ) ;
589
+ TestAutobuilderScript ( autobuilder , 10 , 2 ) ;
586
590
}
587
591
588
592
[ Fact ]
589
593
public void TestLinuxBuildlessExtractionSolution ( )
590
594
{
595
+ actions . RunProcess [ "dotnet --info" ] = 0 ;
596
+ actions . RunProcessOut [ "dotnet --info" ] = "" ;
591
597
actions . RunProcess [ @"C:\codeql\csharp/tools/linux64/Semmle.Extraction.CSharp.Standalone" ] = 0 ;
592
598
actions . FileExists [ "csharp.log" ] = true ;
593
599
actions . GetEnvironmentVariable [ "CODEQL_EXTRACTOR_CSHARP_TRAP_DIR" ] = "" ;
@@ -597,7 +603,30 @@ public void TestLinuxBuildlessExtractionSolution()
597
603
actions . EnumerateDirectories [ @"C:\Project" ] = "" ;
598
604
599
605
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\n test.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 ) ;
601
630
}
602
631
603
632
private void SkipVsWhere ( )
@@ -888,6 +917,8 @@ public void TestSkipNugetMsBuild()
888
917
[ Fact ]
889
918
public void TestSkipNugetBuildless ( )
890
919
{
920
+ actions . RunProcess [ "dotnet --info" ] = 0 ;
921
+ actions . RunProcessOut [ "dotnet --info" ] = "" ;
891
922
actions . RunProcess [ @"C:\codeql\csharp/tools/linux64/Semmle.Extraction.CSharp.Standalone" ] = 0 ;
892
923
actions . FileExists [ "csharp.log" ] = true ;
893
924
actions . GetEnvironmentVariable [ "CODEQL_EXTRACTOR_CSHARP_TRAP_DIR" ] = "" ;
@@ -897,7 +928,7 @@ public void TestSkipNugetBuildless()
897
928
actions . EnumerateDirectories [ @"C:\Project" ] = "" ;
898
929
899
930
var autobuilder = CreateAutoBuilder ( false , buildless : "true" ) ;
900
- TestAutobuilderScript ( autobuilder , 0 , 1 ) ;
931
+ TestAutobuilderScript ( autobuilder , 0 , 2 ) ;
901
932
}
902
933
903
934
0 commit comments