From f444e01827c12766a5d3dd3dca0781783d332b10 Mon Sep 17 00:00:00 2001
From: Tanay Parikh <TanayParikh@users.noreply.github.com>
Date: Tue, 30 Nov 2021 15:48:29 -0800
Subject: [PATCH] Fix `components-e2e` Pipeline (#38704)

* Fix `components-e2e` Pipeline

Support for the `QuarantinedTest` attribute.

Using the `Quarantined` trait defined here:
https://github.com/dotnet/aspnetcore/blob/ba18614ec220c1209a3976f66aacc2c761568931/src/Testing/src/xunit/QuarantinedTestTraitDiscoverer.cs#L18

Extension of https://github.com/dotnet/aspnetcore/pull/38693 which got auto-merged.

* Update components-e2e-tests.yml

* PR Feedback

* Update components-e2e-tests.yml

- I pointed to an `xUnit` example, sorry

* PR Feedback

* PR Feedback

* Update artifacts dir

Co-authored-by: Doug Bunting <6431421+dougbu@users.noreply.github.com>
---
 .azure/pipelines/components-e2e-tests.yml | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/.azure/pipelines/components-e2e-tests.yml b/.azure/pipelines/components-e2e-tests.yml
index 373e9115113..ef9c8dcf87b 100644
--- a/.azure/pipelines/components-e2e-tests.yml
+++ b/.azure/pipelines/components-e2e-tests.yml
@@ -44,9 +44,15 @@ jobs:
       displayName: NPM install
     - script: .dotnet/dotnet build ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-restore
       displayName: Build
-    - script: .dotnet/dotnet test ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-build --filter QuarantinedTest\!~github --logger trx
+    - script: .dotnet/dotnet test ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-build --filter 'Quarantined!=true|Quarantined=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
       displayName: Run E2E tests
-    - script: .dotnet/dotnet test ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-build --filter QuarantinedTest~github -p:RunQuarantinedTests=true --logger trx
+    - script: .dotnet/dotnet test ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-build --filter 'Quarantined=true' -p:RunQuarantinedTests=true
+                 --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
     - task: PublishTestResults@2
@@ -54,20 +60,20 @@ jobs:
       inputs:
         testResultsFormat: 'VSTest'
         testResultsFiles: '*.trx'
-        searchFolder: '$(Build.SourcesDirectory)/src/Components/test/E2ETest/TestResults'
+        searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Unquarantined'
         testRunTitle: ComponentsE2E-$(AgentOsName)-$(BuildConfiguration)-xunit
       condition: always()
     - task: PublishTestResults@2
       displayName: Publish Quarantined E2E Test Results
       inputs:
-        testResultsFormat: 'xUnit'
-        testResultsFiles: '*.xml'
-        searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)/Quarantined'
+        testResultsFormat: 'VSTest'
+        testResultsFiles: '*.trx'
+        searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Quarantined'
         testRunTitle: Quarantine-$(AgentOsName)-$(BuildConfiguration)-xunit
         mergeTestResults: true
       condition: always()
 
     artifacts:
     - name: Components_E2E_Test_Logs
-      path: ./src/Components/test/E2ETest/TestResults
+      path: '$(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)'
       publishOnError: true
-- 
GitLab