diff options
-rw-r--r-- | BuildToolsVersion.txt | 2 | ||||
-rw-r--r-- | Tools-Override/CloudTest.targets | 2 | ||||
-rw-r--r-- | Tools-Override/tests.targets | 29 | ||||
-rw-r--r-- | dependencies.props | 22 | ||||
-rw-r--r-- | dir.props | 19 | ||||
-rw-r--r-- | external/runtime/runtime.depproj | 2 | ||||
-rw-r--r-- | external/test-runtime/XUnit.Runtime.depproj | 31 | ||||
-rw-r--r-- | external/test-runtime/optional.json | 26 | ||||
-rw-r--r-- | src/upload-tests.proj | 2 |
9 files changed, 111 insertions, 24 deletions
diff --git a/BuildToolsVersion.txt b/BuildToolsVersion.txt index 711fdff846..4ae8a71983 100644 --- a/BuildToolsVersion.txt +++ b/BuildToolsVersion.txt @@ -1 +1 @@ -1.0.27-prerelease-01429-01 +1.0.27-prerelease-01431-02 diff --git a/Tools-Override/CloudTest.targets b/Tools-Override/CloudTest.targets index 500d75fc4f..fee715b700 100644 --- a/Tools-Override/CloudTest.targets +++ b/Tools-Override/CloudTest.targets @@ -431,7 +431,7 @@ <Target Name="CompressRuntimeDir" Condition="'$(SkipArchive)' != 'true'"> <ZipFileCreateFromDirectory - SourceDirectory="$(TestSharedFxDir)" + SourceDirectory="$(ArchivePayloadRootDir)" DestinationArchive="$(TestRuntimeArchiveFile)" OverwriteDestination="true" /> <ItemGroup> diff --git a/Tools-Override/tests.targets b/Tools-Override/tests.targets index 9ca0022e4a..f64b9090cf 100644 --- a/Tools-Override/tests.targets +++ b/Tools-Override/tests.targets @@ -81,7 +81,7 @@ <PropertyGroup Condition="'$(IsTestProject)'=='true'"> <StartWorkingDirectory Condition="'$(StartWorkingDirectory)'==''">$(TestPath)</StartWorkingDirectory> <StartAction Condition="'$(StartAction)'==''">Program</StartAction> - <StartProgram Condition="'$(StartProgram)'==''">$(TestSharedFxDir)dotnet.exe</StartProgram> + <StartProgram Condition="'$(StartProgram)'==''">$(ArchivePayloadRootDir)dotnet.exe</StartProgram> <StartArguments Condition="'$(StartArguments)'==''">$(TestArguments) -wait -parallel none</StartArguments> </PropertyGroup> @@ -198,23 +198,32 @@ Overwrite="true" Encoding="Ascii" /> + <!--====================================================== + Section for uapaot ilc test runs + ====================================================== --> <PropertyGroup Condition="'$(UseDotNetNativeToolchain)' == 'true'"> <ILCBuildType Condition="'$(ILCBuildType)' == ''">ret</ILCBuildType> + <_TestILCFolder>%RUNTIME_PATH%\TestILC</_TestILCFolder> + <_Runtime_Path>%RUNTIME_PATH%\ILCInputFolder\</_Runtime_Path> </PropertyGroup> - <!-- For .NET Native compilation, we first need to generate a native executable if possible. --> <ItemGroup Condition="'$(UseDotNetNativeToolchain)' == 'true' AND '$(Performance)'!='true'" > <IlcInputFolderContents Include="$(ILCFXInputFolder)/*" /> - <TestCommandLines Include="mklink /H %(IlcInputFolderContents.Filename)%(IlcInputFolderContents.Extension) %(IlcInputFolderContents.FullPath)" /> - <TestCommandLines Include="copy /y $(TestILCFolder)\default.rd.xml %EXECUTION_DIR%" /> - <TestCommandLines Include="call $(TestILCFolder)\ilc.exe -ExeName xunit.console.netcore.exe -in %EXECUTION_DIR% -out %EXECUTION_DIR%\native -usedefaultpinvoke -buildtype $(ILCBuildType) -v diag || exit /b %ERRORLEVEL%"/> - <TestCommandLines Include="copy /y $(TestILCFolder)\CRT\vcruntime140_app.dll %EXECUTION_DIR%\native" /> + <TestCommandLines Include="mklink /H %(IlcInputFolderContents.Filename)%(IlcInputFolderContents.Extension) $(_Runtime_Path)%(IlcInputFolderContents.Filename)%(IlcInputFolderContents.Extension)" /> + <TestCommandLines Include="copy /y $(_TestILCFolder)\default.rd.xml %EXECUTION_DIR%" /> + <TestCommandLines Include="call $(_TestILCFolder)\ilc.exe -ExeName xunit.console.netcore.exe -in %EXECUTION_DIR% -out %EXECUTION_DIR%\native -usedefaultpinvoke -buildtype $(ILCBuildType) -v diag" /> + <TestCommandLines Include="set ILCERRORLEVEL=%ERRORLEVEL%" /> + <TestCommandLines Include="if NOT [%ILCERRORLEVEL%] == [0] exit /b %ILCERRORLEVEL%" /> + <TestCommandLines Include="copy /y $(_TestILCFolder)\CRT\vcruntime140_app.dll %EXECUTION_DIR%\native" /> <TestCommandLines Include="echo > %EXECUTION_DIR%\native\$(XunitTestAssembly)"/> <TestCommandLines Include="cd native"/> <PostExecutionTestCommandLines Include="type Xunit.Console.Output.txt" /> <PostExecutionTestCommandLines Include="copy /y testResults.xml %EXECUTION_DIR%\" /> </ItemGroup> + <!--====================================================== + Section for uap F5 test runs + ====================================================== --> <PropertyGroup Condition="'$(BuildingUAPVertical)' == 'true'"> <!-- The location where the logs will be written by the test runner --> <UAP_Results_Path Condition="'$(UAP_Results_Path)'==''">%USERPROFILE%\Documents\TestResults\</UAP_Results_Path> @@ -229,7 +238,7 @@ <ItemGroup Condition="'$(BuildingUAPVertical)' == 'true'" > <!-- Copy the runner files into the test directory --> - <RunnerFolderContents Include="$(NETCoreAppTestRootPath)\Runner\**\*" /> + <RunnerFolderContents Include="$(TestHostRootPath)\Runner\**\*" /> <TestCommandLines Include="mkdir Assets" /> <TestCommandLines Include="mkdir entrypoint" /> @@ -281,13 +290,13 @@ > <MakeDir Condition="'$(CoverageEnabledForProject)'=='true'" Directories="$(CoverageReportDir)" /> - <Error Text="TestILCFolder property is required for running uapaot tests. Please pass in the full path to the directory that contains ilc.exe to msbuild using /p:TestILCFolder=path_to_ilc_dir.exe" Condition="'$(BuildingUAPAOTVertical)' == 'true' AND '$(TestILCFolder)' == ''" /> + <Error Text="TestILCFolder property is required for running uapaot tests. Please pass in the full path to the directory that contains ilc.exe to msbuild using /p:TestILCFolder=path_to_ilc_dir.exe" Condition="'$(BuildingUAPAOTVertical)' == 'true' AND !Exists('$(TestHostRootPath)\TestILC')" /> <!-- For UAP, make sure the Runner and Launcher folder exist, otherwise the tests cannot run --> <Error Text="We cannot run the tests for UAP because either the Runner or the Launcher could not be found. You need to specify the UAPToolsFolder property when calling build.cmd to fix this." - Condition="'$(BuildingUAPVertical)'=='true' and (!Exists('$(NETCoreAppTestRootPath)\Runner') or !Exists('$(NETCoreAppTestRootPath)\Launcher'))" /> + Condition="'$(BuildingUAPVertical)'=='true' and (!Exists('$(TestHostRootPath)\Runner') or !Exists('$(TestHostRootPath)\Launcher'))" /> - <Exec Command="$(TestPath)/$(RunnerScriptName) $(TestSharedFxDir)" + <Exec Command="$(TestPath)/$(RunnerScriptName) $(ArchivePayloadRootDir)" CustomErrorRegularExpression="Failed: [^0]" ContinueOnError="true" IgnoreStandardErrorWarningFormat="true" diff --git a/dependencies.props b/dependencies.props index 83d39f6bc1..61bfef7b5f 100644 --- a/dependencies.props +++ b/dependencies.props @@ -21,6 +21,7 @@ <CoreClrCurrentRef>ec1a43c2094d39e17ade9528d7fb5b4bbdb38852</CoreClrCurrentRef> <ExternalCurrentRef>3b8a99621d89ad9877f053ba8af25e0f25dcd9d8</ExternalCurrentRef> <ProjectNTfsCurrentRef>2de789c24b595732e07a7f0923cd9646b9cdcbbe</ProjectNTfsCurrentRef> + <ProjectNTfsTestILCCurrentRef>2de789c24b595732e07a7f0923cd9646b9cdcbbe</ProjectNTfsTestILCCurrentRef> <SniCurrentRef>05650e53f2aa4497f74cd6e9b053d3f69f64b0bd</SniCurrentRef> <StandardCurrentRef>5a38b0ed841e10af1607905d58dd30e326dbff01</StandardCurrentRef> </PropertyGroup> @@ -31,6 +32,8 @@ <CoreClrExpectedPrerelease>preview1-25131-02</CoreClrExpectedPrerelease> <ExternalExpectedPrerelease>beta-25016-01</ExternalExpectedPrerelease> <ProjectNTfsExpectedPrerelease>beta-25131-00</ProjectNTfsExpectedPrerelease> + <ProjectNTfsTestILCExpectedPrerelease>beta-25131-00</ProjectNTfsTestILCExpectedPrerelease> + <ProjectNTfsTestILCPackageVersion>1.0.0-beta-25131-00</ProjectNTfsTestILCPackageVersion> <NETStandardPackageVersion>2.0.0-beta-25130-01</NETStandardPackageVersion> <NETStandardPackageId>NETStandard.Library</NETStandardPackageId> <!-- Use the SNI runtime package --> @@ -76,6 +79,14 @@ <BuildInfoPath>$(BaseDotNetBuildInfo)projectn-tfs/$(DependencyBranch)</BuildInfoPath> <CurrentRef>$(ProjectNTfsCurrentRef)</CurrentRef> </RemoteDependencyBuildInfo> + <RemoteDependencyBuildInfo Condition="'$(DisableProjectNTfsAutoUpgrade)' != 'true'" Include="ProjectNTfs-TestILC"> + <BuildInfoPath>$(BaseDotNetBuildInfo)projectn-tfs-testilc/$(DependencyBranch)</BuildInfoPath> + <CurrentRef>$(ProjectNTfsTestILCCurrentRef)</CurrentRef> + </RemoteDependencyBuildInfo> + <RemoteDependencyBuildInfo Condition="'$(DisableProjectNTfsAutoUpgrade)' != 'true'" Include="ProjectNTfs-TestILC-PackageVersion"> + <BuildInfoPath>$(BaseDotNetBuildInfo)projectn-tfs-testilc/$(DependencyBranch)</BuildInfoPath> + <CurrentRef>$(ProjectNTfsTestILCCurrentRef)</CurrentRef> + </RemoteDependencyBuildInfo> <DependencyBuildInfo Include="@(RemoteDependencyBuildInfo)"> <RawVersionsBaseUrl>https://raw.githubusercontent.com/dotnet/versions</RawVersionsBaseUrl> @@ -106,6 +117,16 @@ <ElementName>ProjectNTfsExpectedPrerelease</ElementName> <BuildInfoName>ProjectNTfs</BuildInfoName> </XmlUpdateStep> + <XmlUpdateStep Condition="'$(DisableProjectNTfsAutoUpgrade)' != 'true'" Include="ProjectNTfs-TestILC"> + <Path>$(MSBuildThisFileFullPath)</Path> + <ElementName>ProjectNTfsTestILCExpectedPrerelease</ElementName> + <BuildInfoName>ProjectNTfs-TestILC</BuildInfoName> + </XmlUpdateStep> + <XmlUpdateStep Condition="'$(DisableProjectNTfsAutoUpgrade)' != 'true'" Include="ProjectNTfs-TestILC-PackageVersion"> + <Path>$(MSBuildThisFileFullPath)</Path> + <ElementName>ProjectNTfsTestILCPackageVersion</ElementName> + <PackageId>TestILCNugetPackageForCoreFX</PackageId> + </XmlUpdateStep> <XmlUpdateStep Include="Sni"> <Path>$(MSBuildThisFileFullPath)</Path> <ElementName>SniPackageVersion</ElementName> @@ -165,6 +186,7 @@ <!-- project.json files to update --> <ProjectJsonFiles Include="external\**\project.json" /> + <ProjectJsonFiles Include="external\**\optional.json" /> <ProjectJsonFiles Include="external\**\project.json.template" /> </ItemGroup> @@ -256,18 +256,17 @@ <BinPlaceUAPFramework Condition="'$(_bc_TargetGroup)' == 'uap'">true</BinPlaceUAPFramework> <NETCoreAppTestSharedFxVersion>9.9.9</NETCoreAppTestSharedFxVersion> - <NETCoreAppTestRootPath>$(BinDir)testhost/$(BuildConfiguration)/</NETCoreAppTestRootPath> - <NETCoreAppTestHostFxrPath>$(NETCoreAppTestRootPath)host/fxr/$(NETCoreAppTestSharedFxVersion)/</NETCoreAppTestHostFxrPath> - <NETCoreAppTestSharedFrameworkPath>$(NETCoreAppTestRootPath)shared/Microsoft.NETCore.App/$(NETCoreAppTestSharedFxVersion)/</NETCoreAppTestSharedFrameworkPath> - <ILCFXInputFolder>$(NETCoreAppTestRootPath)ILCInputFolder</ILCFXInputFolder> + <TestHostRootPath>$(BinDir)testhost/$(BuildConfiguration)/</TestHostRootPath> + <NETCoreAppTestHostFxrPath>$(TestHostRootPath)host/fxr/$(NETCoreAppTestSharedFxVersion)/</NETCoreAppTestHostFxrPath> + <NETCoreAppTestSharedFrameworkPath>$(TestHostRootPath)shared/Microsoft.NETCore.App/$(NETCoreAppTestSharedFxVersion)/</NETCoreAppTestSharedFrameworkPath> + <ILCFXInputFolder>$(TestHostRootPath)ILCInputFolder</ILCFXInputFolder> <!-- For UAP, we'll produce the layout and hard-link this into each test's directory --> - <UAPTestSharedFrameworkPath>$(NETCoreAppTestRootPath)UAPLayout</UAPTestSharedFrameworkPath> + <UAPTestSharedFrameworkPath>$(TestHostRootPath)UAPLayout</UAPTestSharedFrameworkPath> <!-- Constructed shared fx path for testing --> - <TestSharedFxDir Condition="'$(BinPlaceTestSharedFramework)' == 'true' or '$(BinPlaceUAPFramework)'=='true'">$(NETCoreAppTestRootPath)</TestSharedFxDir> - <TestSharedFxDir Condition="'$(BuildingUAPAOTVertical)' == 'true'">$(ILCFXInputFolder)</TestSharedFxDir> - <UseDotNetNativeToolchain Condition="'$(BuildingUAPAOTVertical)' == 'true' And '$(TestILCFolder)' != ''">true</UseDotNetNativeToolchain> + <ArchivePayloadRootDir Condition="'$(BinPlaceTestSharedFramework)' == 'true' or '$(BinPlaceUAPFramework)'=='true' or '$(BinPlaceILCInputFolder)' == 'true'">$(TestHostRootPath)</ArchivePayloadRootDir> + <UseDotNetNativeToolchain Condition="'$(BuildingUAPAOTVertical)' == 'true'">true</UseDotNetNativeToolchain> <PackagesBasePath Condition="'$(PackagesBasePath)'==''">$(BinDir)$(OSPlatformConfig)</PackagesBasePath> <PackageOutputPath Condition="'$(PackageOutputPath)'==''">$(PackageOutputRoot)$(ConfigurationGroup)/</PackageOutputPath> @@ -275,6 +274,10 @@ </PropertyGroup> <PropertyGroup> + <OptionalToolingJsonPath>$(ProjectDir)\external\test-runtime\optional.json</OptionalToolingJsonPath> + </PropertyGroup> + + <PropertyGroup> <!-- Don't run tests if we're building another platform's binaries on Windows --> <SkipTests Condition="'$(SkipTests)'=='' and ('$(OsEnvironment)'=='Windows_NT' and '$(TargetsWindows)'!='true' and '$(OSGroup)'!='AnyOS')">true</SkipTests> </PropertyGroup> diff --git a/external/runtime/runtime.depproj b/external/runtime/runtime.depproj index a6b924c1ed..4aef5df03f 100644 --- a/external/runtime/runtime.depproj +++ b/external/runtime/runtime.depproj @@ -40,7 +40,7 @@ UseHardlinksIfPossible="true" /> <Copy SourceFiles="@(DotnetExe)" - DestinationFolder="$(NETCoreAppTestRootPath)" + DestinationFolder="$(TestHostRootPath)" SkipUnchangedFiles="true" UseHardlinksIfPossible="true" /> diff --git a/external/test-runtime/XUnit.Runtime.depproj b/external/test-runtime/XUnit.Runtime.depproj index 099b13f0ac..b254d1ff51 100644 --- a/external/test-runtime/XUnit.Runtime.depproj +++ b/external/test-runtime/XUnit.Runtime.depproj @@ -61,15 +61,42 @@ <Copy Condition="'$(UAPToolsFolder)'!=''" SourceFiles="@(RunnerFolderContents)" - DestinationFolder="$(NETCoreAppTestRootPath)\Runner\%(RecursiveDir)" + DestinationFolder="$(TestHostRootPath)\Runner\%(RecursiveDir)" SkipUnchangedFiles="true"/> <Copy Condition="'$(UAPToolsFolder)'!=''" SourceFiles="@(LauncherFolderContents)" - DestinationFolder="$(NETCoreAppTestRootPath)\Launcher\%(RecursiveDir)" + DestinationFolder="$(TestHostRootPath)\Launcher\%(RecursiveDir)" SkipUnchangedFiles="true"/> </Target> + <Target Name="VerifyMatchingProjectNVersions" + BeforeTargets="Build"> + <Error Condition="'$(ProjectNTfsExpectedPrerelease)' != '$(ProjectNTfsTestILCExpectedPrerelease)'" Text="The versions of ProjectN Targeting pack and TestILC have gone out of sync. Please make sure both of the prerelease versions on dependencies.props match." /> + </Target> + + <Target Name="CopyTestILCToolsToTestHost" + AfterTargets="RestorePackages" + Condition="'$(TargetGroup)' == 'uapaot'"> + <PropertyGroup> + <TestILCToolsPackageName>TestILCNugetPackageForCoreFX</TestILCToolsPackageName> + <TestILCFolder Condition="'$(TestILCFolder)' == ''">$(PackagesDir)$(TestILCToolsPackageName)\$(ProjectNTfsTestILCPackageVersion)\TestILC</TestILCFolder> + <TestILCFolder>$(TestILCFolder.Replace('/', '\'))</TestILCFolder> + </PropertyGroup> + + <Warning Text="Could not find the TestILC Tools at '$(TestILCFolder)'. Please run sync." Condition="'$(TestILCFolder)' == '' or !Exists('$(TestILCFolder)')" /> + + <ItemGroup Condition="'$(TestILCFolder)'!=''"> + <TestILCFolderContents Include="$(TestILCFolder)\**\*" /> + </ItemGroup> + + <Copy Condition="'$(TestILCFolder)'!=''" + SourceFiles="%(TestILCFolderContents.FullPath)" + DestinationFiles="$(TestHostRootPath)\TestILC\%(TestILCFolderContents.RecursiveDir)%(TestILCFolderContents.Filename)%(TestILCFolderContents.Extension)" + SkipUnchangedFiles="true" /> + + </Target> + <Target Name="AddXunitConsoleRunner" BeforeTargets="ResolveReferences" Condition="'$(TargetGroup)' == 'netfx'"> <Error Condition="!Exists('$(PackagesDir)$(XUnitRunnerPackageId)\$(XUnitPackageVersion)\tools\xunit.console.exe')" Text="Error: looks the package $(PackagesDir)$(XUnitRunnerPackageId)\$(XUnitPackageVersion) not restored or missing xunit.console.exe." diff --git a/external/test-runtime/optional.json b/external/test-runtime/optional.json new file mode 100644 index 0000000000..83e5b826c9 --- /dev/null +++ b/external/test-runtime/optional.json @@ -0,0 +1,26 @@ +{ + "frameworks": { + "net45": { + "dependencies": { + "Microsoft.DotNet.IBCMerge": "4.6.0-alpha-00001", + "Microsoft.DotNet.UAP.TestTools": "1.0.2", + "TestILCNugetPackageForCoreFX": "1.0.0-beta-25131-00" + } + } + }, + "runtimes": { + "centos.7-x64": {}, + "debian.8-x64": {}, + "fedora.23-x64": {}, + "fedora.24-x64": {}, + "opensuse.13.2-x64": {}, + "opensuse.42.1-x64": {}, + "osx.10.10-x64": {}, + "rhel.7-x64": {}, + "ubuntu.14.04-x64": {}, + "ubuntu.16.04-x64": {}, + "ubuntu.16.10-x64": {}, + "win7-x64": {}, + "win7-x86": {} + } +} diff --git a/src/upload-tests.proj b/src/upload-tests.proj index 779b4e2cdb..57b32b6c3c 100644 --- a/src/upload-tests.proj +++ b/src/upload-tests.proj @@ -105,7 +105,7 @@ <!-- Zips up the runtime directory; unzip location of this file will be used as the first argument to RunTests.cmd/sh. --> <Target Name="CompressRuntimeDir" Condition="'$(SkipArchive)' != 'true'"> <ZipFileCreateFromDirectory - SourceDirectory="$(TestSharedFxDir)" + SourceDirectory="$(ArchivePayloadRootDir)" DestinationArchive="$(TestRuntimeArchiveFile)" OverwriteDestination="true" /> <ItemGroup> |