Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions scripts/build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,20 @@ function Publish-Package
Publish-PackageInternal $testHostx86Project $TPB_TargetFramework $testhostFullPackageDir
Publish-PackageWithRuntimeInternal $testHostx86Project $TPB_TargetFrameworkCore20 $TPB_X86_Runtime false $testhostCorePackageTempX86Dir

# Copy the .NET multitarget testhost exes to destination folder (except for net451 which is the default)
foreach ($tfm in "net452;net46;net461;net462;net47;net471;net472;net48" -split ";") {
Copy-Item "$(Split-Path $testHostProject)\bin\$TPB_Configuration\$tfm\$TPB_X64_Runtime\testhost.exe" $testhostFullPackageDir\testhost.$tfm.exe -Force
Copy-Item "$(Split-Path $testHostProject)\bin\$TPB_Configuration\$tfm\$TPB_X64_Runtime\testhost.pdb" $testhostFullPackageDir\testhost.$tfm.pdb -Force
Copy-Item "$(Split-Path $testHostProject)\bin\$TPB_Configuration\$tfm\$TPB_X64_Runtime\testhost.exe.config" $testhostFullPackageDir\testhost.$tfm.exe.config -Force
}

# Copy the .NET multitarget testhost.x86 exes to destination folder (except for net451 which is the default)
foreach ($tfm in "net452;net46;net461;net462;net47;net471;net472;net48" -split ";") {
Copy-Item "$(Split-Path $testHostx86Project)\bin\$TPB_Configuration\$tfm\$TPB_X86_Runtime\testhost.x86.exe" $testhostFullPackageDir\testhost.$tfm.x86.exe -Force
Copy-Item "$(Split-Path $testHostx86Project)\bin\$TPB_Configuration\$tfm\$TPB_X86_Runtime\testhost.x86.pdb" $testhostFullPackageDir\testhost.$tfm.x86.pdb -Force
Copy-Item "$(Split-Path $testHostx86Project)\bin\$TPB_Configuration\$tfm\$TPB_X86_Runtime\testhost.x86.exe.config" $testhostFullPackageDir\testhost.$tfm.x86.exe.config -Force
}

# Copy the .NET core x86 and x64 testhost exes from tempPublish to required folder
New-Item -ItemType directory -Path $testhostCorePackageX64Dir -Force | Out-Null
Copy-Item $testhostCorePackageTempX64Dir\testhost* $testhostCorePackageX64Dir -Force -recurse
Expand Down
6 changes: 3 additions & 3 deletions scripts/verify-nupkgs.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ function Verify-Nuget-Packages($packageDirectory)
Write-Log "Starting Verify-Nuget-Packages."
$expectedNumOfFiles = @{"Microsoft.CodeCoverage" = 29;
"Microsoft.NET.Test.Sdk" = 13;
"Microsoft.TestPlatform" = 437;
"Microsoft.TestPlatform" = 469;
"Microsoft.TestPlatform.Build" = 19;
"Microsoft.TestPlatform.CLI" = 318;
"Microsoft.TestPlatform.CLI" = 350;
"Microsoft.TestPlatform.Extensions.TrxLogger" = 33;
"Microsoft.TestPlatform.ObjectModel" = 62;
"Microsoft.TestPlatform.Portable" = 502;
"Microsoft.TestPlatform.Portable" = 566;
"Microsoft.TestPlatform.TestHost" = 145;
"Microsoft.TestPlatform.TranslationLayer" = 121}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ public virtual bool SetupChannel(IEnumerable<string> sources, string runSettings
{
this.testHostProcessStdError = string.Empty;
TestHostConnectionInfo testHostConnectionInfo = this.testHostManager.GetTestHostConnectionInfo();

var portNumber = 0;

if (testHostConnectionInfo.Role == ConnectionRole.Client)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@ namespace Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Hosting
[FriendlyName(DefaultTestHostFriendlyName)]
public class DefaultTestHostManager : ITestRuntimeProvider2
{
private const string X64TestHostProcessName = "testhost.exe";
private const string X86TestHostProcessName = "testhost.x86.exe";
private const string X64TestHostProcessName = "testhost{0}.exe";
private const string X86TestHostProcessName = "testhost{0}.x86.exe";

private const string DefaultTestHostUri = "HostProvider://DefaultTestHost";
private const string DefaultTestHostFriendlyName = "DefaultTestHost";
private const string TestAdapterEndsWithPattern = @"TestAdapter.dll";

private Architecture architecture;

private Framework targetFramework;
private IProcessHelper processHelper;
private IFileHelper fileHelper;
private IEnvironment environment;
Expand Down Expand Up @@ -136,8 +136,25 @@ public virtual TestProcessStartInfo GetTestHostProcessStartInfo(
IDictionary<string, string> environmentVariables,
TestRunnerConnectionInfo connectionInfo)
{
// Default test host manager supports shared test sources
var testHostProcessName = (this.architecture == Architecture.X86) ? X86TestHostProcessName : X64TestHostProcessName;
string testHostProcessName;
if (this.targetFramework.Name.StartsWith(".NETFramework,Version=v"))
{
var targetFrameworkMoniker = "net" + this.targetFramework.Name.Replace(".NETFramework,Version=v", string.Empty).Replace(".", string.Empty);

// Net451 or older will use the default testhost.exe that is compiled against net451.
var isSupportedNetTarget = new[] { "net452", "net46", "net461", "net462", "net47", "net471", "net472", "net48" }.Contains(targetFrameworkMoniker);
var targetFrameworkSuffix = isSupportedNetTarget ? $".{targetFrameworkMoniker}" : string.Empty;

// Default test host manager supports shared test sources
testHostProcessName = string.Format(this.architecture == Architecture.X86 ? X86TestHostProcessName : X64TestHostProcessName, targetFrameworkSuffix);
}
else
{
// This path is probably happening only in our tests, because otherwise we are first running CanExecuteCurrentRunConfiguration
// which would disqualify anything that is not netframework.
testHostProcessName = string.Format(this.architecture == Architecture.X86 ? X86TestHostProcessName : X64TestHostProcessName, string.Empty);
}

var currentWorkingDirectory = Path.Combine(Path.GetDirectoryName(typeof(DefaultTestHostManager).GetTypeInfo().Assembly.Location), "..//");
var argumentsString = " " + connectionInfo.ToCommandLineOptions();

Expand Down Expand Up @@ -239,6 +256,7 @@ public void Initialize(IMessageLogger logger, string runsettingsXml)

this.messageLogger = logger;
this.architecture = runConfiguration.TargetPlatform;
this.targetFramework = runConfiguration.TargetFramework;
this.testHostProcess = null;

this.Shared = !runConfiguration.DisableAppDomain;
Expand Down
64 changes: 64 additions & 0 deletions src/package/nuspec/Microsoft.TestPlatform.Portable.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,40 @@
<file src="net451\$Runtime$\System.Runtime.InteropServices.RuntimeInformation.dll" target="tools\net451\System.Runtime.InteropServices.RuntimeInformation.dll" />
<file src="net451\$Runtime$\testhost.exe" target="tools\net451\testhost.exe" />
<file src="net451\$Runtime$\testhost.exe.config" target="tools\net451\testhost.exe.config" />
<file src="net451\$Runtime$\testhost.net452.exe" target="tools\net451\testhost.net452.exe" />
<file src="net451\$Runtime$\testhost.net452.exe.config" target="tools\net451\testhost.net452.exe.config" />
<file src="net451\$Runtime$\testhost.net46.exe" target="tools\net451\testhost.net46.exe" />
<file src="net451\$Runtime$\testhost.net46.exe.config" target="tools\net451\testhost.net46.exe.config" />
<file src="net451\$Runtime$\testhost.net461.exe" target="tools\net451\testhost.net461.exe" />
<file src="net451\$Runtime$\testhost.net461.exe.config" target="tools\net451\testhost.net461.exe.config" />
<file src="net451\$Runtime$\testhost.net462.exe" target="tools\net451\testhost.net462.exe" />
<file src="net451\$Runtime$\testhost.net462.exe.config" target="tools\net451\testhost.net462.exe.config" />
<file src="net451\$Runtime$\testhost.net47.exe" target="tools\net451\testhost.net47.exe" />
<file src="net451\$Runtime$\testhost.net47.exe.config" target="tools\net451\testhost.net47.exe.config" />
<file src="net451\$Runtime$\testhost.net471.exe" target="tools\net451\testhost.net471.exe" />
<file src="net451\$Runtime$\testhost.net471.exe.config" target="tools\net451\testhost.net471.exe.config" />
<file src="net451\$Runtime$\testhost.net472.exe" target="tools\net451\testhost.net472.exe" />
<file src="net451\$Runtime$\testhost.net472.exe.config" target="tools\net451\testhost.net472.exe.config" />
<file src="net451\$Runtime$\testhost.net48.exe" target="tools\net451\testhost.net48.exe" />
<file src="net451\$Runtime$\testhost.net48.exe.config" target="tools\net451\testhost.net48.exe.config" />
<file src="net451\$Runtime$\testhost.x86.exe" target="tools\net451\testhost.x86.exe" />
<file src="net451\$Runtime$\testhost.x86.exe.config" target="tools\net451\testhost.x86.exe.config" />
<file src="net451\$Runtime$\testhost.net452.x86.exe" target="tools\net451\testhost.net452.x86.exe" />
<file src="net451\$Runtime$\testhost.net452.x86.exe.config" target="tools\net451\testhost.net452.x86.exe.config" />
<file src="net451\$Runtime$\testhost.net46.x86.exe" target="tools\net451\testhost.net46.x86.exe" />
<file src="net451\$Runtime$\testhost.net46.x86.exe.config" target="tools\net451\testhost.net46.x86.exe.config" />
<file src="net451\$Runtime$\testhost.net461.x86.exe" target="tools\net451\testhost.net461.x86.exe" />
<file src="net451\$Runtime$\testhost.net461.x86.exe.config" target="tools\net451\testhost.net461.x86.exe.config" />
<file src="net451\$Runtime$\testhost.net462.x86.exe" target="tools\net451\testhost.net462.x86.exe" />
<file src="net451\$Runtime$\testhost.net462.x86.exe.config" target="tools\net451\testhost.net462.x86.exe.config" />
<file src="net451\$Runtime$\testhost.net47.x86.exe" target="tools\net451\testhost.net47.x86.exe" />
<file src="net451\$Runtime$\testhost.net47.x86.exe.config" target="tools\net451\testhost.net47.x86.exe.config" />
<file src="net451\$Runtime$\testhost.net471.x86.exe" target="tools\net451\testhost.net471.x86.exe" />
<file src="net451\$Runtime$\testhost.net471.x86.exe.config" target="tools\net451\testhost.net471.x86.exe.config" />
<file src="net451\$Runtime$\testhost.net472.x86.exe" target="tools\net451\testhost.net472.x86.exe" />
<file src="net451\$Runtime$\testhost.net472.x86.exe.config" target="tools\net451\testhost.net472.x86.exe.config" />
<file src="net451\$Runtime$\testhost.net48.x86.exe" target="tools\net451\testhost.net48.x86.exe" />
<file src="net451\$Runtime$\testhost.net48.x86.exe.config" target="tools\net451\testhost.net48.x86.exe.config" />
<file src="net451\$Runtime$\vstest.console.exe" target="tools\net451\vstest.console.exe" />
<file src="net451\$Runtime$\vstest.console.exe.config" target="tools\net451\vstest.console.exe.config" />
<file src="net451\$Runtime$\NuGet.Frameworks.dll" target="tools\net451\NuGet.Frameworks.dll" />
Expand Down Expand Up @@ -401,8 +433,40 @@
<file src="netcoreapp2.1\TestHost\System.Reflection.Metadata.dll" target="tools\netcoreapp2.1\TestHost\System.Reflection.Metadata.dll" />
<file src="netcoreapp2.1\TestHost\testhost.exe" target="tools\netcoreapp2.1\TestHost\testhost.exe" />
<file src="netcoreapp2.1\TestHost\testhost.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net452.exe" target="tools\netcoreapp2.1\TestHost\testhost.net452.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net452.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net452.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net46.exe" target="tools\netcoreapp2.1\TestHost\testhost.net46.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net46.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net46.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net461.exe" target="tools\netcoreapp2.1\TestHost\testhost.net461.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net461.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net461.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net462.exe" target="tools\netcoreapp2.1\TestHost\testhost.net462.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net462.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net462.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net47.exe" target="tools\netcoreapp2.1\TestHost\testhost.net47.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net47.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net47.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net471.exe" target="tools\netcoreapp2.1\TestHost\testhost.net471.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net471.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net471.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net472.exe" target="tools\netcoreapp2.1\TestHost\testhost.net472.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net472.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net472.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net48.exe" target="tools\netcoreapp2.1\TestHost\testhost.net48.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net48.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net48.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.x86.exe" target="tools\netcoreapp2.1\TestHost\testhost.x86.exe" />
<file src="netcoreapp2.1\TestHost\testhost.x86.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.x86.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net452.x86.exe" target="tools\netcoreapp2.1\TestHost\testhost.net452.x86.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net452.x86.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net452.x86.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net46.x86.exe" target="tools\netcoreapp2.1\TestHost\testhost.net46.x86.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net46.x86.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net46.x86.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net461.x86.exe" target="tools\netcoreapp2.1\TestHost\testhost.net461.x86.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net461.x86.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net461.x86.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net462.x86.exe" target="tools\netcoreapp2.1\TestHost\testhost.net462.x86.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net462.x86.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net462.x86.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net47.x86.exe" target="tools\netcoreapp2.1\TestHost\testhost.net47.x86.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net47.x86.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net47.x86.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net471.x86.exe" target="tools\netcoreapp2.1\TestHost\testhost.net471.x86.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net471.x86.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net471.x86.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net472.x86.exe" target="tools\netcoreapp2.1\TestHost\testhost.net472.x86.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net472.x86.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net472.x86.exe.config" />
<file src="netcoreapp2.1\TestHost\testhost.net48.x86.exe" target="tools\netcoreapp2.1\TestHost\testhost.net48.x86.exe" />
<file src="netcoreapp2.1\TestHost\testhost.net48.x86.exe.config" target="tools\netcoreapp2.1\TestHost\testhost.net48.x86.exe.config" />
<file src="netcoreapp2.1\TestHost\cs\Microsoft.TestPlatform.CommunicationUtilities.resources.dll" target="tools\netcoreapp2.1\TestHost\cs\Microsoft.TestPlatform.CommunicationUtilities.resources.dll" />
<file src="netcoreapp2.1\TestHost\cs\Microsoft.TestPlatform.CoreUtilities.resources.dll" target="tools\netcoreapp2.1\TestHost\cs\Microsoft.TestPlatform.CoreUtilities.resources.dll" />
<file src="netcoreapp2.1\TestHost\cs\Microsoft.TestPlatform.CrossPlatEngine.resources.dll" target="tools\netcoreapp2.1\TestHost\cs\Microsoft.TestPlatform.CrossPlatEngine.resources.dll" />
Expand Down
Loading