From 819ad1ad59be3d1f1e5e51230bcbfc7a5712e8d3 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Wed, 15 Apr 2026 20:36:37 +0200 Subject: [PATCH 1/6] test coreCLR WASM --- .azure/pipelines/components-e2e-tests.yml | 94 ++++++++++++++++++- ...soft.AspNetCore.Components.E2ETests.csproj | 13 ++- 2 files changed, 101 insertions(+), 6 deletions(-) diff --git a/.azure/pipelines/components-e2e-tests.yml b/.azure/pipelines/components-e2e-tests.yml index b0f344f98ac4..fbedaa13e6a4 100644 --- a/.azure/pipelines/components-e2e-tests.yml +++ b/.azure/pipelines/components-e2e-tests.yml @@ -49,10 +49,11 @@ variables: - template: /eng/common/templates/variables/pool-providers.yml jobs: +# Mono runtime (default) E2E tests - template: jobs/default-build.yml parameters: jobName: Components_E2E_Test - jobDisplayName: "Test: Blazor E2E tests on Linux" + jobDisplayName: "Test: Blazor E2E tests on Linux (Mono)" agentOs: Linux use1ESUbuntu: true isAzDOTestingJob: true @@ -112,7 +113,7 @@ jobs: testResultsFormat: 'VSTest' testResultsFiles: '*.trx' searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Unquarantined' - testRunTitle: ComponentsE2E-$(AgentOsName)-$(BuildConfiguration)-xunit + testRunTitle: ComponentsE2E-Mono-$(AgentOsName)-$(BuildConfiguration)-xunit condition: always() - task: PublishTestResults@2 displayName: Publish Quarantined E2E Test Results @@ -120,7 +121,7 @@ jobs: testResultsFormat: 'VSTest' testResultsFiles: '*.trx' searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Quarantined' - testRunTitle: Quarantine-$(AgentOsName)-$(BuildConfiguration)-xunit + testRunTitle: Quarantine-Mono-$(AgentOsName)-$(BuildConfiguration)-xunit mergeTestResults: true condition: always() @@ -133,3 +134,90 @@ jobs: path: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)' includeForks: true publishOnError: true + +# CoreCLR runtime E2E tests (UseMonoRuntime=false) +- template: jobs/default-build.yml + parameters: + jobName: Components_E2E_Test_CoreCLR + jobDisplayName: "Test: Blazor E2E tests on Linux (CoreCLR)" + agentOs: Linux + use1ESUbuntu: true + isAzDOTestingJob: true + enablePublishTestResults: false + timeoutInMinutes: 120 + steps: + - script: git submodule update --init + displayName: Update submodules + - script: ./restore.sh + displayName: Run restore.sh + - script: npm ci + displayName: NPM install + - script: npm run build + displayName: Build JS + - script: .dotnet/dotnet build ./src/Components/test/E2ETest -c $(BuildConfiguration) /p:UseMonoRuntime=false + displayName: Build (CoreCLR) + - script: | + set -eo pipefail + + # Only run WASM-relevant tests; skip Server and SSR tests since UseMonoRuntime only affects WASM. + .dotnet/dotnet test ./src/Components/test/E2ETest \ + -c $(BuildConfiguration) \ + --no-build \ + --filter 'Quarantined!=true&FullyQualifiedName!~ServerExecutionTest&FullyQualifiedName!~ServerRenderingTest' \ + -p:VsTestUseMSBuildOutput=false \ + --logger:"trx%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.trx" \ + --logger:"html%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.html" \ + --results-directory $(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Unquarantined \ + | tee e2e-test-output.log + + if grep -q "No test matches the given testcase filter" e2e-test-output.log + then + echo "##vso[task.logissue type=error] No tests matched the filter." + + exit 1 + fi + + # Check total tests run to detect abnormalities. In case the number of tests changes significantly, we should adjust the threshold. + # Extract total from the summary line "Failed: xx, Passed: yy, Skipped: zz, Total: NNN, Duration: ..." + total=$(sed -nE 's/.*Failed:[[:space:]]*[0-9]+,[[:space:]]*Passed:[[:space:]]*[0-9]+,[[:space:]]*Skipped:[[:space:]]*[0-9]+,[[:space:]]*Total:[[:space:]]*([0-9]+).*/\1/p' e2e-test-output.log) + min_total=600 + if [ -z "$total" ] || [ "$total" -lt "$min_total" ] + then + echo "##vso[task.logissue type=error] Insufficient total test count: $total. We expect at least $min_total tests to run." + exit 1 + fi + displayName: Run E2E tests (CoreCLR) + - script: .dotnet/dotnet test ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-build --filter 'Quarantined=true&FullyQualifiedName!~ServerExecutionTest&FullyQualifiedName!~ServerRenderingTest' -p:RunQuarantinedTests=true + -p:VsTestUseMSBuildOutput=false + --logger:"trx%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.trx" + --logger:"html%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.html" + --results-directory $(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Quarantined + displayName: Run Quarantined E2E tests (CoreCLR) + continueOnError: true + - task: PublishTestResults@2 + displayName: Publish E2E Test Results (CoreCLR) + inputs: + testResultsFormat: 'VSTest' + testResultsFiles: '*.trx' + searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Unquarantined' + testRunTitle: ComponentsE2E-CoreCLR-$(AgentOsName)-$(BuildConfiguration)-xunit + condition: always() + - task: PublishTestResults@2 + displayName: Publish Quarantined E2E Test Results (CoreCLR) + inputs: + testResultsFormat: 'VSTest' + testResultsFiles: '*.trx' + searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Quarantined' + testRunTitle: Quarantine-CoreCLR-$(AgentOsName)-$(BuildConfiguration)-xunit + mergeTestResults: true + condition: always() + + artifacts: + - name: Components_E2E_CoreCLR_Logs + path: artifacts/log/ + publishOnError: true + includeForks: true + - name: Components_E2E_CoreCLR_Test_Logs + path: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)' + includeForks: true + publishOnError: true diff --git a/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj b/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj index 48c04184707e..45a0adfade5f 100644 --- a/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj +++ b/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj @@ -42,6 +42,12 @@ + + + + + + @@ -74,13 +80,14 @@ - + + - + @@ -97,7 +104,7 @@ - + From 09aa92aaab4567b1fbc3cc611332b028dffd75e2 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Thu, 16 Apr 2026 13:33:09 +0200 Subject: [PATCH 2/6] fix --- .azure/pipelines/components-e2e-tests.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.azure/pipelines/components-e2e-tests.yml b/.azure/pipelines/components-e2e-tests.yml index fbedaa13e6a4..b7a679853dee 100644 --- a/.azure/pipelines/components-e2e-tests.yml +++ b/.azure/pipelines/components-e2e-tests.yml @@ -160,10 +160,11 @@ jobs: set -eo pipefail # Only run WASM-relevant tests; skip Server and SSR tests since UseMonoRuntime only affects WASM. + # Also skip WebAssemblyLoggingTest which relies on Mono-specific console logging behavior. .dotnet/dotnet test ./src/Components/test/E2ETest \ -c $(BuildConfiguration) \ --no-build \ - --filter 'Quarantined!=true&FullyQualifiedName!~ServerExecutionTest&FullyQualifiedName!~ServerRenderingTest' \ + --filter 'Quarantined!=true&FullyQualifiedName!~ServerExecutionTest&FullyQualifiedName!~ServerRenderingTest&FullyQualifiedName!~WebAssemblyLoggingTest' \ -p:VsTestUseMSBuildOutput=false \ --logger:"trx%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.trx" \ --logger:"html%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.html" \ @@ -187,7 +188,7 @@ jobs: exit 1 fi displayName: Run E2E tests (CoreCLR) - - script: .dotnet/dotnet test ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-build --filter 'Quarantined=true&FullyQualifiedName!~ServerExecutionTest&FullyQualifiedName!~ServerRenderingTest' -p:RunQuarantinedTests=true + - script: .dotnet/dotnet test ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-build --filter 'Quarantined=true&FullyQualifiedName!~ServerExecutionTest&FullyQualifiedName!~ServerRenderingTest&FullyQualifiedName!~WebAssemblyLoggingTest' -p:RunQuarantinedTests=true -p:VsTestUseMSBuildOutput=false --logger:"trx%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.trx" --logger:"html%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.html" From f22f4143ca6c1923f459d216be59b1d99dffb582 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Thu, 16 Apr 2026 18:34:26 +0200 Subject: [PATCH 3/6] temp: run CoreCLR job first, narrow to StatePersistenceTest only Reorder CoreCLR E2E job before Mono job for faster feedback. Temporarily limit CoreCLR tests to StatePersistenceTest to debug failures without exhausting CI agent disk space. --- .azure/pipelines/components-e2e-tests.yml | 84 ++++++++--------------- 1 file changed, 30 insertions(+), 54 deletions(-) diff --git a/.azure/pipelines/components-e2e-tests.yml b/.azure/pipelines/components-e2e-tests.yml index b7a679853dee..318e515b11bf 100644 --- a/.azure/pipelines/components-e2e-tests.yml +++ b/.azure/pipelines/components-e2e-tests.yml @@ -49,11 +49,12 @@ variables: - template: /eng/common/templates/variables/pool-providers.yml jobs: -# Mono runtime (default) E2E tests +# CoreCLR runtime E2E tests (UseMonoRuntime=false) — runs first for faster feedback +# TEMPORARY: narrowed to StatePersistenceTest only to debug disk-space issues - template: jobs/default-build.yml parameters: - jobName: Components_E2E_Test - jobDisplayName: "Test: Blazor E2E tests on Linux (Mono)" + jobName: Components_E2E_Test_CoreCLR + jobDisplayName: "Test: Blazor E2E tests on Linux (CoreCLR)" agentOs: Linux use1ESUbuntu: true isAzDOTestingJob: true @@ -68,15 +69,16 @@ jobs: displayName: NPM install - script: npm run build displayName: Build JS - - script: .dotnet/dotnet build ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-restore - displayName: Build + - script: .dotnet/dotnet build ./src/Components/test/E2ETest -c $(BuildConfiguration) /p:UseMonoRuntime=false + displayName: Build (CoreCLR) - script: | set -eo pipefail + # TEMPORARY: Run only StatePersistenceTest to debug CoreCLR WASM failures without exhausting disk. .dotnet/dotnet test ./src/Components/test/E2ETest \ -c $(BuildConfiguration) \ --no-build \ - --filter 'Quarantined!=true|Quarantined=false' \ + --filter 'Quarantined!=true&FullyQualifiedName~StatePersistenceTest' \ -p:VsTestUseMSBuildOutput=false \ --logger:"trx%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.trx" \ --logger:"html%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.html" \ @@ -90,56 +92,32 @@ jobs: exit 1 fi - # Check total tests run to detect abnormalities. In case the number of tests changes significantly, we should adjust the threshold. - # Extract total from the summary line "Failed: xx, Passed: yy, Skipped: zz, Total: NNN, Duration: ..." - total=$(sed -nE 's/.*Failed:[[:space:]]*[0-9]+,[[:space:]]*Passed:[[:space:]]*[0-9]+,[[:space:]]*Skipped:[[:space:]]*[0-9]+,[[:space:]]*Total:[[:space:]]*([0-9]+).*/\1/p' e2e-test-output.log) - min_total=1000 - if [ -z "$total" ] || [ "$total" -lt "$min_total" ] - then - echo "##vso[task.logissue type=error] Insufficient total test count: $total. We expect at least $min_total tests to run." - exit 1 - fi - displayName: Run E2E tests - - script: .dotnet/dotnet test ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-build --filter 'Quarantined=true' -p:RunQuarantinedTests=true - -p:VsTestUseMSBuildOutput=false - --logger:"trx%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.trx" - --logger:"html%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.html" - --results-directory $(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Quarantined - displayName: Run Quarantined E2E tests - continueOnError: true + # TEMPORARY: min_total check disabled while running single test class + displayName: Run E2E tests (CoreCLR) - task: PublishTestResults@2 - displayName: Publish E2E Test Results + displayName: Publish E2E Test Results (CoreCLR) inputs: testResultsFormat: 'VSTest' testResultsFiles: '*.trx' searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Unquarantined' - testRunTitle: ComponentsE2E-Mono-$(AgentOsName)-$(BuildConfiguration)-xunit - condition: always() - - task: PublishTestResults@2 - displayName: Publish Quarantined E2E Test Results - inputs: - testResultsFormat: 'VSTest' - testResultsFiles: '*.trx' - searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Quarantined' - testRunTitle: Quarantine-Mono-$(AgentOsName)-$(BuildConfiguration)-xunit - mergeTestResults: true + testRunTitle: ComponentsE2E-CoreCLR-$(AgentOsName)-$(BuildConfiguration)-xunit condition: always() artifacts: - - name: Components_E2E_Logs + - name: Components_E2E_CoreCLR_Logs path: artifacts/log/ publishOnError: true includeForks: true - - name: Components_E2E_Test_Logs + - name: Components_E2E_CoreCLR_Test_Logs path: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)' includeForks: true publishOnError: true -# CoreCLR runtime E2E tests (UseMonoRuntime=false) +# Mono runtime (default) E2E tests - template: jobs/default-build.yml parameters: - jobName: Components_E2E_Test_CoreCLR - jobDisplayName: "Test: Blazor E2E tests on Linux (CoreCLR)" + jobName: Components_E2E_Test + jobDisplayName: "Test: Blazor E2E tests on Linux (Mono)" agentOs: Linux use1ESUbuntu: true isAzDOTestingJob: true @@ -154,17 +132,15 @@ jobs: displayName: NPM install - script: npm run build displayName: Build JS - - script: .dotnet/dotnet build ./src/Components/test/E2ETest -c $(BuildConfiguration) /p:UseMonoRuntime=false - displayName: Build (CoreCLR) + - script: .dotnet/dotnet build ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-restore + displayName: Build - script: | set -eo pipefail - # Only run WASM-relevant tests; skip Server and SSR tests since UseMonoRuntime only affects WASM. - # Also skip WebAssemblyLoggingTest which relies on Mono-specific console logging behavior. .dotnet/dotnet test ./src/Components/test/E2ETest \ -c $(BuildConfiguration) \ --no-build \ - --filter 'Quarantined!=true&FullyQualifiedName!~ServerExecutionTest&FullyQualifiedName!~ServerRenderingTest&FullyQualifiedName!~WebAssemblyLoggingTest' \ + --filter 'Quarantined!=true|Quarantined=false' \ -p:VsTestUseMSBuildOutput=false \ --logger:"trx%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.trx" \ --logger:"html%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.html" \ @@ -181,44 +157,44 @@ jobs: # Check total tests run to detect abnormalities. In case the number of tests changes significantly, we should adjust the threshold. # Extract total from the summary line "Failed: xx, Passed: yy, Skipped: zz, Total: NNN, Duration: ..." total=$(sed -nE 's/.*Failed:[[:space:]]*[0-9]+,[[:space:]]*Passed:[[:space:]]*[0-9]+,[[:space:]]*Skipped:[[:space:]]*[0-9]+,[[:space:]]*Total:[[:space:]]*([0-9]+).*/\1/p' e2e-test-output.log) - min_total=600 + min_total=1000 if [ -z "$total" ] || [ "$total" -lt "$min_total" ] then echo "##vso[task.logissue type=error] Insufficient total test count: $total. We expect at least $min_total tests to run." exit 1 fi - displayName: Run E2E tests (CoreCLR) - - script: .dotnet/dotnet test ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-build --filter 'Quarantined=true&FullyQualifiedName!~ServerExecutionTest&FullyQualifiedName!~ServerRenderingTest&FullyQualifiedName!~WebAssemblyLoggingTest' -p:RunQuarantinedTests=true + displayName: Run E2E tests + - script: .dotnet/dotnet test ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-build --filter 'Quarantined=true' -p:RunQuarantinedTests=true -p:VsTestUseMSBuildOutput=false --logger:"trx%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.trx" --logger:"html%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.html" --results-directory $(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Quarantined - displayName: Run Quarantined E2E tests (CoreCLR) + displayName: Run Quarantined E2E tests continueOnError: true - task: PublishTestResults@2 - displayName: Publish E2E Test Results (CoreCLR) + displayName: Publish E2E Test Results inputs: testResultsFormat: 'VSTest' testResultsFiles: '*.trx' searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Unquarantined' - testRunTitle: ComponentsE2E-CoreCLR-$(AgentOsName)-$(BuildConfiguration)-xunit + testRunTitle: ComponentsE2E-Mono-$(AgentOsName)-$(BuildConfiguration)-xunit condition: always() - task: PublishTestResults@2 - displayName: Publish Quarantined E2E Test Results (CoreCLR) + displayName: Publish Quarantined E2E Test Results inputs: testResultsFormat: 'VSTest' testResultsFiles: '*.trx' searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Quarantined' - testRunTitle: Quarantine-CoreCLR-$(AgentOsName)-$(BuildConfiguration)-xunit + testRunTitle: Quarantine-Mono-$(AgentOsName)-$(BuildConfiguration)-xunit mergeTestResults: true condition: always() artifacts: - - name: Components_E2E_CoreCLR_Logs + - name: Components_E2E_Logs path: artifacts/log/ publishOnError: true includeForks: true - - name: Components_E2E_CoreCLR_Test_Logs + - name: Components_E2E_Test_Logs path: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)' includeForks: true publishOnError: true From 39ef8391ef59991d858db7d33d51938ef64c7c98 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Tue, 28 Apr 2026 11:23:47 +0200 Subject: [PATCH 4/6] feedback and enable more tests --- .azure/pipelines/components-e2e-tests.yml | 34 ++++++++++++++++--- ...soft.AspNetCore.Components.E2ETests.csproj | 4 +++ 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/.azure/pipelines/components-e2e-tests.yml b/.azure/pipelines/components-e2e-tests.yml index 02cb78e276a0..2e0b5458ca88 100644 --- a/.azure/pipelines/components-e2e-tests.yml +++ b/.azure/pipelines/components-e2e-tests.yml @@ -50,7 +50,7 @@ variables: jobs: # CoreCLR runtime E2E tests (UseMonoRuntime=false) — runs first for faster feedback -# TEMPORARY: narrowed to StatePersistenceTest only to debug disk-space issues +# Threading tests are excluded via the csproj when UseMonoRuntime=false - template: jobs/default-build.yml parameters: jobName: Components_E2E_Test_CoreCLR @@ -69,16 +69,16 @@ jobs: displayName: NPM install - script: npm run build displayName: Build JS - - script: .dotnet/dotnet build ./src/Components/test/E2ETest -c $(BuildConfiguration) /p:UseMonoRuntime=false + - script: .dotnet/dotnet build ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-restore /p:UseMonoRuntime=false displayName: Build (CoreCLR) - script: | set -eo pipefail - # TEMPORARY: Run only StatePersistenceTest to debug CoreCLR WASM failures without exhausting disk. .dotnet/dotnet test ./src/Components/test/E2ETest \ -c $(BuildConfiguration) \ --no-build \ - --filter 'Quarantined!=true&FullyQualifiedName~StatePersistenceTest' \ + /p:UseMonoRuntime=false \ + --filter 'Quarantined!=true|Quarantined=false' \ -p:VsTestUseMSBuildOutput=false \ --logger:"trx%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.trx" \ --logger:"html%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.html" \ @@ -92,8 +92,23 @@ jobs: exit 1 fi - # TEMPORARY: min_total check disabled while running single test class + # Check total tests run to detect abnormalities. + # Lower than Mono threshold since server-only tests (ServerExecutionTests, ServerRenderingTests) are excluded. + total=$(sed -nE 's/.*Failed:[[:space:]]*[0-9]+,[[:space:]]*Passed:[[:space:]]*[0-9]+,[[:space:]]*Skipped:[[:space:]]*[0-9]+,[[:space:]]*Total:[[:space:]]*([0-9]+).*/\1/p' e2e-test-output.log) + min_total=500 + if [ -z "$total" ] || [ "$total" -lt "$min_total" ] + then + echo "##vso[task.logissue type=error] Insufficient total test count: $total. We expect at least $min_total tests to run." + exit 1 + fi displayName: Run E2E tests (CoreCLR) + - script: .dotnet/dotnet test ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-build /p:UseMonoRuntime=false --filter 'Quarantined=true' -p:RunQuarantinedTests=true + -p:VsTestUseMSBuildOutput=false + --logger:"trx%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.trx" + --logger:"html%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.html" + --results-directory $(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Quarantined + displayName: Run Quarantined E2E tests (CoreCLR) + continueOnError: true - task: PublishTestResults@2 displayName: Publish E2E Test Results (CoreCLR) inputs: @@ -102,6 +117,15 @@ jobs: searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Unquarantined' testRunTitle: ComponentsE2E-CoreCLR-$(AgentOsName)-$(BuildConfiguration)-xunit condition: always() + - task: PublishTestResults@2 + displayName: Publish Quarantined E2E Test Results (CoreCLR) + inputs: + testResultsFormat: 'VSTest' + testResultsFiles: '*.trx' + searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Quarantined' + testRunTitle: Quarantine-CoreCLR-$(AgentOsName)-$(BuildConfiguration)-xunit + mergeTestResults: true + condition: always() artifacts: - name: Components_E2E_CoreCLR_Logs diff --git a/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj b/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj index 45a0adfade5f..a1edc88a05cb 100644 --- a/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj +++ b/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj @@ -43,9 +43,13 @@ + + + From 5f3fc06474eb969a57869866c2775455852765b5 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Tue, 28 Apr 2026 11:45:17 +0200 Subject: [PATCH 5/6] fix? --- .azure/pipelines/components-e2e-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure/pipelines/components-e2e-tests.yml b/.azure/pipelines/components-e2e-tests.yml index 2e0b5458ca88..4c9915859442 100644 --- a/.azure/pipelines/components-e2e-tests.yml +++ b/.azure/pipelines/components-e2e-tests.yml @@ -69,7 +69,7 @@ jobs: displayName: NPM install - script: npm run build displayName: Build JS - - script: .dotnet/dotnet build ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-restore /p:UseMonoRuntime=false + - script: .dotnet/dotnet build ./src/Components/test/E2ETest -c $(BuildConfiguration) /p:UseMonoRuntime=false displayName: Build (CoreCLR) - script: | set -eo pipefail From 741d59a2dbc5db1fdabcfcb50f53f263dfa0da18 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Tue, 28 Apr 2026 14:13:24 +0200 Subject: [PATCH 6/6] fix --- .../EnhancedNavigationTestUtil.cs | 0 .../Infrastructure/WebDriverExtensions/WebDriverExtensions.cs | 1 - 2 files changed, 1 deletion(-) rename src/Components/test/E2ETest/{ServerRenderingTests => Infrastructure}/EnhancedNavigationTestUtil.cs (100%) diff --git a/src/Components/test/E2ETest/ServerRenderingTests/EnhancedNavigationTestUtil.cs b/src/Components/test/E2ETest/Infrastructure/EnhancedNavigationTestUtil.cs similarity index 100% rename from src/Components/test/E2ETest/ServerRenderingTests/EnhancedNavigationTestUtil.cs rename to src/Components/test/E2ETest/Infrastructure/EnhancedNavigationTestUtil.cs diff --git a/src/Components/test/E2ETest/Infrastructure/WebDriverExtensions/WebDriverExtensions.cs b/src/Components/test/E2ETest/Infrastructure/WebDriverExtensions/WebDriverExtensions.cs index c6221085a514..a08cea733a03 100644 --- a/src/Components/test/E2ETest/Infrastructure/WebDriverExtensions/WebDriverExtensions.cs +++ b/src/Components/test/E2ETest/Infrastructure/WebDriverExtensions/WebDriverExtensions.cs @@ -5,7 +5,6 @@ using System.Threading; using OpenQA.Selenium; using OpenQA.Selenium.Support.UI; -using Microsoft.AspNetCore.Components.E2ETests.ServerRenderingTests; namespace Microsoft.AspNetCore.Components.E2ETest;