Wasm.Debugger.Tests.csproj 4.9 KB
Newer Older
1 2 3 4
<Project Sdk="Microsoft.Build.NoTargets">
  <!-- This is a wrapper project for wasm debugger tests, to enable use of the library test infrastructure -->

  <PropertyGroup>
5
    <TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
6 7 8 9 10 11 12
    <IsPublishable>false</IsPublishable>
    <EnableCoverageSupport>false</EnableCoverageSupport>
    <EnableRunSettingsSupport>false</EnableRunSettingsSupport>
    <IsWasmProject>false</IsWasmProject>
    <SkipTestUtilitiesReference>true</SkipTestUtilitiesReference>
    <BundleXunitRunner>true</BundleXunitRunner>
    <TestFramework>xunit</TestFramework>
13
    <DebuggerHost Condition="'$(DebuggerHost)' == ''">chrome</DebuggerHost>
14 15 16

    <CoreBuildDependsOn />
    <BundleTestWasmAppDependsOn>BundleDebuggerTestsForHelix</BundleTestWasmAppDependsOn>
17 18 19
    <ExtractTestClassNamesForHelix Condition="'$(ContinuousIntegrationBuild)' == 'true' or '$(ArchiveTests)' == 'true'">true</ExtractTestClassNamesForHelix>
    <RuntimeConfiguration Condition="'$(RuntimeConfiguration)' == ''">$(Configuration)</RuntimeConfiguration>
    <HelixTargetsFile>wasm.helix.targets</HelixTargetsFile>
20 21 22 23 24 25 26 27 28 29
  </PropertyGroup>

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

    <RunScriptInputPath>$(MSBuildThisFileDirectory)data\$(RunScriptInputName)</RunScriptInputPath>
  </PropertyGroup>

  <ItemGroup>
30
    <ProjectReference Include="../DebuggerTestSuite/DebuggerTestSuite.csproj"
31 32 33
                      ReferenceOutputAssembly="false"
                      Private="false"
                      GlobalPropertiesToRemove="TargetFramework;TargetFrameworks;Configuration;TargetOS;TargetArchitecture"
34 35 36 37 38 39
                      AdditionalProperties="
                          RuntimeConfiguration=$(RuntimeConfiguration);
                          ArchiveTests=$(ArchiveTests);
                          ArchiveDirForHelix=$(TargetDir);
                          TestArchiveTestsDir=$(TestArchiveTestsDir);
                          ExtractTestClassNamesForHelix=$(ExtractTestClassNamesForHelix);
40
                          DebuggerHost=$(DebuggerHost);
41
                          DotNetForTests=$([MSBuild]::NormalizePath($(DotNetRoot), $(DotNetTool)))" />
42 43 44 45 46 47 48 49
  </ItemGroup>

  <Target Name="UpdateRunScriptCommands" BeforeTargets="GenerateRunScript">
    <ItemGroup>
      <RunScriptCommands Condition="'$(OS)' != 'Windows_NT'" Include="export DEBUGGER_TEST_PATH=$PWD/debugger-test" />
      <RunScriptCommands Condition="'$(OS)' == 'Windows_NT'" Include="set DEBUGGER_TEST_PATH=%25cd%25/debugger-test" />
    </ItemGroup>

50
    <ItemGroup Condition="'$(ContinuousIntegrationBuild)' == 'true' and '$(DebuggerHost)' == 'chrome'">
51 52
      <RunScriptCommands Condition="'$(OS)' != 'Windows_NT'" Include="export BROWSER_PATH_FOR_TESTS=$HELIX_CORRELATION_PAYLOAD/chrome-linux/chrome" />
      <RunScriptCommands Condition="'$(OS)' == 'Windows_NT'" Include="set BROWSER_PATH_FOR_TESTS=%HELIX_CORRELATION_PAYLOAD%\chrome-win\chrome.exe" />
53 54 55
    </ItemGroup>

    <ItemGroup Condition="'$(ContinuousIntegrationBuild)' == 'true' and '$(DebuggerHost)' == 'firefox'">
56
      <RunScriptCommands Condition="'$(OS)' != 'Windows_NT'" Include="export BROWSER_PATH_FOR_TESTS=$HELIX_CORRELATION_PAYLOAD/firefox/firefox" />
57 58
    </ItemGroup>

59 60 61 62 63
    <ItemGroup Label="Don't log to console on CI" Condition="'$(ContinuousIntegrationBuild)' == 'true'">
      <RunScriptCommands Condition="'$(OS)' != 'Windows_NT'" Include="export SKIP_LOG_TO_CONSOLE=1" />
      <RunScriptCommands Condition="'$(OS)' == 'Windows_NT'" Include="set SKIP_LOG_TO_CONSOLE=1" />
    </ItemGroup>

64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
    <PropertyGroup>
      <_DotnetCommand Condition="'$(OS)' != 'Windows_NT'">dotnet</_DotnetCommand>
      <_DotnetCommand Condition="'$(OS)' == 'Windows_NT'">dotnet.exe</_DotnetCommand>

      <RunScriptCommand>$(_DotnetCommand) test DebuggerTestSuite/DebuggerTestSuite.dll</RunScriptCommand>
      <RunScriptCommand>$(RunScriptCommand) &quot;-l:trx%3BLogFileName=testResults.trx&quot;</RunScriptCommand>

      <RunScriptCommand Condition="'$(OS)' != 'Windows_NT'">$(RunScriptCommand) --results-directory &quot;$TEST_LOG_PATH&quot;</RunScriptCommand>
      <RunScriptCommand Condition="'$(OS)' == 'Windows_NT'">$(RunScriptCommand) --results-directory &quot;%TEST_LOG_PATH%&quot;</RunScriptCommand>

      <RunScriptCommand Condition="'$(OS)' != 'Windows_NT'">$(RunScriptCommand) %24TEST_ARGS</RunScriptCommand>
      <RunScriptCommand Condition="'$(OS)' == 'Windows_NT'">$(RunScriptCommand) %TEST_ARGS%</RunScriptCommand>

      <!--<RunScriptCommand Condition="'$(ContinuousIntegrationBuild)' == 'true' or '$(XUnitShowProgress)' == 'true'">$(RunScriptCommand) -v normal</RunScriptCommand>-->
      <RunScriptCommand>$(RunScriptCommand) -v diag</RunScriptCommand>
    </PropertyGroup>
  </Target>

  <Target Name="BundleDebuggerTestsForHelix" />
</Project>