We are encountering some problems of xUnit when parsing Parasoft C++test results.
- When parsing results output with C++test default options, xUnit fails when all tests succeed.
- xUnit miscounts the number of failures and total, when multiple assertions fail in one test case.
- When a certain C++test report option enabled, xUnit outputs "ERROR" to console log.
To help you reproduce above problems, I attach a zip file,
which includes some report.xml files output by C++test, (and also report.html)
Below are expected results and obtained ones by xUnit,
using each report.xml file in each folder of the zip as an input for xUnit.
a1) is the case when all tests succeeded and report.xml was output with C++test default options.
This case caused an xUnit error below:
When we used xUnit 1.34 insted of 1.32, xUnit 1.34 didn't cause an error,
but the result was "no tests" though 20 tests existed.
a2) is same to a1), but report.xml was output with C++test report option
"Overview of checked files and executed tests" enabled.
This case looks OK.
(In this case, report.xml looks to have additional <ExecutedTestsDetails> elements)
a3) is the case when one test failed.
This looks OK.
a4) is the case when one test failed, but two assertions failed in that one failed test.
xUnit seems to wrongly increase the number of failures and total for each assertion failure in one failed test.
This folder contains the cases same to A),
but report.xml files were output with C++test report option "Detailed report for Line coverage" enabled.
Each report.xml file with this option looks to contain an additional <Files> element,
as the last child of Exec/Coverage element.
The results are same to A), but xUnit output ERROR message to console log:
xUnit seems to have failed to parse report.xml, but continue processing regardless of "skipped" and "ERROR".
If you need some more information, please let me know.
Thanks in advance.