How do I migrate rosbuild_add_rostest_labelled to catkin?
The catkin migrating from rosbuild page provides no answer.
ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
The catkin migrating from rosbuild page provides no answer.
No one answered this, so I'll post my own solution. Suppose you have a device driver with unit tests that only work on a machine with that device attached. It will fail, if run as a regression test by the build farm.
So, in the catkin CMakeLists.txt, wrap add_rostest()
inside a CMake if ()
block, like this:
if (${DEVICE_TEST})
add_rostest(tests/camera_node_hz.test)
add_rostest(tests/camera_nodelet_hz.test)
endif (${DEVICE_TEST})
Those tests will only run when explicitly configured via CMake:
$ cd build
$ cmake ../src -DDEVICE_TEST=true
$ make run_tests
Asked: 2013-02-16 10:40:23 -0500
Seen: 177 times
Last updated: Apr 23 '13
ros::service::waitForService() blocks infinite
catkin migration from rosbuild package does not mention Makefile
Why am I getting: can't locate node [rosout] in package [rosout]
Unknown CMake command: "add_rostest".
rostest file layout- can't find/tries to compile/no rule to make target, existing .test file
Automatically specify the port for rostest
about packages and ros distributions