diff --git a/samples/UnitTestProject/UnitTestProject.csproj b/samples/UnitTestProject/UnitTestProject.csproj index d395a62d7a..a3cdaab287 100644 --- a/samples/UnitTestProject/UnitTestProject.csproj +++ b/samples/UnitTestProject/UnitTestProject.csproj @@ -25,11 +25,6 @@ 15.0.0-preview-20170106-08 - - - 1.0.0 - - diff --git a/scripts/build.ps1 b/scripts/build.ps1 index ec939ca223..29be39fc3e 100644 --- a/scripts/build.ps1 +++ b/scripts/build.ps1 @@ -73,6 +73,7 @@ Write-Verbose "Setup build configuration." $TPB_Solution = "TestPlatform.sln" $TPB_TargetFramework = "net46" $TPB_TargetFrameworkCore = "netcoreapp1.0" +$TPB_TargetFrameworkCore20 = "netcoreapp2.0" $TPB_Configuration = $Configuration $TPB_TargetRuntime = $TargetRuntime # Version suffix is empty for RTM releases @@ -108,7 +109,7 @@ function Install-DotNetCli { $timer = Start-Timer Write-Log "Install-DotNetCli: Get dotnet-install.ps1 script..." - $dotnetInstallRemoteScript = "https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/dotnet-install.ps1" + $dotnetInstallRemoteScript = "https://raw.githubusercontent.com/dotnet/cli/master/scripts/obtain/dotnet-install.ps1" $dotnetInstallScript = Join-Path $env:TP_TOOLS_DIR "dotnet-install.ps1" if (-not (Test-Path $env:TP_TOOLS_DIR)) { New-Item $env:TP_TOOLS_DIR -Type Directory | Out-Null @@ -131,11 +132,11 @@ function Install-DotNetCli Write-Log "Install-DotNetCli: Get the latest dotnet cli toolset..." $dotnetInstallPath = Join-Path $env:TP_TOOLS_DIR "dotnet" New-Item -ItemType directory -Path $dotnetInstallPath -Force | Out-Null - & $dotnetInstallScript -InstallDir $dotnetInstallPath -NoPath -Version $env:DOTNET_CLI_VERSION + & $dotnetInstallScript -Channel "master" -InstallDir $dotnetInstallPath -NoPath -Version $env:DOTNET_CLI_VERSION # Uncomment to pull in additional shared frameworks. # This is added to get netcoreapp1.1 shared components. - #& $dotnetInstallScript -InstallDir $dotnetInstallPath -SharedRuntime -Version '1.1.0' -Channel 'release/1.1.0' + & $dotnetInstallScript -InstallDir $dotnetInstallPath -SharedRuntime -Version '1.1.1' -Channel 'release/1.1.0' Write-Log "Install-DotNetCli: Complete. {$(Get-ElapsedTime($timer))}" } @@ -184,6 +185,7 @@ function Publish-Package $dotnetExe = Get-DotNetPath $fullCLRPackageDir = Get-FullCLRPackageDirectory $coreCLRPackageDir = Get-CoreCLRPackageDirectory + $coreCLR20PackageDir = Get-CoreCLR20PackageDirectory $packageProject = Join-Path $env:TP_PACKAGE_PROJ_DIR "package\package.csproj" $testHostProject = Join-Path $env:TP_ROOT_DIR "src\testhost\testhost.csproj" $testHostx86Project = Join-Path $env:TP_ROOT_DIR "src\testhost.x86\testhost.x86.csproj" @@ -196,17 +198,17 @@ function Publish-Package Publish-PackageInternal $packageProject $TPB_TargetFramework $fullCLRPackageDir - Publish-PackageInternal $packageProject $TPB_TargetFrameworkCore $coreCLRPackageDir + Publish-PackageInternal $packageProject $TPB_TargetFrameworkCore20 $coreCLR20PackageDir # Publish vstest.console and datacollector exclusively because *.config/*.deps.json file is not getting publish when we are publishing aforementioned project through dependency. Write-Log "Package: Publish src\vstest.console\vstest.console.csproj" Publish-PackageInternal $vstestConsoleProject $TPB_TargetFramework $fullCLRPackageDir - Publish-PackageInternal $vstestConsoleProject $TPB_TargetFrameworkCore $coreCLRPackageDir + Publish-PackageInternal $vstestConsoleProject $TPB_TargetFrameworkCore20 $coreCLR20PackageDir Write-Log "Package: Publish src\datacollector\datacollector.csproj" Publish-PackageInternal $dataCollectorProject $TPB_TargetFramework $fullCLRPackageDir - Publish-PackageInternal $dataCollectorProject $TPB_TargetFrameworkCore $coreCLRPackageDir + Publish-PackageInternal $dataCollectorProject $TPB_TargetFrameworkCore20 $coreCLR20PackageDir # Publish testhost @@ -222,7 +224,7 @@ function Publish-Package # Copy over the Full CLR built testhost package assemblies to the Core CLR package folder. $netFull_Dir = "TestHost" - $fullDestDir = Join-Path $coreCLRPackageDir $netFull_Dir + $fullDestDir = Join-Path $coreCLR20PackageDir $netFull_Dir New-Item -ItemType directory -Path $fullDestDir -Force | Out-Null Copy-Item $testhostFullPackageDir\* $fullDestDir -Force @@ -235,12 +237,12 @@ function Publish-Package $platformAbstractionNet46 = Join-Path $platformAbstraction $TPB_TargetFramework $platformAbstractionNetCore = Join-Path $platformAbstraction $TPB_TargetFrameworkCore Copy-Item $platformAbstractionNet46\* $fullCLRPackageDir -Force - Copy-Item $platformAbstractionNetCore\* $coreCLRPackageDir -Force + Copy-Item $platformAbstractionNetCore\* $coreCLR20PackageDir -Force # Copy over the logger assemblies to the Extensions folder. $extensions_Dir = "Extensions" $fullCLRExtensionsDir = Join-Path $fullCLRPackageDir $extensions_Dir - $coreCLRExtensionsDir = Join-Path $coreCLRPackageDir $extensions_Dir + $coreCLRExtensionsDir = Join-Path $coreCLR20PackageDir $extensions_Dir # Create an extensions directory. New-Item -ItemType directory -Path $fullCLRExtensionsDir -Force | Out-Null New-Item -ItemType directory -Path $coreCLRExtensionsDir -Force | Out-Null @@ -252,8 +254,8 @@ function Publish-Package Write-Verbose "Move-Item $fullCLRPackageDir\$file $fullCLRExtensionsDir -Force" Move-Item $fullCLRPackageDir\$file $fullCLRExtensionsDir -Force - Write-Verbose "Move-Item $coreCLRPackageDir\$file $coreCLRExtensionsDir -Force" - Move-Item $coreCLRPackageDir\$file $coreCLRExtensionsDir -Force + Write-Verbose "Move-Item $coreCLR20PackageDir\$file $coreCLRExtensionsDir -Force" + Move-Item $coreCLR20PackageDir\$file $coreCLRExtensionsDir -Force } # For libraries that are externally published, copy the output into artifacts. These will be signed and packaged independently. @@ -334,6 +336,7 @@ function Create-NugetPackages # Call nuget pack on these components. $nugetExe = Join-Path $env:TP_PACKAGES_DIR -ChildPath "Nuget.CommandLine" | Join-Path -ChildPath $env:NUGET_EXE_Version | Join-Path -ChildPath "tools\NuGet.exe" + # package them from stagingDir foreach ($file in $nuspecFiles) { $additionalArgs = "" if ($skipAnalysis -contains $file) { @@ -341,7 +344,7 @@ function Create-NugetPackages } Write-Verbose "$nugetExe pack $stagingDir\$file -OutputDirectory $packageOutputDir -Version $TPB_Version -Properties Version=$TPB_Version $additionalArgs" - & $nugetExe pack $stagingDir\$file -OutputDirectory $packageOutputDir -Version $TPB_Version -Properties Version=$TPB_Version`;Runtime=$TPB_TargetRuntime $additionalArgs + & $nugetExe pack $stagingDir\$file -OutputDirectory $packageOutputDir -Version $TPB_Version -Properties Version=$TPB_Version`;Runtime=$TPB_TargetRuntime`;NetCoreTargetFramework=$TPB_TargetFrameworkCore20 $additionalArgs } Write-Log "Create-NugetPackages: Complete. {$(Get-ElapsedTime($timer))}" @@ -408,6 +411,11 @@ function Get-CoreCLRPackageDirectory return $(Join-Path $env:TP_OUT_DIR "$TPB_Configuration\$TPB_TargetFrameworkCore") } +function Get-CoreCLR20PackageDirectory +{ + return $(Join-Path $env:TP_OUT_DIR "$TPB_Configuration\$TPB_TargetFrameworkCore20") +} + function Start-Timer { return [System.Diagnostics.Stopwatch]::StartNew() @@ -511,7 +519,7 @@ function Build-SpecificProjects { Write-Log "Build-SpecificProjects: Started for pattern: $ProjectNamePatterns" # FrameworksAndOutDirs format ("", ""). - $FrameworksAndOutDirs =( ("net46", "net46\win7-x64"), ("netstandard1.5", "netcoreapp1.0"), ("netcoreapp1.0", "netcoreapp1.0")) + $FrameworksAndOutDirs =( ("net46", "net46\win7-x64"), ("netstandard1.5", "netcoreapp2.0"), ("netcoreapp1.0", "netcoreapp2.0"), ("netcoreapp2.0", "netcoreapp2.0")) $dotnetPath = Get-DotNetPath # Get projects to build. diff --git a/scripts/build/TestPlatform.targets b/scripts/build/TestPlatform.targets index 5caeb58584..9f3399ec6e 100644 --- a/scripts/build/TestPlatform.targets +++ b/scripts/build/TestPlatform.targets @@ -4,5 +4,10 @@ $(MSBuildThisFileDirectory)..\..\ + + + 2.0.0-beta-001737-00 + + diff --git a/scripts/test.ps1 b/scripts/test.ps1 index f3a1437630..52d80bc86c 100644 --- a/scripts/test.ps1 +++ b/scripts/test.ps1 @@ -1,5 +1,5 @@ # Copyright (c) Microsoft. All rights reserved. -# Build script for Test Platform. +# Test script for Test Platform. [CmdletBinding()] Param( @@ -13,6 +13,11 @@ Param( [Alias("r")] [System.String] $TargetRuntime = "win7-x64", + [Parameter(Mandatory=$false)] + [ValidateSet("netcoreapp1.0", "net46")] + [Alias("f")] + [System.String] $TargetFramework, + # Only test sources matching the pattern are run. # Use End2End to run E2E tests. Or to run any one assembly tests, use the # assembly name. E.g. test -p Microsoft.TestPlatform.CoreUtilities.UnitTests @@ -66,10 +71,12 @@ $env:NUGET_PACKAGES = $env:TP_PACKAGES_DIR # $TPT_TargetFrameworkFullCLR = "net46" $TPT_TargetFrameworkCore = "netcoreapp1.0" +$TPT_TargetFramework20Core = "netcoreapp2.0" Write-Verbose "Setup build configuration." $Script:TPT_Configuration = $Configuration $Script:TPT_SourceFolders = @("test") $Script:TPT_TargetFrameworks =@($TPT_TargetFrameworkCore, $TPT_TargetFrameworkFullCLR) +$Script:TPT_TargetFramework = $TargetFramework $Script:TPT_TargetRuntime = $TargetRuntime $Script:TPT_SkipProjects = @("Microsoft.TestPlatform.Build.UnitTests.csproj") $Script:TPT_Pattern = $Pattern @@ -109,12 +116,13 @@ function Print-FailedTests($TrxFilePath) $xdoc = [xml] (get-content $TrxFilePath) $FailedTestCaseDetailsDict = @{} # Get failed testcase data from UnitTestResult tag. - $xdoc.TestRun.Results.UnitTestResult |?{$_.GetAttribute("outcome") -eq "Failed"} | %{ + $xdoc.TestRun.Results.UnitTestResult | ? { $_.GetAttribute("outcome") -eq "Failed" } | % { $FailedTestCaseDetailsDict.Add($_.testId, @{"Message" = $_.Output.ErrorInfo.Message; "StackTrace" = $_.Output.ErrorInfo.StackTrace; "StdOut"=$_.Output.StdOut}); } - if ($FailedTestCaseDetailsDict) + if ($FailedTestCaseDetailsDict.Count -ne 0) { + Write-Log ".. . Failed tests:" $Script:TPT_ErrorMsgColor # Print failed test details. $count = 1 $nl = [Environment]::NewLine @@ -125,6 +133,12 @@ function Print-FailedTests($TrxFilePath) Write-Log (".. .. .. .StdOut: $nl" + $FailedTestCaseDetailsDict[$_.id]["StdOut"]) $Script:TPT_ErrorMsgColor $count++ } + + Set-ScriptFailed + if ($Script:TPT_FailFast) { + Write-Log ".. Stop execution since fail fast is enabled." + continue + } } } @@ -142,7 +156,7 @@ function Invoke-Test $testOutputPath = Join-Path $_.Directory.FullName "bin/$($Script:TPT_Configuration)/{0}" $testContainerPath = Join-Path $testOutputPath "$($testContainerName).dll" - $skip="False" + $skip = "False" foreach ($project in $Script:TPT_SkipProjects) { if($_.Name.Contains($project)) @@ -161,10 +175,13 @@ function Invoke-Test } } - # Invoke test for each project.json since we want a custom output - # path. + # Invoke test for each project since we want a custom output path foreach ($fx in $Script:TPT_TargetFrameworks) { Write-Log ".. Start run ($fx)" + if ($Script:TPT_TargetFramework -ne "" -and $fx -ne $Script:TPT_TargetFramework) { + Write-Log ".. . Skipped framework based on user setting." + continue; + } # Tests are only built for x86 at the moment, though we don't have architecture requirement $testAdapterPath = Get-TestAdapterPath @@ -175,14 +192,15 @@ function Invoke-Test $testFrameWork = ".NETCoreApp,Version=v1.0" $vstestConsoleFileName = "vstest.console.dll" $targetRunTime = "" - } else{ + $vstestConsolePath = Join-Path (Get-PackageDirectory $TPT_TargetFramework20Core $targetRuntime) $vstestConsoleFileName + } else { $testFrameWork = ".NETFramework,Version=v4.6" $vstestConsoleFileName = "vstest.console.exe" $targetRunTime = $Script:TPT_TargetRuntime + $vstestConsolePath = Join-Path (Get-PackageDirectory $TPT_TargetFrameworkFullCLR $targetRuntime) $vstestConsoleFileName } - $vstestConsolePath = Join-Path (Get-PackageDirectory $fx $targetRuntime) $vstestConsoleFileName if (!(Test-Path $vstestConsolePath)) { Write-Log "Unable to find $vstestConsoleFileName at $vstestConsolePath. Did you run build.cmd?" Write-Error "Test aborted." @@ -231,7 +249,7 @@ function Invoke-Test # Fill in the framework in test containers $testContainer = [System.String]::Format($_, $fx) $trxLogFileName = [System.String]::Format("{0}_{1}_{2}", ($(Get-ChildItem $testContainer).Name), $fx, $Script:TPT_DefaultTrxFileName) - + # Remove already existed trx file name as due to which warning will get generated and since we are expecting result in a particular format, that will break $fullTrxFilePath = Join-Path $Script:TPT_TestResultsDir $trxLogFileName if([System.IO.File]::Exists($fullTrxFilePath)) { @@ -241,32 +259,19 @@ function Invoke-Test Write-Log ".. Container: $testContainer" Set-TestEnvironment - + if($fx -eq $TPT_TargetFrameworkFullCLR) { Write-Verbose "$vstestConsolePath $testContainer /platform:$testArchitecture /framework:$testFrameWork /testAdapterPath:$testAdapterPath /logger:`"trx;LogFileName=$trxLogFileName`"" - $output = & $vstestConsolePath $testContainer /platform:$testArchitecture /framework:$testFrameWork /testAdapterPath:"$testAdapterPath" /logger:"trx;LogFileName=$trxLogFileName" + & $vstestConsolePath $testContainer /platform:$testArchitecture /framework:$testFrameWork /testAdapterPath:"$testAdapterPath" /logger:"trx;LogFileName=$trxLogFileName" } else { Write-Verbose "$dotNetPath $vstestConsolePath $testContainer /platform:$testArchitecture /framework:$testFrameWork /testAdapterPath:$testAdapterPath /logger:`"trx;LogFileName=$trxLogFileName`"" - $output = & $dotNetPath $vstestConsolePath $testContainer /platform:$testArchitecture /framework:$testFrameWork /testAdapterPath:"$testAdapterPath" /logger:"trx;LogFileName=$trxLogFileName" + & $dotNetPath $vstestConsolePath $testContainer /platform:$testArchitecture /framework:$testFrameWork /testAdapterPath:"$testAdapterPath" /logger:"trx;LogFileName=$trxLogFileName" } Reset-TestEnvironment - if ($output[-3].Contains("Test Run Successful.")) { - Write-Log ".. . $($output[-4])" - } else { - Write-Log ".. . $($output[-3])" - Write-Log ".. . Failed tests:" $Script:TPT_ErrorMsgColor - Print-FailedTests (Join-Path $Script:TPT_TestResultsDir $trxLogFileName) - - Set-ScriptFailed - - if ($Script:TPT_FailFast) { - Write-Log ".. Stop execution since fail fast is enabled." - continue - } - } + Print-FailedTests (Join-Path $Script:TPT_TestResultsDir $trxLogFileName) } } @@ -322,7 +327,7 @@ function Reset-TestEnvironment # Execute build $timer = Start-Timer -Write-Log "Build started: args = '$args'" +Write-Log "Test started: args = '$args'" Write-Log "Test platform environment variables: " Get-ChildItem env: | Where-Object -FilterScript { $_.Name.StartsWith("TP_") } | Format-Table @@ -331,6 +336,6 @@ Get-Variable | Where-Object -FilterScript { $_.Name.StartsWith("TPT_") } | Forma Invoke-Test -Write-Log "Build complete. {$(Get-ElapsedTime($timer))}" +Write-Log "Test complete. {$(Get-ElapsedTime($timer))}" if ($Script:ScriptFailed) { Exit 1 } else { Exit 0 } diff --git a/src/Microsoft.TestPlatform.CommunicationUtilities/TestRequestSender.cs b/src/Microsoft.TestPlatform.CommunicationUtilities/TestRequestSender.cs index 09ce847d9f..d0c12fe5da 100644 --- a/src/Microsoft.TestPlatform.CommunicationUtilities/TestRequestSender.cs +++ b/src/Microsoft.TestPlatform.CommunicationUtilities/TestRequestSender.cs @@ -291,7 +291,7 @@ private void OnTestRunAbort(ITestRunEventsHandler testRunEventsHandler, Exceptio var rawMessage = this.dataSerializer.SerializePayload(MessageType.TestMessage, testMessagePayload); testRunEventsHandler.HandleRawMessage(rawMessage); - // notify test run abort to vstest console wrapper + // notify test run abort to vstest console wrapper. var completeArgs = new TestRunCompleteEventArgs(null, false, true, exception, null, TimeSpan.Zero); var payload = new TestRunCompletePayload { TestRunCompleteArgs = completeArgs }; rawMessage = this.dataSerializer.SerializePayload(MessageType.ExecutionComplete, payload); diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Hosting/DotnetTestHostManager.cs b/src/Microsoft.TestPlatform.CrossPlatEngine/Hosting/DotnetTestHostManager.cs index da3e55d6dc..870bed560c 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Hosting/DotnetTestHostManager.cs +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Hosting/DotnetTestHostManager.cs @@ -84,7 +84,11 @@ public class DotnetTestHostManager : ITestRuntimeProvider } this.testHostProcessStdError.Append(data); - this.messageLogger.SendMessage(TestMessageLevel.Warning, this.testHostProcessStdError.ToString()); + var message = this.testHostProcessStdError.ToString(); + if (!string.IsNullOrWhiteSpace(message)) + { + this.messageLogger.SendMessage(TestMessageLevel.Warning, message); + } } if (process.HasExited && process.ExitCode != 0) diff --git a/src/Microsoft.TestPlatform.CrossPlatEngine/Microsoft.TestPlatform.CrossPlatEngine.csproj b/src/Microsoft.TestPlatform.CrossPlatEngine/Microsoft.TestPlatform.CrossPlatEngine.csproj index 6fbf4dc4d5..6152fcd415 100644 --- a/src/Microsoft.TestPlatform.CrossPlatEngine/Microsoft.TestPlatform.CrossPlatEngine.csproj +++ b/src/Microsoft.TestPlatform.CrossPlatEngine/Microsoft.TestPlatform.CrossPlatEngine.csproj @@ -23,7 +23,7 @@ - 1.1.0 + 1.0.3 diff --git a/src/Microsoft.TestPlatform.ObjectModel/Client/Events/TestRunCompleteEventArgs.cs b/src/Microsoft.TestPlatform.ObjectModel/Client/Events/TestRunCompleteEventArgs.cs index 4ad82f5fb5..6cfd375802 100644 --- a/src/Microsoft.TestPlatform.ObjectModel/Client/Events/TestRunCompleteEventArgs.cs +++ b/src/Microsoft.TestPlatform.ObjectModel/Client/Events/TestRunCompleteEventArgs.cs @@ -29,7 +29,7 @@ public TestRunCompleteEventArgs(ITestRunStatistics stats, bool isCanceled, bool this.TestRunStatistics = stats; this.IsCanceled = isCanceled; this.IsAborted = isAborted; - this.Error = error; + this.Error = null; // Passing error value as null, should be pass exception. Issue: https://github.com/Microsoft/vstest/issues/618 this.AttachmentSets = attachmentSets; this.ElapsedTimeInRunningTests = elapsedTime; } diff --git a/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj b/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj index 69a9a3e4df..cc5fbf49a4 100644 Binary files a/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj and b/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj differ diff --git a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.csproj b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.csproj index 6677c9cca0..b1372d6ea1 100644 Binary files a/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.csproj and b/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.csproj differ diff --git a/src/datacollector/datacollector.csproj b/src/datacollector/datacollector.csproj index 33c3c3c223..e1230bec65 100644 --- a/src/datacollector/datacollector.csproj +++ b/src/datacollector/datacollector.csproj @@ -9,13 +9,12 @@ datacollector - netcoreapp1.0;net46 + netcoreapp1.0;netcoreapp2.0;net46 true AnyCPU Exe - $(PackageTargetFallback);dnxcore50;netstandardapp1.0;portable-net45+win8;portable-net45+wp80+win8+wpa81+dnxcore50 - + win7-x64 @@ -29,7 +28,7 @@ true - + 4.3.0 diff --git a/src/package/nuspec/TestPlatform.CLI.nuspec b/src/package/nuspec/TestPlatform.CLI.nuspec index 32cb03ff17..2cd2c9864d 100644 --- a/src/package/nuspec/TestPlatform.CLI.nuspec +++ b/src/package/nuspec/TestPlatform.CLI.nuspec @@ -20,6 +20,6 @@ - + \ No newline at end of file diff --git a/src/package/nuspec/TestPlatform.ObjectModel.nuspec b/src/package/nuspec/TestPlatform.ObjectModel.nuspec index 5c9467fa93..12f505e15c 100644 --- a/src/package/nuspec/TestPlatform.ObjectModel.nuspec +++ b/src/package/nuspec/TestPlatform.ObjectModel.nuspec @@ -26,7 +26,7 @@ - + @@ -51,9 +51,9 @@ - - - + + + @@ -84,33 +84,33 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/src/package/nuspec/TestPlatform.TestHost.nuspec b/src/package/nuspec/TestPlatform.TestHost.nuspec index c44ed44c54..1ed3b1bc5a 100644 --- a/src/package/nuspec/TestPlatform.TestHost.nuspec +++ b/src/package/nuspec/TestPlatform.TestHost.nuspec @@ -18,7 +18,7 @@ - + diff --git a/src/package/nuspec/TestPlatform.TranslationLayer.nuspec b/src/package/nuspec/TestPlatform.TranslationLayer.nuspec index dbbe7c5e02..1e7d536a1f 100644 --- a/src/package/nuspec/TestPlatform.TranslationLayer.nuspec +++ b/src/package/nuspec/TestPlatform.TranslationLayer.nuspec @@ -24,7 +24,7 @@ - + @@ -51,12 +51,12 @@ - - - - - - + + + + + + @@ -115,61 +115,61 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/src/package/nuspec/TestPlatform.nuspec b/src/package/nuspec/TestPlatform.nuspec index 3cd3de323a..7484562d25 100644 --- a/src/package/nuspec/TestPlatform.nuspec +++ b/src/package/nuspec/TestPlatform.nuspec @@ -17,9 +17,9 @@ - - - + + + diff --git a/src/package/package/package.csproj b/src/package/package/package.csproj index a0672630a0..0969039220 100644 --- a/src/package/package/package.csproj +++ b/src/package/package/package.csproj @@ -5,7 +5,7 @@ - netcoreapp1.0;net46 + net46;netcoreapp2.0 package false false @@ -22,7 +22,7 @@ false false - + win7-x64 diff --git a/src/package/sign/sign.proj b/src/package/sign/sign.proj index 0eba0f1936..346a36724a 100644 --- a/src/package/sign/sign.proj +++ b/src/package/sign/sign.proj @@ -19,7 +19,7 @@ $(ArtifactsBaseDirectory)$(TargetFramework)\$(TargetRuntime)\ - $(ArtifactsBaseDirectory)netcoreapp1.0\ + $(ArtifactsBaseDirectory)netcoreapp2.0\ $(ArtifactsBaseDirectory)obj\$(BuildConfiguration)\$(TargetFramework)\$(TargetRuntime)\ diff --git a/src/testhost/testhost.csproj b/src/testhost/testhost.csproj index 378f7a262a..19eeaf0785 100644 --- a/src/testhost/testhost.csproj +++ b/src/testhost/testhost.csproj @@ -6,7 +6,7 @@ testhost - netcoreapp1.0;net46 + netcoreapp1.0;netcoreapp2.0;net46 Exe $(PackageTargetFallback);dnxcore50;netstandardapp1.0;portable-net45+win8;portable-net45+wp80+win8+wpa81+dnxcore50 diff --git a/src/vstest.console/vstest.console.csproj b/src/vstest.console/vstest.console.csproj index 1fc892996d..bd868f6c34 100644 --- a/src/vstest.console/vstest.console.csproj +++ b/src/vstest.console/vstest.console.csproj @@ -6,13 +6,13 @@ vstest.console - netcoreapp1.0;net46 + netcoreapp1.0;netcoreapp2.0;net46 true Exe - $(PackageTargetFallback);dnxcore50;netstandardapp1.0;portable-net45+win8;portable-net45+wp80+win8+wpa81+dnxcore50 + $(PackageTargetFallback);dnxcore50;netstandardapp1.0;portable-net45+win8;portable-net45+wp80+win8+wpa81+dnxcore50 AnyCPU - + win7-x64 @@ -31,7 +31,7 @@ true - + 4.3.0 diff --git a/test/Microsoft.TestPlatform.AcceptanceTests/AcceptanceTestBase.cs b/test/Microsoft.TestPlatform.AcceptanceTests/AcceptanceTestBase.cs index 477f15a088..913af22349 100644 --- a/test/Microsoft.TestPlatform.AcceptanceTests/AcceptanceTestBase.cs +++ b/test/Microsoft.TestPlatform.AcceptanceTests/AcceptanceTestBase.cs @@ -9,8 +9,6 @@ namespace Microsoft.TestPlatform.AcceptanceTests public class AcceptanceTestBase : IntegrationTestBase { - public const string DesktopRunnerFramework = "net46"; - public const string CoreRunnerFramework = "netcoreapp1.0"; public const string DesktopTargetFramework = "net46"; public const string CoreTargetFramework = "netcoreapp1.0"; public const string Core11TargetFramework = "netcoreapp1.1"; @@ -55,11 +53,6 @@ protected bool IsDesktopTargetFramework() return this.testEnvironment.TargetFramework == AcceptanceTestBase.DesktopTargetFramework; } - protected bool IsDesktopRunner() - { - return this.testEnvironment.RunnerFramework == AcceptanceTestBase.DesktopRunnerFramework; - } - protected string GetTargetFramworkForRunsettings() { var targetFramework = string.Empty; diff --git a/test/Microsoft.TestPlatform.AcceptanceTests/DataCollectionTests.cs b/test/Microsoft.TestPlatform.AcceptanceTests/DataCollectionTests.cs index eca361d5e4..9bc2823304 100644 --- a/test/Microsoft.TestPlatform.AcceptanceTests/DataCollectionTests.cs +++ b/test/Microsoft.TestPlatform.AcceptanceTests/DataCollectionTests.cs @@ -1,4 +1,4 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. namespace Microsoft.TestPlatform.AcceptanceTests @@ -8,15 +8,15 @@ namespace Microsoft.TestPlatform.AcceptanceTests using System.IO; using System.Xml; + using Microsoft.TestPlatform.TestUtilities; using Microsoft.VisualStudio.TestPlatform.ObjectModel; using Microsoft.VisualStudio.TestPlatform.Utilities.Helpers; using Microsoft.VisualStudio.TestTools.UnitTesting; - using Microsoft.TestPlatform.TestUtilities; [TestClass] public class DataCollectionTests : AcceptanceTestBase { - private string resultsDir; + private readonly string resultsDir; public DataCollectionTests() { @@ -26,7 +26,10 @@ public DataCollectionTests() [TestCleanup] public void Cleanup() { - Directory.Delete(this.resultsDir, true); + if (Directory.Exists(this.resultsDir)) + { + Directory.Delete(this.resultsDir, true); + } } [CustomDataTestMethod] @@ -34,14 +37,14 @@ public void Cleanup() [NETCORETargetFramework] public void ExecuteTestsWithDataCollection(string runnerFramework, string targetFramework, string targetRuntime) { - AcceptanceTestBase.SetTestEnvironment(this.testEnvironment, runnerFramework, targetFramework, targetRuntime); + SetTestEnvironment(this.testEnvironment, runnerFramework, targetFramework, targetRuntime); var assemblyPaths = this.BuildMultipleAssemblyPath("SimpleTestProject2.dll").Trim('\"'); string runSettings = this.GetRunsettingsFilePath(); string diagFileName = Path.Combine(this.resultsDir, "diaglog.txt"); - var arguments = PrepareArguments(assemblyPaths, this.GetTestAdapterPath(), runSettings, this.FrameworkArgValue); arguments = string.Concat(arguments, $" /ResultsDirectory:{resultsDir}", $" /Diag:{diagFileName}"); + this.InvokeVsTest(arguments); this.ValidateSummaryStatus(1, 1, 1); @@ -126,6 +129,8 @@ private string GetRunsettingsFilePath() dataCollectionAttributes.Add("friendlyName", "SampleDataCollector"); dataCollectionAttributes.Add("uri", "my://sample/datacollector"); + + // Data collector needs to be targeted to same runtime as the runner framework var codebase = Path.Combine( this.testEnvironment.TestAssetsPath, Path.GetFileNameWithoutExtension("OutOfProcDataCollector"), @@ -133,10 +138,9 @@ private string GetRunsettingsFilePath() this.testEnvironment.BuildConfiguration, this.testEnvironment.RunnerFramework, "OutOfProcDataCollector.dll"); + Assert.IsTrue(File.Exists(codebase), "Data collector assembly not found: " + codebase); - var outOfProcAssemblyPath = this.testEnvironment.GetTestAsset("OutOfProcDataCollector.dll"); - - dataCollectionAttributes.Add("assemblyQualifiedName", string.Format("OutOfProcDataCollector.SampleDataCollector, {0}", AssemblyUtility.GetAssemblyName(outOfProcAssemblyPath))); + dataCollectionAttributes.Add("assemblyQualifiedName", string.Format("OutOfProcDataCollector.SampleDataCollector, {0}", AssemblyUtility.GetAssemblyName(codebase))); dataCollectionAttributes.Add("codebase", codebase); CreateDataCollectionRunSettingsFile(runsettingsPath, dataCollectionAttributes); return runsettingsPath; diff --git a/test/Microsoft.TestPlatform.AcceptanceTests/ExecutionTests.cs b/test/Microsoft.TestPlatform.AcceptanceTests/ExecutionTests.cs index e1685434da..e561d2377e 100644 --- a/test/Microsoft.TestPlatform.AcceptanceTests/ExecutionTests.cs +++ b/test/Microsoft.TestPlatform.AcceptanceTests/ExecutionTests.cs @@ -94,6 +94,7 @@ public void WorkingDirectoryIsSourceDirectory(string runnerFramework, string tar [CustomDataTestMethod] [NET46TargetFramework] [NETCORETargetFramework] + [Ignore] // This test is causing remoting exception public void ShouldGetErrorMessageOnTesthostExitWithError(string runnerFramework, string targetFramework, string targetRuntime) { AcceptanceTestBase.SetTestEnvironment(this.testEnvironment, runnerFramework, targetFramework, targetRuntime); diff --git a/test/Microsoft.TestPlatform.AcceptanceTests/Extension/CustomDataTestMethodAttribute.cs b/test/Microsoft.TestPlatform.AcceptanceTests/Extension/CustomDataTestMethodAttribute.cs index 512faadb77..2b1b0ada3c 100644 --- a/test/Microsoft.TestPlatform.AcceptanceTests/Extension/CustomDataTestMethodAttribute.cs +++ b/test/Microsoft.TestPlatform.AcceptanceTests/Extension/CustomDataTestMethodAttribute.cs @@ -9,6 +9,7 @@ namespace Microsoft.TestPlatform.AcceptanceTests using System.Text; using Microsoft.VisualStudio.TestTools.UnitTesting; + using Microsoft.TestPlatform.TestUtilities; /// /// The custom data test method attribute. @@ -89,8 +90,8 @@ public class NET46TargetFramework : Attribute public NET46TargetFramework() { this.DataRows = new List(2); - this.DataRows.Add(new DataRowAttribute(AcceptanceTestBase.CoreRunnerFramework, AcceptanceTestBase.DesktopTargetFramework, AcceptanceTestBase.CoreRunnerTargetRuntime)); - this.DataRows.Add(new DataRowAttribute(AcceptanceTestBase.DesktopRunnerFramework, AcceptanceTestBase.DesktopTargetFramework, AcceptanceTestBase.DesktopRunnerTargetRuntime)); + this.DataRows.Add(new DataRowAttribute(IntegrationTestBase.CoreRunnerFramework, AcceptanceTestBase.DesktopTargetFramework, AcceptanceTestBase.CoreRunnerTargetRuntime)); + this.DataRows.Add(new DataRowAttribute(IntegrationTestBase.DesktopRunnerFramework, AcceptanceTestBase.DesktopTargetFramework, AcceptanceTestBase.DesktopRunnerTargetRuntime)); } /// @@ -110,10 +111,10 @@ public class NETCORETargetFramework : Attribute public NETCORETargetFramework() { this.DataRows = new List(4); - this.DataRows.Add(new DataRowAttribute(AcceptanceTestBase.CoreRunnerFramework, AcceptanceTestBase.CoreTargetFramework, AcceptanceTestBase.CoreRunnerTargetRuntime)); - this.DataRows.Add(new DataRowAttribute(AcceptanceTestBase.DesktopRunnerFramework, AcceptanceTestBase.CoreTargetFramework, AcceptanceTestBase.DesktopRunnerTargetRuntime)); - this.DataRows.Add(new DataRowAttribute(AcceptanceTestBase.CoreRunnerFramework, AcceptanceTestBase.Core11TargetFramework, AcceptanceTestBase.CoreRunnerTargetRuntime)); - this.DataRows.Add(new DataRowAttribute(AcceptanceTestBase.DesktopRunnerFramework, AcceptanceTestBase.Core11TargetFramework, AcceptanceTestBase.DesktopRunnerTargetRuntime)); + this.DataRows.Add(new DataRowAttribute(IntegrationTestBase.CoreRunnerFramework, AcceptanceTestBase.CoreTargetFramework, AcceptanceTestBase.CoreRunnerTargetRuntime)); + this.DataRows.Add(new DataRowAttribute(IntegrationTestBase.DesktopRunnerFramework, AcceptanceTestBase.CoreTargetFramework, AcceptanceTestBase.DesktopRunnerTargetRuntime)); + this.DataRows.Add(new DataRowAttribute(IntegrationTestBase.CoreRunnerFramework, AcceptanceTestBase.Core11TargetFramework, AcceptanceTestBase.CoreRunnerTargetRuntime)); + this.DataRows.Add(new DataRowAttribute(IntegrationTestBase.DesktopRunnerFramework, AcceptanceTestBase.Core11TargetFramework, AcceptanceTestBase.DesktopRunnerTargetRuntime)); } /// diff --git a/test/Microsoft.TestPlatform.AcceptanceTests/PlatformTests.cs b/test/Microsoft.TestPlatform.AcceptanceTests/PlatformTests.cs index 7aa352e932..36ef3eed5f 100644 --- a/test/Microsoft.TestPlatform.AcceptanceTests/PlatformTests.cs +++ b/test/Microsoft.TestPlatform.AcceptanceTests/PlatformTests.cs @@ -92,7 +92,7 @@ private void RunTestExecutionWithPlatform(string platformArg, string testhostPro Assert.AreEqual( expectedNumOfProcessCreated, numOfProcessCreatedTask.Result, - $"Number of {testhostProcessName} process created, expected: {expectedNumOfProcessCreated} actual: {numOfProcessCreatedTask.Result} args: {arguments} runner path: {this.testEnvironment.GetConsoleRunnerPath()}"); + $"Number of {testhostProcessName} process created, expected: {expectedNumOfProcessCreated} actual: {numOfProcessCreatedTask.Result} args: {arguments} runner path: {this.GetConsoleRunnerPath()}"); this.ValidateSummaryStatus(1, 1, 1); } } diff --git a/test/Microsoft.TestPlatform.AcceptanceTests/RunsettingsTests.cs b/test/Microsoft.TestPlatform.AcceptanceTests/RunsettingsTests.cs index de510f3dde..ef9963f93e 100644 --- a/test/Microsoft.TestPlatform.AcceptanceTests/RunsettingsTests.cs +++ b/test/Microsoft.TestPlatform.AcceptanceTests/RunsettingsTests.cs @@ -289,7 +289,7 @@ private void RunTestWithRunSettings(Dictionary runConfigurationD Assert.AreEqual( expectedNumOfProcessCreated, numOfProcessCreatedTask.Result, - $"Number of {testhostProcessName} process created, expected: {expectedNumOfProcessCreated} actual: {numOfProcessCreatedTask.Result} args: {arguments} runner path: {this.testEnvironment.GetConsoleRunnerPath()}"); + $"Number of {testhostProcessName} process created, expected: {expectedNumOfProcessCreated} actual: {numOfProcessCreatedTask.Result} args: {arguments} runner path: {this.GetConsoleRunnerPath()}"); this.ValidateSummaryStatus(2, 2, 2); //cleanup diff --git a/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestBase.cs b/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestBase.cs index cc05732a0f..7d7fa3845a 100644 --- a/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestBase.cs +++ b/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestBase.cs @@ -8,6 +8,7 @@ namespace Microsoft.TestPlatform.TestUtilities using System.Diagnostics; using System.IO; using System.Linq; + using System.Text; using System.Text.RegularExpressions; using System.Xml; @@ -20,6 +21,8 @@ namespace Microsoft.TestPlatform.TestUtilities /// public class IntegrationTestBase { + public const string DesktopRunnerFramework = "net46"; + public const string CoreRunnerFramework = "netcoreapp2.0"; private const string TestSummaryStatusMessageFormat = "Total tests: {0}. Passed: {1}. Failed: {2}. Skipped: {3}"; private string standardTestOutput = string.Empty; private string standardTestError = string.Empty; @@ -167,7 +170,7 @@ public void ValidateSummaryStatus(int passedTestsCount, int failedTestsCount, in public void StdErrorContains(string substring) { - Assert.IsTrue(this.standardTestError.Contains(substring)); + Assert.IsTrue(this.standardTestError.Contains(substring), "StdErrorOutput - [{0}] did not contain expected string '{1}'", this.standardTestError, substring); } public void StdOutputContains(string substring) @@ -274,6 +277,43 @@ protected string GetTestAdapterPath(UnitTestFramework testFramework = UnitTestFr return this.testEnvironment.GetNugetPackage(adapterRelativePath); } + protected bool IsDesktopRunner() + { + return this.testEnvironment.RunnerFramework == IntegrationTestBase.DesktopRunnerFramework; + } + + protected bool IsNetCoreRunner() + { + return this.testEnvironment.RunnerFramework == IntegrationTestBase.CoreRunnerFramework; + } + + /// + /// Gets the path to vstest.console.exe. + /// + /// + /// Full path to test runner + /// + public string GetConsoleRunnerPath() + { + string consoleRunnerPath = string.Empty; + + if (this.IsDesktopRunner()) + { + consoleRunnerPath = Path.Combine(this.testEnvironment.PublishDirectory, "vstest.console.exe"); + } + else if (this.IsNetCoreRunner()) + { + consoleRunnerPath = Path.Combine(this.testEnvironment.ToolsDirectory, @"dotnet\dotnet.exe"); + } + else + { + Assert.Fail("Unknown Runner framework - [{0}]", this.testEnvironment.RunnerFramework); + } + + Assert.IsTrue(File.Exists(consoleRunnerPath), "GetConsoleRunnerPath: Path not found: {0}", consoleRunnerPath); + return consoleRunnerPath; + } + /// /// Gets the test method name from full name. /// @@ -294,7 +334,7 @@ private static string GetTestMethodName(string testFullName) private void Execute(string args, out string stdOut, out string stdError) { - if (this.testEnvironment.RunnerFramework == "netcoreapp1.0") + if (this.IsNetCoreRunner()) { var vstestConsoleDll = Path.Combine(this.testEnvironment.PublishDirectory, "vstest.console.dll"); vstestConsoleDll = EncloseInQuotes(vstestConsoleDll); @@ -309,7 +349,7 @@ private void Execute(string args, out string stdOut, out string stdError) using (Process vstestconsole = new Process()) { Console.WriteLine("IntegrationTestBase.Execute: Starting vstest.console.exe"); - vstestconsole.StartInfo.FileName = this.testEnvironment.GetConsoleRunnerPath(); + vstestconsole.StartInfo.FileName = this.GetConsoleRunnerPath(); vstestconsole.StartInfo.Arguments = args; vstestconsole.StartInfo.UseShellExecute = false; //vstestconsole.StartInfo.WorkingDirectory = testEnvironment.PublishDirectory; @@ -317,14 +357,30 @@ private void Execute(string args, out string stdOut, out string stdError) vstestconsole.StartInfo.RedirectStandardOutput = true; vstestconsole.StartInfo.CreateNoWindow = true; + var stdoutBuffer = new StringBuilder(); + var stderrBuffer = new StringBuilder(); + vstestconsole.OutputDataReceived += (sender, eventArgs) => stdoutBuffer.Append(eventArgs.Data); + vstestconsole.ErrorDataReceived += (sender, eventArgs) => stderrBuffer.Append(eventArgs.Data); + Console.WriteLine("IntegrationTestBase.Execute: Path = {0}", vstestconsole.StartInfo.FileName); Console.WriteLine("IntegrationTestBase.Execute: Arguments = {0}", vstestconsole.StartInfo.Arguments); vstestconsole.Start(); - stdError = vstestconsole.StandardError.ReadToEnd(); - stdOut = vstestconsole.StandardOutput.ReadToEnd(); - - vstestconsole.WaitForExit(60 * 1000); + vstestconsole.BeginOutputReadLine(); + vstestconsole.BeginErrorReadLine(); + if (!vstestconsole.WaitForExit(80 * 1000)) + { + Console.WriteLine("IntegrationTestBase.Execute: Timed out waiting for vstest.console.exe. Terminating the process."); + vstestconsole.Kill(); + } + else + { + // Ensure async buffers are flushed + vstestconsole.WaitForExit(); + } + + stdError = stderrBuffer.ToString(); + stdOut = stdoutBuffer.ToString(); Console.WriteLine("IntegrationTestBase.Execute: Stopped vstest.console.exe. Exit code = {0}", vstestconsole.ExitCode); } } diff --git a/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestEnvironment.cs b/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestEnvironment.cs index 854ea810f2..d96628ce4b 100644 --- a/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestEnvironment.cs +++ b/test/Microsoft.TestPlatform.TestUtilities/IntegrationTestEnvironment.cs @@ -221,29 +221,6 @@ public string GetNugetPackage(string packageSuffix) return packagePath; } - /// - /// Gets the path to vstest.console.exe. - /// - /// - /// Full path to test runner - /// - public string GetConsoleRunnerPath() - { - string consoleRunnerPath = string.Empty; - - if (string.Equals(this.RunnerFramework, "net46")) - { - consoleRunnerPath = Path.Combine(this.PublishDirectory, "vstest.console.exe"); - } - else if (string.Equals(this.RunnerFramework, "netcoreapp1.0")) - { - consoleRunnerPath = Path.Combine(this.ToolsDirectory, @"dotnet\dotnet.exe"); - } - - Assert.IsTrue(File.Exists(consoleRunnerPath), "GetConsoleRunnerPath: Path not found: {0}", consoleRunnerPath); - return consoleRunnerPath; - } - private static Dictionary GetDependencies(string testPlatformRoot) { var dependencyPropsFile = Path.Combine(testPlatformRoot, @"scripts\build\TestPlatform.Dependencies.props"); diff --git a/test/Microsoft.TestPlatform.TestUtilities/Microsoft.TestPlatform.TestUtilities.csproj b/test/Microsoft.TestPlatform.TestUtilities/Microsoft.TestPlatform.TestUtilities.csproj index c70581e440..ca393a1678 100644 --- a/test/Microsoft.TestPlatform.TestUtilities/Microsoft.TestPlatform.TestUtilities.csproj +++ b/test/Microsoft.TestPlatform.TestUtilities/Microsoft.TestPlatform.TestUtilities.csproj @@ -22,7 +22,7 @@ - 4.3.0 + 4.0.1 diff --git a/test/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.UnitTests/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.UnitTests.csproj b/test/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.UnitTests/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.UnitTests.csproj index 6281089f85..2e64820c4f 100644 --- a/test/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.UnitTests/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.UnitTests.csproj +++ b/test/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.UnitTests/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.UnitTests.csproj @@ -6,7 +6,7 @@ - Exe + Exe netcoreapp1.0;net46 Microsoft.TestPlatform.VsTestConsole.TranslationLayer.UnitTests $(PackageTargetFallback);dnxcore50;portable-net45+win8 diff --git a/test/TestAssets/OutOfProcDataCollector/OutOfProcDataCollector.csproj b/test/TestAssets/OutOfProcDataCollector/OutOfProcDataCollector.csproj index 7f073f4323..4daa2a2b0a 100644 --- a/test/TestAssets/OutOfProcDataCollector/OutOfProcDataCollector.csproj +++ b/test/TestAssets/OutOfProcDataCollector/OutOfProcDataCollector.csproj @@ -1,9 +1,15 @@  - netcoreapp1.0;net46;netcoreapp1.1 + netcoreapp2.0;net46 15.0.0.0 + + + + 2.0.0-beta-001737-00 + + - \ No newline at end of file + diff --git a/test/vstest.console.UnitTests/vstest.console.UnitTests.csproj b/test/vstest.console.UnitTests/vstest.console.UnitTests.csproj index 15c33fd4f1..f0004e66c3 100644 --- a/test/vstest.console.UnitTests/vstest.console.UnitTests.csproj +++ b/test/vstest.console.UnitTests/vstest.console.UnitTests.csproj @@ -6,10 +6,10 @@ - Exe + Exe netcoreapp1.0;net46 vstest.console.UnitTests - $(PackageTargetFallback);dnxcore50;portable-net45+win8 + $(PackageTargetFallback);dnxcore50;portable-net45+win8