Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request adds the functionality to generate a JUnit XML report. This is useful when running XSpec tests on Continuous Integration servers like Jenkins that understand JUnit natively. This pull request addresses a functionality requested in #47. Note that this requires Saxon9-EE or Saxon9-PE as the generation of the JUnit report requires Saxon extension functions.
Technical notes
I described here what I added.
The shell script xspec.sh now contains a
-j
flag that allows to run the shell script with the option of generating a JUnit report. The report is generated via the XSLT junit-report.xsl that takes as input the XSpec XML report and generate a JUnit XML report in the same directory where the reports are kept.This feature requires Saxon9-EE or Saxon9-PE as it makes use of Saxon extension functions. When executed with another Saxon version (e.g. Saxon9-HE) the script outputs an error message requesting the correct version of Saxon.
I show here below some screenshots when XSpec is executed within Jenkins (I used the default example provided in XSpec, this could be useful for documentation purposes).
In the pull request I include unit tests for the shell script (see xspec.bats) and XSpec tests for the XSLT transforming the report into JUnit (see xspec-junit.xspec).