Closed hidmic closed 5 years ago
Ping @wjwwood @mjcarroll @sloretz.
I think it would be best to live in ros2/rostest
, if the Apex folks are okay with that.
I think @dejanpan can answer for the Apex side of this question.
Well there's actually two things in this repository right now, launch testing stuff and ROS specific launch testing stuff. This is my invisioned end state:
ros2/launch
:
launch
launch_testing
ros2/launch_ros
:
launch_ros
test_launch_ros
ros2launch
ros2/rostest
:
rostest
Not all of these changes need to be realized right now (or to complete this task), the important thing is that the ROS agnostic code in this repository is moved to the launch
or launch_testing
packages in the ros2/launch
repository, and that the rest of the code here is moved into the ros2
organization.
We don't have to split off the ros2/launch_ros
repository yet, but we might as well while we're refactoring.
Just to reinforce why the split is needed, launch_ros
and therefore code in this repository use rclpy
, so rclpy
itself and anything below it like rcl
or maybe even rclcpp
(if we end up needing it in launch_ros
or rostest
in the future) cannot use launch_ros
or rostest
, but they still need some facilities to do testing with launch, so instead they'd depend on and use launch_testing
.
I had consider renaming this repository launch_ros_testing
to follow the naming scheme in ROS 2 already, but rostest
is more concise and you guys seem to prefer that, which I'm fine with. On the other hand, it has more collision with rostest from ROS 1. It's been nice to have some conceptual space between launch
/launch_ros
and roslaunch
from ROS 1.
I think that makes a lot of sense @wjwwood. @dejanpan thoughts?
This PR will remove the last rclpy dependency from apex_launchtest, and put in a CI check that will notify us if it's accidentally reintroduced. The dependency tree will look like this:
$ colcon list --topological-graph --packages-up-to apex_launchtest
ament_flake8 + *****
osrf_pycommon + *.
ament_pep257 +****
ament_copyright + **
ament_index_python + *
launch +*
apex_launchtest +
@wjwwood @hidmic @mjcarroll @sloretz
regarding https://github.com/ApexAI/apex_rostest/issues/18#issuecomment-468468732, Apex has no problem wrt to moving this repo into the ros2 org and renaming stuff. We can do it in whatever way as long as it will help make ROS 2 be more tested.
Now, @pbaughman and I think that we do not 100% understand the proposed split so we will try to repeat what @wjwwood said with the links:
ros2/launch
:
ros2/launch_ros
ros2
cli ?ros2/rostest
rostest
will be the new home for https://github.com/ApexAI/apex_rostest/tree/master/apex_launchtest_rosAnd then we also have https://github.com/ApexAI/apex_rostest/tree/master/apex_launchtest_cmake (cmake integration) which would be needed for some of the above packages - which ones?
The 2 remaining Qs then are:
No not exactly, in my imagined layout test_launch_ros
is a test package (indicated by starting with test_
) which tests launch_ros
itself. I was thinking that rostest
in my above layout would be where https://github.com/ApexAI/apex_rostest/tree/master/apex_launchtest_ros would live. I was copying your name apex_rostest
without the apex prefix.
And then we also have https://github.com/ApexAI/apex_rostest/tree/master/apex_launchtest_cmake (cmake integration) which would be needed for some of the above packages - which ones?
I would guess this goes in the rostest package, but it could be separated, that way the launch testing stuff could be used without cmake (e.g. from a pure Python package or something else).
I created this issue on the ros2/launch repository to track the work on this:
https://github.com/ros2/launch/issues/208
Please have a look to make sure there are no large issues. We're beginning work on this now.
I'm going to close this in favor of that issue.
As this testing framework matures and attains widespread use throughout ROS 2 packages, a couple questions come up: