diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml
index 9af74955c577b2..2c8dc82291b3e9 100644
--- a/eng/pipelines/runtime.yml
+++ b/eng/pipelines/runtime.yml
@@ -130,6 +130,7 @@ extends:
eq(variables['wasmDarcDependenciesChanged'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_wasm_coreclr_runtimetests.containsChange'], true),
+ eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'], true),
eq(variables['isRollingBuild'], true))
- template: /eng/pipelines/common/platform-matrix.yml
diff --git a/eng/testing/scenarios/BuildWasmAppsJobsListCLR.txt b/eng/testing/scenarios/BuildWasmAppsJobsListCLR.txt
new file mode 100644
index 00000000000000..28a2f6ccee94a4
--- /dev/null
+++ b/eng/testing/scenarios/BuildWasmAppsJobsListCLR.txt
@@ -0,0 +1,12 @@
+Wasm.Build.Tests.DebugLevelTests
+Wasm.Build.Tests.EnvVariablesTests
+Wasm.Build.Tests.FilesToIncludeInFileSystemTests
+Wasm.Build.Tests.HttpTests
+Wasm.Build.Tests.LazyLoadingTests
+Wasm.Build.Tests.ModuleConfigTests
+Wasm.Build.Tests.PreloadingTests
+Wasm.Build.Tests.RebuildTests
+Wasm.Build.Tests.SatelliteLoadingTests
+Wasm.Build.Tests.WasmBuildAppTest
+Wasm.Build.Tests.WasmRunOutOfAppBundleTests
+Wasm.Build.Tests.WasmTemplateTests
\ No newline at end of file
diff --git a/src/libraries/sendtohelix-browser.targets b/src/libraries/sendtohelix-browser.targets
index 0729da3fb808d7..5a06771698e2ff 100644
--- a/src/libraries/sendtohelix-browser.targets
+++ b/src/libraries/sendtohelix-browser.targets
@@ -131,12 +131,13 @@
- $(RepositoryEngineeringDir)testing\scenarios\BuildWasmAppsJobsList.txt
+ $(RepositoryEngineeringDir)testing\scenarios\BuildWasmAppsJobsList.txt
+ $(RepositoryEngineeringDir)testing\scenarios\BuildWasmAppsJobsListCLR.txt
<_XUnitTraitArg Condition="'$(TestUsingWorkloads)' == 'true'">-notrait category=no-workload
<_XUnitTraitArg Condition="'$(TestUsingWorkloads)' != 'true'">-trait category=no-workload
<_XUnitTraitArg Condition="'$(WasmFingerprintAssets)' == 'false'">$(_XUnitTraitArg) -trait category=no-fingerprinting
<_XUnitTraitArg Condition="'$(WasmBundlerFriendlyBootConfig)' == 'true'">$(_XUnitTraitArg) -trait category=bundler-friendly
- <_XUnitTraitArg Condition="'$(RuntimeFlavor)' == 'CoreCLR'">-trait category=$(RuntimeFlavor)
+ <_XUnitTraitArg Condition="'$(RuntimeFlavor)' == 'CoreCLR'">-notrait category=native -notrait category=mono -notrait category=workload
diff --git a/src/libraries/sendtohelix-wasm.targets b/src/libraries/sendtohelix-wasm.targets
index 1533b8600e173b..1160ca6c011aa1 100644
--- a/src/libraries/sendtohelix-wasm.targets
+++ b/src/libraries/sendtohelix-wasm.targets
@@ -43,13 +43,20 @@
<_BuildWasmAppsPayloadArchive>@(_WasmWorkItem)
-
+
-
+
+ $(_BuildWasmAppsPayloadArchive)
+ $(EnvVarCommand) "HELIX_XUNIT_ARGS=-class %(Identity)"
+ $(HelixCommand)
+ $(_workItemTimeout)
+
+
+
$(_BuildWasmAppsPayloadArchive)
$(EnvVarCommand) "HELIX_XUNIT_ARGS=-class %(Identity)"
$(HelixCommand)
diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs
index 63f2fd2a3bd145..b1e19c334fc624 100644
--- a/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs
@@ -50,6 +50,7 @@ public void DefaultTemplate_NoAOT_WithWorkload(Configuration config, bool testUn
[Theory]
[MemberData(nameof(TestDataForDefaultTemplate_WithWorkload), parameters: new object[] { true })]
+ [TestCategory("native")]
public void DefaultTemplate_AOT_WithWorkload(Configuration config, bool testUnicode)
{
ProjectInfo info = CopyTestAsset(config, aot: false, TestAsset.BlazorBasicTestApp, "blz_aot", appendUnicodeToPath: testUnicode);
@@ -117,6 +118,7 @@ void AssertResourcesDlls(string basePath)
[Theory]
[InlineData("", true)] // Default case
[InlineData("false", false)] // the other case
+ [TestCategory("native")]
public async Task Test_WasmStripILAfterAOT(string stripILAfterAOT, bool expectILStripping)
{
Configuration config = Configuration.Release;
@@ -136,6 +138,7 @@ public async Task Test_WasmStripILAfterAOT(string stripILAfterAOT, bool expectIL
[Theory]
[InlineData(Configuration.Debug)]
+ [TestCategory("native")]
public void BlazorWasm_CannotAOT_InDebug(Configuration config)
{
ProjectInfo info = CopyTestAsset(
diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs
index 2d9a8baa260f7a..afb0d9c79e2720 100644
--- a/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs
@@ -13,6 +13,7 @@
namespace Wasm.Build.Tests.Blazor;
+[TestCategory("native")]
public class CleanTests : BlazorWasmTestBase
{
public CleanTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext)
diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs
index 29df5cdc3aec7e..03e1e1e84c8339 100644
--- a/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs
@@ -15,6 +15,7 @@
namespace Wasm.Build.Tests.Blazor;
+[TestCategory("native")]
public class DllImportTests : BlazorWasmTestBase
{
public DllImportTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext)
diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/EventPipeDiagnosticsTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/EventPipeDiagnosticsTests.cs
index 3ee0c013877bfb..7f359c9e864a53 100644
--- a/src/mono/wasm/Wasm.Build.Tests/Blazor/EventPipeDiagnosticsTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/EventPipeDiagnosticsTests.cs
@@ -17,6 +17,7 @@
namespace Wasm.Build.Tests.Blazor;
+[TestCategory("mono")]
public class EventPipeDiagnosticsTests : BlazorWasmTestBase
{
private static readonly string uploadPattern = "^[a-zA-Z0-9_]+\\.nettrace$";
diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs
index 8b851af3586cdf..2b8d4c2158930c 100644
--- a/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs
@@ -30,6 +30,7 @@ public MiscTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildC
[InlineData(Configuration.Release, true)]
[InlineData(Configuration.Release, false)]
[ActiveIssue("https://github.com/dotnet/runtime/issues/103566")]
+ [TestCategory("native")]
public void NativeBuild_WithDeployOnBuild_UsedByVS(Configuration config, bool nativeRelink)
{
string extraProperties = config == Configuration.Debug
@@ -57,6 +58,7 @@ public void NativeBuild_WithDeployOnBuild_UsedByVS(Configuration config, bool na
[Theory]
[InlineData(Configuration.Release)]
+ [TestCategory("native")]
public void DefaultTemplate_AOT_InProjectFile(Configuration config)
{
string extraProperties = config == Configuration.Debug
@@ -77,6 +79,7 @@ public void DefaultTemplate_AOT_InProjectFile(Configuration config)
}
[Fact]
+ [TestCategory("native")]
public void BugRegression_60479_WithRazorClassLib()
{
Configuration config = Configuration.Release;
diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs
index 180c1e249c52bf..2314cd4644f135 100644
--- a/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs
@@ -9,6 +9,7 @@
namespace Wasm.Build.Tests.Blazor;
+[TestCategory("native")]
public class NativeTests : BlazorWasmTestBase
{
public NativeTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext)
diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs
index 526a4737a29beb..71c8c520dc16ec 100644
--- a/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs
@@ -11,6 +11,7 @@
namespace Wasm.Build.Tests.Blazor
{
+ [TestCategory("native")]
public class NoopNativeRebuildTest : BlazorWasmTestBase
{
public NoopNativeRebuildTest(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext)
diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleMultiThreadedTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleMultiThreadedTests.cs
index 72ae03786db60f..f05c6093b75a54 100644
--- a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleMultiThreadedTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleMultiThreadedTests.cs
@@ -13,6 +13,7 @@
namespace Wasm.Build.Tests.MT.Blazor;
+[TestCategory("mono")]
public class SimpleMultiThreadedTests : BlazorWasmTestBase
{
public SimpleMultiThreadedTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext)
diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs
index e623c6d4efc7e3..d39d794e7f5392 100644
--- a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs
@@ -64,6 +64,7 @@ public async Task BlazorBuildAndRunForDifferentOutputPaths(Configuration config,
[InlineData(Configuration.Debug, false)]
[InlineData(Configuration.Release, false)]
[InlineData(Configuration.Release, true)]
+ [TestCategory("native")]
public async Task BlazorPublishRunTest(Configuration config, bool aot)
{
ProjectInfo info = CopyTestAsset(config, aot, TestAsset.BlazorBasicTestApp, "blazor_publish");
diff --git a/src/mono/wasm/Wasm.Build.Tests/BrowserStructures/TestAsset.cs b/src/mono/wasm/Wasm.Build.Tests/BrowserStructures/TestAsset.cs
index e4b4ec9efd0575..83bf2e674d1a39 100644
--- a/src/mono/wasm/Wasm.Build.Tests/BrowserStructures/TestAsset.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/BrowserStructures/TestAsset.cs
@@ -6,5 +6,4 @@ public class TestAsset
public static readonly TestAsset BlazorBasicTestApp = new() { Name = "BlazorBasicTestApp", RunnableProjectSubPath = "App" };
public static readonly TestAsset LibraryModeTestApp = new() { Name = "LibraryMode" };
public static readonly TestAsset BlazorWebWasm = new() { Name = "BlazorWebWasm", RunnableProjectSubPath = "BlazorWebWasm" };
- public static readonly TestAsset WasmBrowserRunMainOnly = new() { Name = "WasmBrowserRunMainOnly" };
}
diff --git a/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs b/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs
index 41d7fdb6388fec..23dd76ebce99f2 100644
--- a/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs
@@ -23,6 +23,7 @@ public BuildPublishTests(ITestOutputHelper output, SharedBuildPerTestClassFixtur
[Theory]
[BuildAndRun(config: Configuration.Debug, aot: true)]
+ [TestCategory("native")]
public void Wasm_CannotAOT_InDebug(Configuration config, bool aot)
{
ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "no_aot_in_debug");
@@ -50,6 +51,7 @@ public async Task BuildThenPublishNoAOT(Configuration config, bool aot)
[Theory]
[BuildAndRun(config: Configuration.Release, aot: true)]
+ [TestCategory("native")]
public async Task BuildThenPublishWithAOT(Configuration config, bool aot)
{
ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "build_publish");
diff --git a/src/mono/wasm/Wasm.Build.Tests/DiagnosticsTests.cs b/src/mono/wasm/Wasm.Build.Tests/DiagnosticsTests.cs
index 0e633e20943fd1..d5729449a7ce01 100644
--- a/src/mono/wasm/Wasm.Build.Tests/DiagnosticsTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/DiagnosticsTests.cs
@@ -13,6 +13,7 @@
namespace Wasm.Build.Tests;
+[TestCategory("mono")]
public class DiagnosticsTests : WasmTemplateTestsBase
{
public DiagnosticsTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext)
diff --git a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs
index dac78c679157ce..4d84a6d567dc0e 100644
--- a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs
@@ -14,6 +14,7 @@
namespace Wasm.Build.Tests
{
+ [TestCategory("native")]
public class DllImportTests : PInvokeTableGeneratorTestsBase
{
public DllImportTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext)
diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs
index e3ecb5a48717d0..2883967abc0105 100644
--- a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs
@@ -41,11 +41,13 @@ from locale in locales
[Theory]
[MemberData(nameof(IcuExpectedAndMissingCustomShardTestData), parameters: new object[] { Configuration.Release })]
+ [TestCategory("native")]
public async Task CustomIcuShard(Configuration config, bool aot, string customIcuPath, string customLocales, bool onlyPredefinedCultures) =>
await TestIcuShards(config, Template.WasmBrowser, aot, customIcuPath, customLocales, GlobalizationMode.Custom, onlyPredefinedCultures);
[Theory]
[MemberData(nameof(IcuExpectedAndMissingAutomaticShardTestData), parameters: new object[] { Configuration.Release })]
+ [TestCategory("native")]
public async Task AutomaticShardSelectionDependingOnEnvLocale(Configuration config, bool aot, string environmentLocale, string testedLocales) =>
await PublishAndRunIcuTest(config, Template.WasmBrowser, aot, testedLocales, GlobalizationMode.Sharded, locale: environmentLocale);
}
diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs
index c87afc44b9abb6..7005b99642b21e 100644
--- a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs
@@ -38,6 +38,7 @@ from locale in locales
[Theory]
[MemberData(nameof(IcuExpectedAndMissingShardFromRuntimePackTestData), parameters: new object[] { Configuration.Release })]
+ [TestCategory("native")]
public async Task DefaultAvailableIcuShardsFromRuntimePack(Configuration config, bool aot, string shardName, string testedLocales) =>
await TestIcuShards(config, Template.WasmBrowser, aot, shardName, testedLocales, GlobalizationMode.Custom);
}
diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs b/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs
index 825f00e3b9b6f0..f57e229bc0200d 100644
--- a/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs
+++ b/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs
@@ -53,6 +53,7 @@ public static IEnumerable