diff --git a/composition/CMakeLists.txt b/composition/CMakeLists.txt index cd985ef7e..590bcad50 100644 --- a/composition/CMakeLists.txt +++ b/composition/CMakeLists.txt @@ -170,6 +170,9 @@ if(BUILD_TESTING) "test_dlopen_composition" "test_linktime_composition" "test_manual_composition" + "test_api_pubsub_composition" + "test_api_srv_composition_client_first" + "test_api_srv_composition" ) foreach(test_name IN LISTS test_names) configure_file( diff --git a/composition/test/test_api_pubsub_composition.py.in b/composition/test/test_api_pubsub_composition.py.in index de1c30f27..5c537f8f8 100644 --- a/composition/test/test_api_pubsub_composition.py.in +++ b/composition/test/test_api_pubsub_composition.py.in @@ -15,7 +15,8 @@ import unittest from launch import LaunchDescription -from launch.actions import ExecuteProcess +from launch_ros.actions import ComposableNodeContainer +from launch_ros.descriptions import ComposableNode import launch_testing import launch_testing.actions @@ -25,30 +26,22 @@ import launch_testing_ros def generate_test_description(): launch_description = LaunchDescription() - process_under_test = ExecuteProcess( - cmd=['@API_COMPOSITION_EXECUTABLE@'], + process_under_test = ComposableNodeContainer( name='test_api_composition', + namespace='', + package='rclcpp_components', + executable='component_container', + composable_node_descriptions=[ + ComposableNode( + package='composition', + plugin='composition::Talker'), + ComposableNode( + package='composition', + plugin='composition::Listener'), + ], output='screen' ) launch_description.add_action(process_under_test) - launch_description.add_action( - ExecuteProcess( - cmd=[ - '@API_COMPOSITION_CLI_EXECUTABLE@', - 'composition', 'composition::Talker' - ], - name='load_talker_component' - ) - ) - launch_description.add_action( - ExecuteProcess( - cmd=[ - '@API_COMPOSITION_CLI_EXECUTABLE@', - 'composition', 'composition::Listener' - ], - name='load_listener_component' - ) - ) launch_description.add_action( launch_testing.actions.ReadyToTest() ) diff --git a/composition/test/test_api_srv_composition.py.in b/composition/test/test_api_srv_composition.py.in index 423de906a..ec35bbf39 100644 --- a/composition/test/test_api_srv_composition.py.in +++ b/composition/test/test_api_srv_composition.py.in @@ -15,7 +15,9 @@ import unittest from launch import LaunchDescription -from launch.actions import ExecuteProcess +from launch_ros.actions import ComposableNodeContainer +from launch_ros.actions import LoadComposableNodes +from launch_ros.descriptions import ComposableNode import launch_testing import launch_testing.actions @@ -25,28 +27,32 @@ import launch_testing_ros def generate_test_description(): launch_description = LaunchDescription() - process_under_test = ExecuteProcess( - cmd=['@API_COMPOSITION_EXECUTABLE@'], + process_under_test = ComposableNodeContainer( name='test_api_composition', + namespace='', + package='rclcpp_components', + executable='component_container', output='screen' ) launch_description.add_action(process_under_test) launch_description.add_action( - ExecuteProcess( - cmd=[ - '@API_COMPOSITION_CLI_EXECUTABLE@', - 'composition', 'composition::Server' + LoadComposableNodes( + composable_node_descriptions=[ + ComposableNode( + package='composition', + plugin='composition::Server') ], - name='load_server_component' + target_container=process_under_test ) ) launch_description.add_action( - ExecuteProcess( - cmd=[ - '@API_COMPOSITION_CLI_EXECUTABLE@', - 'composition', 'composition::Client' + LoadComposableNodes( + composable_node_descriptions=[ + ComposableNode( + package='composition', + plugin='composition::Client') ], - name='load_client_component' + target_container=process_under_test ) ) launch_description.add_action( diff --git a/composition/test/test_api_srv_composition_client_first.py.in b/composition/test/test_api_srv_composition_client_first.py.in index fe927661d..f4f66ca69 100644 --- a/composition/test/test_api_srv_composition_client_first.py.in +++ b/composition/test/test_api_srv_composition_client_first.py.in @@ -15,7 +15,10 @@ import unittest from launch import LaunchDescription -from launch.actions import ExecuteProcess +from launch.actions import TimerAction +from launch_ros.actions import ComposableNodeContainer +from launch_ros.actions import LoadComposableNodes +from launch_ros.descriptions import ComposableNode import launch_testing import launch_testing.actions @@ -25,29 +28,37 @@ import launch_testing_ros def generate_test_description(): launch_description = LaunchDescription() - process_under_test = ExecuteProcess( - cmd=['@API_COMPOSITION_EXECUTABLE@'], + process_under_test = ComposableNodeContainer( name='test_api_composition', + namespace='', + package='rclcpp_components', + executable='component_container', output='screen' ) launch_description.add_action(process_under_test) launch_description.add_action( - ExecuteProcess( - cmd=[ - '@API_COMPOSITION_CLI_EXECUTABLE@', - 'composition', 'composition::Client' + LoadComposableNodes( + composable_node_descriptions=[ + ComposableNode( + package='composition', + plugin='composition::Client') ], - name='load_client_component' + target_container=process_under_test ) ) launch_description.add_action( - ExecuteProcess( - cmd=[ - '@API_COMPOSITION_CLI_EXECUTABLE@', - 'composition', 'composition::Server', - '--delay', '5000' - ], - name='load_server_component' + TimerAction( + period=5.0, + actions=[ + LoadComposableNodes( + composable_node_descriptions=[ + ComposableNode( + package='composition', + plugin='composition::Server') + ], + target_container=process_under_test + ) + ] ) ) launch_description.add_action(