Skip to content

Commit

Permalink
Add test for launching nodes on an event
Browse files Browse the repository at this point in the history
Signed-off-by: Shane Loretz <[email protected]>
  • Loading branch information
sloretz committed Apr 17, 2019
1 parent c492156 commit 60c4d37
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 19 deletions.
44 changes: 25 additions & 19 deletions test_launch_ros/test/rostest/composition.test.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,25 +77,24 @@ def generate_test_description(ready_fn):

launch_description.add_action(get_default_launch_description())
launch_description.add_action(mock_container)
# TODO(sloretz) post-launch composable node actions
# launch_description.add_action(
# RegisterEventHandler(
# event_handler=OnProcessStart(
# target_action=mock_container,
# on_start=[
# LoadComposableNodes(
# composable_node_descriptions=[
# ComposableNode(
# package='fake_package', node_plugin='node_name',
# node_name='my_talker'
# ),
# ],
# target_container=mock_container
# )
# ]
# )
# )
# )
launch_description.add_action(
RegisterEventHandler(
event_handler=OnProcessStart(
target_action=mock_container,
on_start=[
LoadComposableNodes(
composable_node_descriptions=[
ComposableNode(
package='fake_package', node_plugin='node_name_on_event',
node_name='my_talker_on_event'
),
],
target_container=mock_container
)
]
)
)
)
launch_description.add_action(
OpaqueFunction(function=lambda context: ready_fn())
)
Expand Down Expand Up @@ -124,6 +123,13 @@ def test_custom_node_name(self, container):
request.node_name = 'my_talker'
self.proc_output.assertWaitFor(expected_output=repr(request), process=container)

def test_custom_node_name_post_launch(self, container):
request = LoadNode.Request()
request.package_name = 'fake_package'
request.plugin_name = 'node_name_on_event'
request.node_name = 'my_talker_on_event'
self.proc_output.assertWaitFor(expected_output=repr(request), process=container)

def test_custom_node_namespace(self, container):
request = LoadNode.Request()
request.package_name = 'fake_package'
Expand Down
6 changes: 6 additions & 0 deletions test_launch_ros/test_launch_ros/mock_composable_container.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,11 @@ def __init__(self, name, namespace):
extra_arguments.full_node_name = '/a_nodename'
extra_arguments.unique_id = 128

node_name_on_event = LoadNode.Response()
node_name_on_event.success = True
node_name_on_event.full_node_name = '/my_talker_on_event'
node_name_on_event.unique_id = 256

self.__load_node_responses = {
('fake_package', 'fail_to_load'): fail_to_load,
('fake_package', 'successfully_load'): successfully_load,
Expand All @@ -88,6 +93,7 @@ def __init__(self, name, namespace):
('fake_package', 'remap_rules'): remap_rules,
('fake_package', 'parameters'): parameters,
('fake_package', 'extra_arguments'): extra_arguments,
('fake_package', 'node_name_on_event'): node_name_on_event,
}

self.unexpected_request = False
Expand Down

0 comments on commit 60c4d37

Please sign in to comment.