diff --git a/azure-pipelines-official.yml b/azure-pipelines-official.yml index 41ef5852c2..442ad55ab2 100644 --- a/azure-pipelines-official.yml +++ b/azure-pipelines-official.yml @@ -200,7 +200,7 @@ extends: inputs: PathtoPublish: '$(Build.SourcesDirectory)/artifacts/VSSetup/Release' ArtifactName: VSSetupArtifacts - + - ${{ each pool in parameters.otherOsPools }}: - job: ${{ pool.os }} dependsOn: Windows @@ -250,7 +250,7 @@ extends: condition: failed() - job: Publish - dependsOn: + dependsOn: - ${{ each pool in parameters.otherOsPools }}: - ${{ pool.os }} pool: diff --git a/eng/verify-nupkgs.ps1 b/eng/verify-nupkgs.ps1 index e5915567eb..8b922cde5f 100644 --- a/eng/verify-nupkgs.ps1 +++ b/eng/verify-nupkgs.ps1 @@ -26,7 +26,7 @@ function Verify-Nuget-Packages { "Microsoft.TestPlatform.ObjectModel" = 92; "Microsoft.TestPlatform.AdapterUtilities" = 61; "Microsoft.TestPlatform.Portable" = 608; - "Microsoft.TestPlatform.TestHost" = 62; + "Microsoft.TestPlatform.TestHost" = 63; "Microsoft.TestPlatform.TranslationLayer" = 122; "Microsoft.TestPlatform.Internal.Uwp" = 38; } @@ -189,8 +189,8 @@ function Verify-NugetPackageExe { } $errs = @() - $exes = $UnzipNugetPackages | Get-ChildItem -Filter *.exe -Recurse -Force - if (0 -eq @($exes).Length) { + $exes = $UnzipNugetPackages | Get-ChildItem -Filter *.exe -Recurse -Force + if (0 -eq @($exes).Length) { throw "No exe files were found." } @@ -215,7 +215,7 @@ function Verify-NugetPackageExe { $fullName = $_.FullName $name = $_.Name - if ("x86" -eq $platform) { + if ("x86" -eq $platform) { $corFlagsOutput = & $corFlags $fullName # this is an native x86 exe or a .net x86 that requires of prefers 32bit $platform = if ($corFlagsOutput -like "*does not have a valid managed header*" -or $corFlagsOutput -like "*32BITREQ : 1*" -or $corFlagsOutput -like "*32BITPREF : 1*") { @@ -268,7 +268,7 @@ function Verify-NugetPackageExe { "Success: $name is $platform - $fullName" } - if ($errs) { + if ($errs) { throw "Fail!:`n$($errs -join "`n")" } } @@ -282,7 +282,7 @@ function Verify-NugetPackageVersion { ) # look for vstest.console.dll because unified build for .NET does not produce vstest.console.exe - $exes = $UnzipNugetPackages | Get-ChildItem -Filter vstest.console.dll -Recurse -Force + $exes = $UnzipNugetPackages | Get-ChildItem -Filter vstest.console.dll -Recurse -Force if (0 -eq @($exes).Length) { throw "No vstest.console.dll files were found." } @@ -294,7 +294,7 @@ function Verify-NugetPackageVersion { else { "$_ version $($_.VersionInfo.ProductVersion) is ok." } - } + } } diff --git a/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.csproj b/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.csproj index fdc6b76b5d..085d532b35 100644 --- a/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.csproj +++ b/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.csproj @@ -51,5 +51,8 @@ PreserveNewest + + PreserveNewest + diff --git a/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.nuspec b/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.nuspec index 903c26b98d..4b513a4b2e 100644 --- a/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.nuspec +++ b/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.nuspec @@ -50,6 +50,7 @@ + diff --git a/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.targets b/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.targets new file mode 100644 index 0000000000..02bd7df7a8 --- /dev/null +++ b/src/package/Microsoft.TestPlatform.TestHost/Microsoft.TestPlatform.TestHost.targets @@ -0,0 +1,13 @@ + + + + <_MSTestEnableParentProcessQuery Condition="'$(UseUwpTools)'=='true'">false + <_MSTestEnableParentProcessQuery Condition="'$(_MSTestEnableParentProcessQuery)'==''">true + + + + + diff --git a/src/testhost.x86/DefaultEngineInvoker.cs b/src/testhost.x86/DefaultEngineInvoker.cs index b28332e8ad..95e65cba7f 100644 --- a/src/testhost.x86/DefaultEngineInvoker.cs +++ b/src/testhost.x86/DefaultEngineInvoker.cs @@ -60,6 +60,12 @@ internal class DefaultEngineInvoker : private const string RemotePath = "--remote-path"; + private static readonly bool EnableParentProcessQuery = + AppContext.TryGetSwitch( + switchName: "MSTest.EnableParentProcessQuery", + isEnabled: out bool value) + ? value : true; + private readonly ITestRequestHandler _requestHandler; private readonly IDataCollectionTestCaseEventSender _dataCollectionTestCaseEventSender; @@ -213,6 +219,12 @@ private void SetParentProcessExitCallback(IDictionary argsDicti throw new ArgumentException($"Argument {ParentProcessIdArgument} was not specified."); } + if (!EnableParentProcessQuery) + { + EqtTrace.Info("DefaultEngineInvoker.SetParentProcessExitCallback: Skipping querying parent process with id: '{0}'", parentProcessId); + return; + } + EqtTrace.Info("DefaultEngineInvoker.SetParentProcessExitCallback: Monitoring parent process with id: '{0}'", parentProcessId); if (parentProcessId == -1)