Skip to content

Commit 1a89f30

Browse files
committed
More unit test fixes.
Distro A, OPSEC #4584. You may have additional rights; please see https://rosmilitary.org/faq/?category=ros-2-license Signed-off-by: matthew.lanting <[email protected]>
1 parent 923f23a commit 1a89f30

File tree

3 files changed

+28
-18
lines changed

3 files changed

+28
-18
lines changed

launch_ros/launch_ros/actions/node.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,10 +212,10 @@ def parse(cls, entity: Entity, parser: Parser):
212212
_, kwargs = ExecuteProcess.parse(entity, parser, ignore=['cmd'])
213213
args = entity.get_attr('args', optional=True)
214214
if args is not None:
215-
kwargs['arguments'] = super()._parse_cmdline(args, parser)
215+
kwargs['arguments'] = ExecuteProcess._parse_cmdline(args, parser)
216216
ros_args = entity.get_attr('ros_args', optional=True)
217217
if ros_args is not None:
218-
kwargs['ros_arguments'] = super()._parse_cmdline(ros_args, parser)
218+
kwargs['ros_arguments'] = ExecuteProcess._parse_cmdline(ros_args, parser)
219219
node_name = entity.get_attr('node-name', optional=True)
220220
if node_name is not None:
221221
kwargs['node_name'] = parser.parse_substitution(node_name)

launch_ros/launch_ros/descriptions/node.py

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -326,17 +326,27 @@ def _perform_substitutions(self, context: LaunchContext, executable: Executable)
326326
raise
327327
self.__final_node_name = prefix_namespace(
328328
self.__expanded_node_namespace, self.__expanded_node_name)
329-
# expand global parameters first,
330-
# so they can be overriden with specific parameters of this Node
331-
global_params = context.launch_configurations.get('global_params', None)
332-
if global_params is not None or self.__parameters is not None:
329+
330+
# Expand global parameters first,
331+
# so they can be overridden with specific parameters of this Node
332+
# The params_container list is expected to contain name-value pairs (tuples)
333+
# and/or strings representing paths to parameter files.
334+
params_container = context.launch_configurations.get('global_params', None)
335+
336+
if any(x is not None for x in (params_container, self.__parameters)):
333337
self.__expanded_parameter_arguments = []
334-
if global_params is not None:
335-
param_file_path = self._create_params_file_from_dict(global_params)
336-
self.__expanded_parameter_arguments.append((param_file_path, True))
337-
cmd_ext = ['--params-file', f'{param_file_path}']
338-
cmd.extend([normalize_to_list_of_substitutions(x) for x in cmd_ext])
339-
assert os.path.isfile(param_file_path)
338+
if params_container is not None:
339+
for param in params_container:
340+
if isinstance(param, tuple):
341+
name, value = param
342+
cmd_extension = ['-p', f'{name}:={value}']
343+
cmd.extend([normalize_to_list_of_substitutions(x) for x in cmd_extension])
344+
else:
345+
param_file_path = os.path.abspath(param)
346+
self.__expanded_parameter_arguments.append((param_file_path, True))
347+
cmd_extension = ['--params-file', f'{param_file_path}']
348+
assert os.path.isfile(param_file_path)
349+
cmd.extend([normalize_to_list_of_substitutions(x) for x in cmd_extension])
340350
# expand parameters too
341351
if self.__parameters is not None:
342352
evaluated_parameters = evaluate_parameters(context, self.__parameters)
@@ -407,7 +417,7 @@ def _perform_substitutions(self, context: LaunchContext, executable: Executable)
407417
add_node_name(context, self.node_name)
408418
node_name_count = get_node_name_count(context, self.node_name)
409419
if node_name_count > 1:
410-
execute_process_logger = launch.logging.get_logger(self.name)
420+
execute_process_logger = launch.logging.get_logger(self.node_name)
411421
execute_process_logger.warning(
412422
'there are now at least {} nodes with the name {} created within this '
413423
'launch context'.format(node_name_count, self.node_name)

test_launch_ros/test/test_launch_ros/frontend/test_component_container.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,11 @@ def perform(substitution):
114114
return perform_substitutions(ls.context, substitution)
115115

116116
# Check container params
117-
assert perform(node_container._Node__package) == 'rclcpp_components'
118-
assert perform(node_container._Node__node_executable) == 'component_container'
119-
assert perform(node_container._Node__node_name) == 'my_container'
120-
assert perform(node_container._Node__node_namespace) == ''
121-
assert perform(node_container._Node__arguments[0]) == 'test_args'
117+
assert perform(node_container.node_package) == 'rclcpp_components'
118+
assert perform(node_container.node_executable) == 'component_container'
119+
assert perform(node_container._Node__node_desc._Node__node_name) == 'my_container'
120+
assert perform(node_container._Node__node_desc._Node__node_namespace) == ''
121+
assert perform(node_container._Node__ros_exec._Executable__arguments[0]) == 'test_args'
122122

123123
assert perform(load_composable_node._LoadComposableNodes__target_container) == 'my_container'
124124

0 commit comments

Comments
 (0)