Enables test result collection for CI builds (GH-9433)

(cherry picked from commit fd54a45f7987d5b3343c74cb49a12bd39bdad5bc)

Co-authored-by: Steve Dower <steve.dower@microsoft.com>
diff --git a/.vsts/linux-buildbot.yml b/.vsts/linux-buildbot.yml
index 5170400..417125a 100644
--- a/.vsts/linux-buildbot.yml
+++ b/.vsts/linux-buildbot.yml
@@ -46,5 +46,14 @@
 - script: make pythoninfo
   displayName: 'Display build info'
 
-- script: xvfb-run make buildbottest TESTOPTS="-j4 -uall,-cpu"
+- script: xvfb-run make buildbottest TESTOPTS="-j4 -uall,-cpu --junit-xml=$(build.binariesDirectory)/test-results.xml"
   displayName: 'Tests'
+
+- task: PublishTestResults@2
+  displayName: 'Publish Test Results'
+  inputs:
+    testResultsFiles: '$(build.binariesDirectory)/test-results.xml'
+    mergeTestResults: true
+    testRunTitle: '$(build.sourceBranchName)-linux'
+    platform: linux
+  condition: succeededOrFailed()
diff --git a/.vsts/macos-buildbot.yml b/.vsts/macos-buildbot.yml
index f58ea16..d9c190c 100644
--- a/.vsts/macos-buildbot.yml
+++ b/.vsts/macos-buildbot.yml
@@ -33,5 +33,14 @@
 - script: make pythoninfo
   displayName: 'Display build info'
 
-- script: make buildbottest TESTOPTS="-j4 -uall,-cpu"
+- script: make buildbottest TESTOPTS="-j4 -uall,-cpu --junit-xml=$(build.binariesDirectory)/test-results.xml"
   displayName: 'Tests'
+
+- task: PublishTestResults@2
+  displayName: 'Publish Test Results'
+  inputs:
+    testResultsFiles: '$(build.binariesDirectory)/test-results.xml'
+    mergeTestResults: true
+    testRunTitle: '$(build.sourceBranchName)-macOS'
+    platform: macOS
+  condition: succeededOrFailed()
diff --git a/.vsts/windows-buildbot.yml b/.vsts/windows-buildbot.yml
index 5ec4522..15aebed 100644
--- a/.vsts/windows-buildbot.yml
+++ b/.vsts/windows-buildbot.yml
@@ -43,7 +43,16 @@
 - script: python.bat -m test.pythoninfo
   displayName: 'Display build info'
 
-- script: PCbuild\rt.bat -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0
+- script: PCbuild\rt.bat -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 --junit-xml="$(Build.BinariesDirectory)\test-results.xml"
   displayName: 'Tests'
   env:
     PREFIX: $(Py_OutDir)\$(outDirSuffix)
+
+- task: PublishTestResults@2
+  displayName: 'Publish Test Results'
+  inputs:
+    testResultsFiles: '$(Build.BinariesDirectory)\test-results.xml'
+    mergeTestResults: true
+    testRunTitle: '$(Build.SourceBranchName)-$(outDirSuffix)'
+    platform: $(outDirSuffix)
+  condition: succeededOrFailed()