Skip to content

Commit 7dfb9d8

Browse files
authored
[release/dev18.3] Fix build task integration tests (#81312)
Backport of #81128.
1 parent 02d3016 commit 7dfb9d8

File tree

5 files changed

+35
-18
lines changed

5 files changed

+35
-18
lines changed

eng/build-utils.ps1

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,3 +269,21 @@ function Unsubst-TempDir() {
269269
$env:TMP=$originalTemp
270270
}
271271
}
272+
273+
function EnablePreviewSdks() {
274+
$vsInfo = LocateVisualStudio
275+
if ($vsInfo -eq $null) {
276+
# Preview SDKs are allowed when no Visual Studio instance is installed
277+
Write-Host "No Visual Studio installation found; skipping enabling preview SDKs"
278+
return
279+
}
280+
281+
$vsId = $vsInfo.instanceId
282+
$vsMajorVersion = $vsInfo.installationVersion.Split('.')[0]
283+
284+
$instanceDir = Join-Path ${env:USERPROFILE} "AppData\Local\Microsoft\VisualStudio\$vsMajorVersion.0_$vsId"
285+
Create-Directory $instanceDir
286+
$sdkFile = Join-Path $instanceDir "sdk.txt"
287+
Write-Host "Enabling preview SDKs by writing to $sdkFile"
288+
'UsePreviews=True' | Set-Content $sdkFile
289+
}

eng/build.ps1

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -526,22 +526,6 @@ function TestUsingRunTests() {
526526
}
527527
}
528528

529-
function EnablePreviewSdks() {
530-
$vsInfo = LocateVisualStudio
531-
if ($vsInfo -eq $null) {
532-
# Preview SDKs are allowed when no Visual Studio instance is installed
533-
return
534-
}
535-
536-
$vsId = $vsInfo.instanceId
537-
$vsMajorVersion = $vsInfo.installationVersion.Split('.')[0]
538-
539-
$instanceDir = Join-Path ${env:USERPROFILE} "AppData\Local\Microsoft\VisualStudio\$vsMajorVersion.0_$vsId"
540-
Create-Directory $instanceDir
541-
$sdkFile = Join-Path $instanceDir "sdk.txt"
542-
'UsePreviews=True' | Set-Content $sdkFile
543-
}
544-
545529
# Deploy our core VSIX libraries to Visual Studio via the Roslyn VSIX tool. This is an alternative to
546530
# deploying at build time.
547531
function Deploy-VsixViaTool() {

eng/enable-preview-sdks.ps1

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Set-StrictMode -version 2.0
2+
$ErrorActionPreference="Stop"
3+
4+
. (Join-Path $PSScriptRoot "build-utils.ps1")
5+
6+
EnablePreviewSdks

src/Compilers/Core/MSBuildTaskTests/TestUtilities/IntegrationTestBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ protected static ProcessResult RunCommandLineCompiler(
119119
additionalEnvironmentVars);
120120
}
121121

122-
[Theory(Skip = "https://github.com/dotnet/roslyn/issues/80991"), CombinatorialData]
122+
[Theory, CombinatorialData]
123123
public void SdkBuild_Csc(bool useSharedCompilation)
124124
{
125125
var result = RunMsbuild(
@@ -151,7 +151,7 @@ class Program { static void Main() { System.Console.WriteLine("Hello from file")
151151
Assert.Contains(ExecutionConditionUtil.IsWindows ? "csc.exe" : "csc", result.Output);
152152
}
153153

154-
[Theory(Skip = "https://github.com/dotnet/roslyn/issues/80991"), CombinatorialData]
154+
[Theory, CombinatorialData]
155155
public void SdkBuild_Vbc(bool useSharedCompilation)
156156
{
157157
var result = RunMsbuild(

src/Tools/Source/RunTests/HelixTestRunner.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,13 @@ static void AppendHelixWorkItemProject(
215215
Path.Combine(workItemPayloadDir, rspFileName),
216216
GetRspFileContent(assemblyRelativeFilePaths, helixWorkItem.TestMethodNames, platform));
217217

218+
Directory.CreateSymbolicLink(
219+
path: Path.Combine(workItemPayloadDir, "eng"),
220+
pathToTarget: Path.Combine(artifactsDir, "..", "eng"));
221+
File.CreateSymbolicLink(
222+
path: Path.Combine(workItemPayloadDir, "global.json"),
223+
pathToTarget: Path.Combine(artifactsDir, "..", "global.json"));
224+
218225
var (commandFileName, commandContent) = GetHelixCommandContent(assemblyRelativeFilePaths, rspFileName, testOS);
219226
File.WriteAllText(Path.Combine(workItemPayloadDir, commandFileName), commandContent);
220227

@@ -282,6 +289,8 @@ static void AppendHelixWorkItemProject(
282289

283290
command.AppendLine(isUnix ? "env | sort" : "set");
284291

292+
command.AppendLine("powershell -ExecutionPolicy ByPass -NoProfile -File ./eng/enable-preview-sdks.ps1");
293+
285294
// Rehydrate assemblies that we need to run as part of this work item.
286295
foreach (var assemblyRelativeFilePath in assemblyRelativeFilePaths)
287296
{

0 commit comments

Comments
 (0)