blob: 9a09b5bf324b0bc6d55170c4a14bd6f8c9835aad [file]
# Change to build directory.
# SPDX-FileCopyrightText: The Eigen Authors
# SPDX-License-Identifier: MPL-2.0
$rootdir = Get-Location
cd ${EIGEN_CI_BUILDDIR}
# No dashboard run to convert when ctest never reached its test phase; an
# empty report is a parse error, so write none. See the Linux after_script.
$TEST_TAG = ""
if (Test-Path Testing\TAG) { $TEST_TAG = Get-Content Testing\TAG | select -first 1 }
if ($TEST_TAG -and (Test-Path Testing\$TEST_TAG\Test.xml)) {
# PowerShell equivalent to xsltproc:
$XSL_FILE = Resolve-Path "..\ci\CTest2JUnit.xsl"
$INPUT_FILE = Resolve-Path Testing\$TEST_TAG\Test.xml
$OUTPUT_FILE = Join-Path -Path $pwd -ChildPath JUnitTestResults_$CI_JOB_ID.xml
# Transform() opens the output before it parses the input, so a Test.xml
# truncated by a ctest the job timeout killed would leave a partial file
# for the runner to register. Same reason as the Linux `|| rm -f`.
try {
$xslt = New-Object System.Xml.Xsl.XslCompiledTransform;
$xslt.Load($XSL_FILE)
$xslt.Transform($INPUT_FILE,$OUTPUT_FILE)
} catch {
Write-Host "Could not convert ${INPUT_FILE}: $_"
Remove-Item -Force -ErrorAction SilentlyContinue $OUTPUT_FILE
}
}
# Return to root directory.
cd ${rootdir}