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
Operating System: 5.4.0-147-generic #164-Ubuntu SMP Tue Mar 21 14:23:17 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Python Version: 3.8.10
Version of catkin_tools: 0.8.0 (from pip)
ROS Distro: noetic
Expected Behavior
We've been creating test targets with a combination of add_executable and add_test in our CMakeLists.txt files. We were using an older version of catkin_tools for a while and it successfully discovered the unit test binaries and executed them when invoking catkin test. It is expected that tests built this way are discovered and run.
Actual Behavior
After updating past catkin_tools 0.7, tests built this way are silently no longer discovered or run.
Steps to Reproduce the Issue
Create a ROS package with a unit test declared with add_executable and add_test. Using catkin_tools 0.7.2 or earlier, run catkin test and see tests are run (easier with a purposefully failing gtest). Update to catkin_tools 0.8.0 or later. Observe that tests are no longer run when catkin test is invoked.
Additional Information
I see that a native catkin test verb was introduced in v0.8.0 and it looks like previously the command was just a passthrough to another CLI. It looks like when this happened the behavior changed. We were able to get discovery to happen again using catkin_add_gtest. Incidentally, a member of my team was able to get the tests to run if invoked with catkin test --test-target test --continue-on-failure --verbose.
If it's just expected that ROS/catkin users are to use catkin_add_gtest, that's fair, but I couldn't find any documentation about the change and this issue will at least show up in searches. I suspect that larger ROS codebases could have a mix of the two approaches and it won't be as trivial to discover that certain unit tests are no longer running.
The text was updated successfully, but these errors were encountered:
System Info
5.4.0-147-generic #164-Ubuntu SMP Tue Mar 21 14:23:17 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
3.8.10
0.8.0
(from pip)noetic
Expected Behavior
We've been creating test targets with a combination of
add_executable
andadd_test
in ourCMakeLists.txt
files. We were using an older version ofcatkin_tools
for a while and it successfully discovered the unit test binaries and executed them when invokingcatkin test
. It is expected that tests built this way are discovered and run.Actual Behavior
After updating past
catkin_tools
0.7, tests built this way are silently no longer discovered or run.Steps to Reproduce the Issue
Create a ROS package with a unit test declared with
add_executable
andadd_test
. Usingcatkin_tools
0.7.2 or earlier, runcatkin test
and see tests are run (easier with a purposefully failing gtest). Update tocatkin_tools
0.8.0 or later. Observe that tests are no longer run whencatkin test
is invoked.Additional Information
I see that a native
catkin test
verb was introduced in v0.8.0 and it looks like previously the command was just a passthrough to another CLI. It looks like when this happened the behavior changed. We were able to get discovery to happen again usingcatkin_add_gtest
. Incidentally, a member of my team was able to get the tests to run if invoked withcatkin test --test-target test --continue-on-failure --verbose
.If it's just expected that ROS/catkin users are to use
catkin_add_gtest
, that's fair, but I couldn't find any documentation about the change and this issue will at least show up in searches. I suspect that larger ROS codebases could have a mix of the two approaches and it won't be as trivial to discover that certain unit tests are no longer running.The text was updated successfully, but these errors were encountered: