How do I publish Boost unit tests with Jenkins pipeline and xUnit plugin
The answer turned out to be BoostTestJunitHudsonTestType. This is the code:
step([$class: 'XUnitBuilder',
thresholds: [[$class: 'FailedThreshold', unstableThreshold: '1']],
tools: [[$class: 'JUnitType', pattern: '**/surefire-reports/*.xml'],
[$class: 'JUnitType', pattern: '**/generatedJUnitFiles/JUnit/*.xml'],
[$class: 'BoostTestJunitHudsonTestType', pattern: '**/*_results.xml'],
]])
The new xunit Plugin syntax is a bit lighter and more readable:
pipeline {
agent any
stages {
stage('Test'){
steps {
sh "run_tests.bash"
}
}
}
post {
always{
xunit (
thresholds: [ skipped(failureThreshold: '0'), failed(failureThreshold: '0') ],
tools: [
JUnit(pattern: '**/surefire-reports/*.xml'),
JUnit(pattern: '**/generatedJUnitFiles/JUnit/*.xml'),
BoostTest(pattern: '**/*_results.xml')]
)
}
}
}
There's a class BoostTest
in Jenkins' xUnit Plugin.