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)