Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corefx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Perez Rodriguez <joperezr@microsoft.com>2017-03-31 23:35:55 +0300
committerGitHub <noreply@github.com>2017-03-31 23:35:55 +0300
commit3ed853aaa7eaabc418f60bd797e19b876fce9b5a (patch)
tree65e70eea01e1028d76e51b5983e677cc149ca68e
parentace349f7887d85ab426b7051e11b3df8b8ae4b68 (diff)
Enable sending uapaot test runs to Helix (#17493)
Enable sending uapaot test runs to Helix
-rw-r--r--BuildToolsVersion.txt2
-rw-r--r--Tools-Override/CloudTest.targets2
-rw-r--r--Tools-Override/tests.targets29
-rw-r--r--dependencies.props22
-rw-r--r--dir.props19
-rw-r--r--external/runtime/runtime.depproj2
-rw-r--r--external/test-runtime/XUnit.Runtime.depproj31
-rw-r--r--external/test-runtime/optional.json26
-rw-r--r--src/upload-tests.proj2
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>
diff --git a/dir.props b/dir.props
index e52b518a5f..d8f70cf9ea 100644
--- a/dir.props
+++ b/dir.props
@@ -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>