Wasm.Build.Tests.csproj 4.7 KB
Newer Older
1 2 3 4
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFrameworks>$(NetCoreAppToolCurrent)</TargetFrameworks>
    <SkipTestUtilitiesReference>true</SkipTestUtilitiesReference>
5
    <SkipXunitTrimmerDescriptor>true</SkipXunitTrimmerDescriptor>
6 7 8
    <IsTestProject>true</IsTestProject>
    <BundleXunitRunner>true</BundleXunitRunner>
    <TestFramework>xunit</TestFramework>
9
    <EnableDefaultItems>true</EnableDefaultItems>
10
    <EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems>
11
    <DefineConstants Condition="'$(ContinuousIntegrationBuild)' != 'true'">TEST_DEBUG_CONFIG_ALSO</DefineConstants>
12 13
    <!-- This project should not build against the live built .NETCoreApp targeting pack as it contributes to the build itself. -->
    <UseLocalTargetingRuntimePack>false</UseLocalTargetingRuntimePack>
14

15
    <TestUsingWorkloads Condition="'$(TestUsingWorkloads)' == ''">true</TestUsingWorkloads>
16
    <InstallWorkloadForTesting>true</InstallWorkloadForTesting>
17 18

    <!-- don't run any wasm build steps -->
19
    <IsWasmProject>false</IsWasmProject>
20 21 22 23 24 25
  </PropertyGroup>

  <PropertyGroup>
    <RunScriptInputName Condition="'$(OS)' == 'Windows_NT'">RunScriptTemplate.cmd</RunScriptInputName>
    <RunScriptInputName Condition="'$(OS)' != 'Windows_NT'">RunScriptTemplate.sh</RunScriptInputName>

26
    <RunScriptInputPath>$(MSBuildThisFileDirectory)data\$(RunScriptInputName)</RunScriptInputPath>
27 28 29
  </PropertyGroup>

  <ItemGroup>
30
    <None Include="$(RepoRoot)\src\mono\wasm\test-main.js" CopyToOutputDirectory="PreserveNewest" />
31 32
    <None Include="..\testassets\**\*" Link="testassets\%(RecursiveDir)%(FileName)%(Extension)" CopyToOutputDirectory="PreserveNewest" />
    <None Include="data\**\*" Link="data\%(RecursiveDir)%(FileName)%(Extension)" CopyToOutputDirectory="PreserveNewest" />
33
  </ItemGroup>
34 35

  <Target Name="UpdateRunScriptCommands" BeforeTargets="GenerateRunScript">
36
    <ItemGroup Condition="'$(TestUsingWorkloads)' == 'true'">
37 38 39 40 41 42 43 44 45 46 47
      <RunScriptCommands Condition="'$(OS)' != 'Windows_NT'" Include="export WORKLOAD_PACKS_VER=$(Version)" />
      <RunScriptCommands Condition="'$(OS)' == 'Windows_NT'" Include="set WORKLOAD_PACKS_VER=$(Version)" />
    </ItemGroup>

    <ItemGroup Condition="'$(ContinuousIntegrationBuild)' == 'true'">
      <!-- TEST_USING_WORKLOADS - this is set per helix job, in sendtohelixhelp.proj -->
      <RunScriptCommands Condition="'$(OS)' != 'Windows_NT'" Include="export BASE_DIR=%24{HELIX_CORRELATION_PAYLOAD}" />
      <RunScriptCommands Condition="'$(OS)' == 'Windows_NT'" Include="set BASE_DIR=%HELIX_CORRELATION_PAYLOAD%" />
    </ItemGroup>

    <ItemGroup Condition="'$(ContinuousIntegrationBuild)' != 'true'">
48 49
      <RunScriptCommands Condition="'$(OS)' != 'Windows_NT'" Include="export TEST_USING_WORKLOADS=$(TestUsingWorkloads)" />
      <RunScriptCommands Condition="'$(OS)' == 'Windows_NT'" Include="set TEST_USING_WORKLOADS=$(TestUsingWorkloads)" />
50 51 52 53 54 55 56

      <RunScriptCommands Condition="'$(OS)' != 'Windows_NT'" Include="export BASE_DIR=$(ArtifactsBinDir)" />
      <RunScriptCommands Condition="'$(OS)' == 'Windows_NT'" Include="set BASE_DIR=$(ArtifactsBinDir)" />
    </ItemGroup>

    <ItemGroup>
      <RunScriptCommands Condition="'$(OS)' != 'Windows_NT'" Include="set_env_vars" />
57
      <RunScriptCommands Condition="'$(OS)' == 'Windows_NT'" Include="CALL :SetEnvVars" />
58 59 60 61 62
    </ItemGroup>

    <PropertyGroup>
      <RunScriptCommand Condition="'$(OS)' != 'Windows_NT'">dotnet exec xunit.console.dll $(AssemblyName).dll -xml %24XHARNESS_OUT/testResults.xml</RunScriptCommand>
      <RunScriptCommand Condition="'$(OS)' == 'Windows_NT'">dotnet.exe exec xunit.console.dll $(AssemblyName).dll -xml %XHARNESS_OUT%\testResults.xml</RunScriptCommand>
63 64 65 66

      <RunScriptCommand Condition="'$(ContinuousIntegrationBuild)' == 'true' and '$(OS)' != 'Windows_NT'">$(RunScriptCommand) %24HELIX_XUNIT_ARGS</RunScriptCommand>
      <RunScriptCommand Condition="'$(ContinuousIntegrationBuild)' == 'true' and '$(OS)' == 'Windows_NT'">$(RunScriptCommand) %HELIX_XUNIT_ARGS%</RunScriptCommand>

67 68 69 70 71
      <RunScriptCommand Condition="'$(ContinuousIntegrationBuild)' == 'true'">$(RunScriptCommand) -nocolor</RunScriptCommand>
      <RunScriptCommand Condition="'$(ContinuousIntegrationBuild)' == 'true' or '$(XUnitShowProgress)' == 'true'">$(RunScriptCommand) -verbose</RunScriptCommand>

      <RunScriptCommand Condition="'$(XUnitMethodName)' != ''">$(RunScriptCommand) -method $(XUnitMethodName)</RunScriptCommand>
      <RunScriptCommand Condition="'$(XUnitClassName)' != ''">$(RunScriptCommand) -class $(XUnitClassName)</RunScriptCommand>
72 73 74

      <!-- this allows use of test attributes from dotnet.xunitextensions -->
      <RunScriptCommand>$(RunScriptCommand) -notrait category=IgnoreForCI -notrait category=failing</RunScriptCommand>
75 76
    </PropertyGroup>
  </Target>
77
</Project>