-
Notifications
You must be signed in to change notification settings - Fork 205
Description
Generated by Generative AI
Not completely generated by AI, but I used Claude Sonet 4.0 to get extra insights
Operating System:
Ubuntu noble
ROS version or commit hash:
Rolling, Kilted
RMW implementation (if applicable):
rmw_connextdds
RMW Configuration (if applicable):
No response
Client library (if applicable):
No response
'ros2 doctor --report' output
Steps to reproduce issue
- Run a build in any of the reference jobs
- See test regression fail
Expected behavior
Tests should not fail
Actual behavior
Tests are failing
Additional information
Reference builds:
- Kci__nightly-connext_ubuntu_noble_amd64#10
- Kci__nightly-debug_ubuntu_noble_amd64#11
- Kci__nightly-release_ubuntu_noble_amd64#9
- Rci__nightly-connext_ubuntu_noble_amd64#423
- Rci__nightly-debug_ubuntu_noble_amd64#413
- Rci__nightly-release_ubuntu_noble_amd64#422
- nightly_linux-aarch64_debug#3164
- nightly_linux-aarch64_repeated#3185
- nightly_linux-rhel_debug#2308
- nightly_linux-rhel_repeated#2309
- nightly_linux_debug#3443
- nightly_linux_release#3501
- nightly_linux_repeated#3868
Multiple ROS2 CLI tests are failing when using RTI Connext DDS middleware (rmw_connextdds) because RTI is printing an unwanted support message at the beginning of command output:
Please contact support@rti.com with any questions or comments.
It seems this extra line causes launch_testing.tools.expect_output() to fail when using strict=True mode, as the actual output no longer matches the expected output exactly. The issue affects multiple ROS2 CLI commands including ros2 param, ros2 action, and ros2 service.
Affected Commands
ros2 param listros2 param dumpros2 param loadros2 action send_goalros2 service listros2 service echo
Log Output
ros2 param list Test Failure
FAIL: test_verb_list.TestVerbList.test_verb_list[rmw_connextdds]
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/ws/install_isolated/launch_testing/lib/python3.12/site-packages/launch_testing/markers.py", line 61, in _wrapper
return func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/ws/src/ros2/ros2cli/ros2param/test/test_verb_list.py", line 176, in test_verb_list
assert launch_testing.tools.expect_output(
AssertionError: assert False
+ where False = <function expect_output at 0x7db597a80860>(expected_lines=[' bool_array_param', ' bool_param', ' double_array_param', ' double_param', ' foo.bar.str_param', ' foo.str_param', ...], text='Please contact support@rti.com with any questions or comments.\n bool_array_param\n bool_param\n double_array_para...am\n int_array_param\n int_param\n start_type_description_service\n str_array_param\n str_param\n use_sim_time\n', strict=True)
ros2 param dump Test Failure
FAIL: test_verb_dump.TestVerbDump.test_verb_dump[rmw_connextdds]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/ws/src/ros2/ros2cli/ros2param/test/test_verb_dump.py", line 207, in test_verb_dump
assert launch_testing.tools.expect_output(
AssertionError: assert False
+ where False = <function expect_output at 0x7db597a80860>(expected_text=('/foo/test_node:\n ros__parameters:\n bool_array_param:\n - false\n - false\n - true\n bool_param: tru...ce: true\n str_array_param:\n - foo\n - bar\n - baz\n str_param: Hello World\n use_sim_time: false\n' + '\n'), text='Please contact support@rti.com with any questions or comments.\n/foo/test_node:\n ros__parameters:\n bool_array_p...: true\n str_array_param:\n - foo\n - bar\n - baz\n str_param: Hello World\n use_sim_time: false\n\n', strict=True)
ros2 param load Test Failure with YAML Parsing Error
FAIL: test_verb_load.TestVerbLoad.test_verb_load_wildcard[rmw_connextdds]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/ws/src/ros2/ros2cli/ros2param/test/test_verb_load.py", line 350, in test_verb_load_wildcard
loaded_params = yaml.safe_load(param_dump_command.output)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/yaml/__init__.py", line 125, in safe_load
return load(stream, SafeLoader)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/yaml/__init__.py", line 81, in load
return loader.get_single_data()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/yaml/constructor.py", line 49, in get_single_data
node = self.get_single_node()
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 36, in get_single_node
document = self.compose_document()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 58, in compose_document
self.get_event()
File "/usr/lib/python3/dist-packages/yaml/parser.py", line 118, in get_event
self.current_event = self.state()
^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/yaml/parser.py", line 193, in parse_document_end
token = self.peek_token()
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 129, in peek_token
self.fetch_more_tokens()
File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 223, in fetch_more_tokens
return self.fetch_value()
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 577, in fetch_value
raise ScannerError(None, None,
yaml.scanner.ScannerError: mapping values are not allowed here
in "<unicode string>", line 2, column 15:
/foo/test_node:
^
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tmp/ws/src/ros2/ros2cli/ros2param/test/test_verb_load.py", line 355, in test_verb_load_wildcard
self.fail(f'Failed to parse YAML output: {e}')
AssertionError: Failed to parse YAML output: mapping values are not allowed here
in "<unicode string>", line 2, column 15:
/foo/test_node:
^
ros2 action send_goal Test Failure
FAIL: test_cli.TestROS2ActionCLI.test_send_fibonacci_goal[rmw_connextdds]
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/ws/src/ros2/ros2cli/ros2action/test/test_cli.py", line 271, in test_send_fibonacci_goal
assert launch_testing.tools.expect_output(
AssertionError: assert False
+ where False = <function expect_output at 0x7cfd42164360>(expected_lines=['Waiting for an action server to become available...', 'Sending goal:', ' order: 5', '', re.compile('Goal accepted with ID: [a-f0-9]+'), '', ...], text='Please contact support@rti.com with any questions or comments.\nWaiting for an action server to become available...\n...48058c37bcef0c829ebb\n\nResult:\n sequence:\n- 0\n- 1\n- 1\n- 2\n- 3\n- 5\n\nGoal finished with status: SUCCEEDED\n', strict=True)
ros2 service echo Test Failure
FAIL: test_echo.TestROS2ServiceEcho.test_echo_no_arr[rmw_connextdds]
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/ws/src/ros2/ros2cli/ros2service/test/test_echo.py", line 160, in test_echo_no_arr
assert service_command.wait_for_output(
AssertionError: assert <BoolWithText(False): "Please contact support@rti.com with any questions or comments.\nNo publishers on topic '/test_i...sicTypes_Request[1], length: 0>'\nresponse: '<sequence type: test_msgs/srv/BasicTypes_Response[1], length: 1>'\n---\n">
The issue also affects some tests with other middleware implementations (rmw_fastrtps_cpp, rmw_zenoh_cpp), suggesting this might be a broader configuration or environment issue.