From c5e2aa2bf0eb60d61c66dbe0a6da365230b3387d Mon Sep 17 00:00:00 2001 From: Jacob Perron Date: Mon, 6 Jan 2020 15:53:46 -0800 Subject: [PATCH] Fix frontend topic remapping (#111) * Add frontend remap test Signed-off-by: Jacob Perron * Pass data_type parameter to remap entity This resolves an issue where frontend remaps are not parsed. Signed-off-by: Jacob Perron --- launch_ros/launch_ros/actions/node.py | 2 +- .../test_launch_ros/frontend/test_node_frontend.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/launch_ros/launch_ros/actions/node.py b/launch_ros/launch_ros/actions/node.py index adbd8957..6e6c0138 100644 --- a/launch_ros/launch_ros/actions/node.py +++ b/launch_ros/launch_ros/actions/node.py @@ -244,7 +244,7 @@ def parse(cls, entity: Entity, parser: Parser): ns = entity.get_attr('namespace', optional=True) if ns is not None: kwargs['node_namespace'] = parser.parse_substitution(ns) - remappings = entity.get_attr('remap', optional=True) + remappings = entity.get_attr('remap', data_type=List[Entity], optional=True) if remappings is not None: kwargs['remappings'] = [ ( diff --git a/test_launch_ros/test/test_launch_ros/frontend/test_node_frontend.py b/test_launch_ros/test/test_launch_ros/frontend/test_node_frontend.py index e0b02b86..595454bc 100644 --- a/test_launch_ros/test/test_launch_ros/frontend/test_node_frontend.py +++ b/test_launch_ros/test/test_launch_ros/frontend/test_node_frontend.py @@ -56,6 +56,8 @@ + + @@ -110,6 +112,11 @@ env: - name: var value: '1' + remap: + - from: "foo" + to: "bar" + - from: "baz" + to: "foobar" - node: exec: {} output: screen @@ -162,6 +169,11 @@ def test_node_frontend(file): assert param_dict['param_group1.param11'] == ('asd', 'bsd', 'csd') assert param_dict['param_group1.param12'] == '' + # Check remappings exist + remappings = ld.describe_sub_entities()[2]._Node__remappings + assert remappings is not None + assert len(remappings) == 2 + listener_node_action = ld.describe_sub_entities()[3] listener_node_cmd = listener_node_action.process_details['cmd'] assert [