Skip to content

Commit 1c009e2

Browse files
committed
Add test for launching nodes on an event
Signed-off-by: Shane Loretz <[email protected]>
1 parent 2f62088 commit 1c009e2

File tree

2 files changed

+31
-19
lines changed

2 files changed

+31
-19
lines changed

test_launch_ros/test/rostest/composition.test.py

+25-19
Original file line numberDiff line numberDiff line change
@@ -77,25 +77,24 @@ def generate_test_description(ready_fn):
7777

7878
launch_description.add_action(get_default_launch_description())
7979
launch_description.add_action(mock_container)
80-
# TODO(sloretz) post-launch composable node actions
81-
# launch_description.add_action(
82-
# RegisterEventHandler(
83-
# event_handler=OnProcessStart(
84-
# target_action=mock_container,
85-
# on_start=[
86-
# LoadComposableNodes(
87-
# composable_node_descriptions=[
88-
# ComposableNode(
89-
# package='fake_package', node_plugin='node_name',
90-
# node_name='my_talker'
91-
# ),
92-
# ],
93-
# target_container=mock_container
94-
# )
95-
# ]
96-
# )
97-
# )
98-
# )
80+
launch_description.add_action(
81+
RegisterEventHandler(
82+
event_handler=OnProcessStart(
83+
target_action=mock_container,
84+
on_start=[
85+
LoadComposableNodes(
86+
composable_node_descriptions=[
87+
ComposableNode(
88+
package='fake_package', node_plugin='node_name_on_event',
89+
node_name='my_talker_on_event'
90+
),
91+
],
92+
target_container=mock_container
93+
)
94+
]
95+
)
96+
)
97+
)
9998
launch_description.add_action(
10099
OpaqueFunction(function=lambda context: ready_fn())
101100
)
@@ -124,6 +123,13 @@ def test_custom_node_name(self, container):
124123
request.node_name = 'my_talker'
125124
self.proc_output.assertWaitFor(expected_output=repr(request), process=container)
126125

126+
def test_custom_node_name_post_launch(self, container):
127+
request = LoadNode.Request()
128+
request.package_name = 'fake_package'
129+
request.plugin_name = 'node_name_on_event'
130+
request.node_name = 'my_talker_on_event'
131+
self.proc_output.assertWaitFor(expected_output=repr(request), process=container)
132+
127133
def test_custom_node_namespace(self, container):
128134
request = LoadNode.Request()
129135
request.package_name = 'fake_package'

test_launch_ros/test_launch_ros/mock_composable_container.py

+6
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@ def __init__(self, name, namespace):
7979
extra_arguments.full_node_name = '/a_nodename'
8080
extra_arguments.unique_id = 128
8181

82+
node_name_on_event = LoadNode.Response()
83+
node_name_on_event.success = True
84+
node_name_on_event.full_node_name = '/my_talker_on_event'
85+
node_name_on_event.unique_id = 256
86+
8287
self.__load_node_responses = {
8388
('fake_package', 'fail_to_load'): fail_to_load,
8489
('fake_package', 'successfully_load'): successfully_load,
@@ -88,6 +93,7 @@ def __init__(self, name, namespace):
8893
('fake_package', 'remap_rules'): remap_rules,
8994
('fake_package', 'parameters'): parameters,
9095
('fake_package', 'extra_arguments'): extra_arguments,
96+
('fake_package', 'node_name_on_event'): node_name_on_event,
9197
}
9298

9399
self.unexpected_request = False

0 commit comments

Comments
 (0)