You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was attempting to write ROS 2 C++ integration tests using Catch2 and running test nodes with a Python launch file. In order to report the results, I configured Catch2 to report results with JUnit XMLs.
To run this test with colcon test, I was using ament_add_test() in my CMakeLists.txt. I noticed that failures were not being detected because in the runner script, where the result file is tested for failures, only the root tag of the XML tree is checked.
With further investigation, the JUnit XML format can often contain the root level <testsuites> tag that appears in the Catch2-produced file. Currently, this default runner cannot handle generalized JUnit files even though documentation states it requires a JUnit result file.
The text was updated successfully, but these errors were encountered:
I was attempting to write ROS 2 C++ integration tests using Catch2 and running test nodes with a Python launch file. In order to report the results, I configured Catch2 to report results with JUnit XMLs.
Here is an example of an output of a failed test:
To run this test with
colcon test
, I was usingament_add_test()
in myCMakeLists.txt
. I noticed that failures were not being detected because in the runner script, where the result file is tested for failures, only the root tag of the XML tree is checked.With further investigation, the JUnit XML format can often contain the root level
<testsuites>
tag that appears in the Catch2-produced file. Currently, this default runner cannot handle generalized JUnit files even though documentation states it requires a JUnit result file.The text was updated successfully, but these errors were encountered: