<Project ToolsVersion="14.0" DefaultTargets="Test"> <Import Project="test/TestPackageProjects.targets" /> <Import Project="test/TestProjects.targets" /> <PropertyGroup> <PathListSeparator>:</PathListSeparator> <PathListSeparator Condition=" '$(OSName)' == 'win' ">%3b</PathListSeparator> <ExecPath>$(OutputDirectory)$(PathListSeparator)$(PATH)</ExecPath> <ExecPath Condition=" '$(OSName)' == 'win' ">$(OutputDirectory)</ExecPath> <TestPackagesDir>$(TestOutputDir)/packages/</TestPackagesDir> <TestArtifactsDir>$(TestOutputDir)/artifacts/</TestArtifactsDir> <TestResultXmlDir>$(TestOutputDir)/results/</TestResultXmlDir> </PropertyGroup> <ItemGroup> <TestTaskEnvironmentVariables Include="TEST_ARTIFACTS=$(TestArtifactsDir)" /> </ItemGroup> <PropertyGroup> <RunTestEnvironmentVariables>@(TestTaskEnvironmentVariables)</RunTestEnvironmentVariables> </PropertyGroup> <Target Name="Test" Condition=" '$(CLIBUILD_SKIP_TESTS)' != 'true' " DependsOnTargets="BuildTests;"> <ItemGroup> <ProjectsToTest Include="build/test/RunTest.proj"> <Properties> CLIBuildDll=$(CLIBuildDll); Configuration=$(Configuration); EnvironmentVariables=$(RunTestEnvironmentVariables); TestProject=%(TestProjects.Identity); TestResultXmlDir=$(TestResultXmlDir); ToolPath=$(OutputDirectory); WorkingDirectory=$([System.IO.Directory]::GetParent(%(TestProjects.Identity))) </Properties> </ProjectsToTest> </ItemGroup> <!-- Begin Workaround lack of a stable package version for depedencies; copy into simulated stable version folders --> <PropertyGroup> <StableSharedFrameworkDirectory>$(OutputDirectory)/shared/Microsoft.NETCore.App/$(SharedFrameworkStableVersion)</StableSharedFrameworkDirectory> <StableSharedFrameworkDirectoryWithBackwardsCompatibleRuntimes>$(Stage2WithBackwardsCompatibleRuntimesOutputDirectory)/shared/Microsoft.NETCore.App/$(SharedFrameworkStableVersion)</StableSharedFrameworkDirectoryWithBackwardsCompatibleRuntimes> </PropertyGroup> <ItemGroup> <Stabilize_SourceFiles_2_0 Include="$(OutputDirectory)/shared/Microsoft.NETCore.App/$(MicrosoftNETCoreAppPackageVersion)/*.*"/> <SimulatedStableSharedFrameworkDirectories Condition=" '$(IsSharedFrameworkPreReleaseVersion)' == 'True' " Include="$(StableSharedFrameworkDirectory)" /> <SimulatedStableSharedFrameworkDirectories Condition=" '$(IsSharedFrameworkPreReleaseVersion)' == 'True' " Include="$(StableSharedFrameworkDirectoryWithBackwardsCompatibleRuntimes)" /> </ItemGroup> <Copy Condition=" '$(IsSharedFrameworkPreReleaseVersion)' == 'True' " SourceFiles="@(Stabilize_SourceFiles_2_0)" DestinationFiles="@(Stabilize_SourceFiles_2_0->'$(StableSharedFrameworkDirectory)/%(RecursiveDir)%(Filename)%(Extension)')" /> <Copy Condition=" '$(IsSharedFrameworkPreReleaseVersion)' == 'True' " SourceFiles="@(Stabilize_SourceFiles_2_0)" DestinationFiles="@(Stabilize_SourceFiles_2_0->'$(StableSharedFrameworkDirectoryWithBackwardsCompatibleRuntimes)/%(RecursiveDir)%(Filename)%(Extension)')" /> <!-- End Workaround lack of a stable package version for depedencies; copy into simulated stable versions --> <Message Text="Starting test execution" Importance="High" /> <MSBuild BuildInParallel="True" Projects="@(ProjectsToTest)"> </MSBuild> <Exec Command="$(DotnetInOutputDirectory) exec $(RoslynDirectory)/bincore/VBCSCompiler.dll -shutdown" /> <Message Text="Finished test execution" Importance="High" /> <!-- Begin Workaround lack of a stable package version for depedencies; remove simulated stable version folder. --> <RemoveDir Directories="@(SimulatedStableSharedFrameworkDirectories)" /> <!-- End Workaround lack of a stable package version for depedencies; remove simulated stable version folder. --> </Target> <Target Name="PrepareTests" DependsOnTargets="Init; SetupTestProjectData"> <MakeDir Directories="$(TestPackagesDir)" Condition="!Exists('$(TestPackagesDir)')"/> </Target> <Target Name="RestoreTests" DependsOnTargets="PrepareTests; CreateTestAssetPackageNuPkgs;"> <DotNetRestore ToolPath="$(OutputDirectory)" ProjectPath=""$(TestDirectory)/Microsoft.DotNet.Cli.Tests.sln"" /> </Target> <Target Name="BuildTests" DependsOnTargets="RestoreTests;"> <DotNetBuild ToolPath="$(OutputDirectory)" ProjectPath=""$(TestDirectory)/Microsoft.DotNet.Cli.Tests.sln"" MaxCpuCount="1" /> </Target> <Target Name="CreateTestAssetPackageNuPkgs" DependsOnTargets="SetupTestPackageProjectData;" Outputs="%(TestPackageProject.Identity)"> <DotNetRestore ToolPath="$(OutputDirectory)" WorkingDirectory="$([System.IO.Directory]::GetParent('%(TestPackageProject.ProjectPath)'))" ProjectPath="%(TestPackageProject.ProjectPath)" /> <!-- https://github.com/NuGet/Home/issues/4063 --> <DotNetPack Output="$(TestPackagesDir)" ProjectPath="%(TestPackageProject.ProjectPath)" ToolPath="$(OutputDirectory)" VersionSuffix="%(TestPackageProject.VersionSuffix)" MsbuildArgs="%(TestPackageProject.MsbuildArgs) /p:SdkNuGetVersion=$(SdkNugetVersion)" /> </Target> <Target Name="EnsureStageSeparation"> <DotNetMSBuild Arguments="/v:diag $(RepoRoot)/build_projects/Microsoft.DotNet.Cli.Build.SelfTest/InvokeWithStage0.proj /p:OutputDirectory="$(OutputDirectory)"" ToolPath="$(Stage0Directory)" /> </Target> </Project>