test_communication tests take a long time and provide unclear feedback on error
Open
@hidmic is already working on this.
Since Mar 19, 2020.
bug
- Dominant language
- C++
- Stars
- 45
- Forks
- 57
- Avg merge
- 9h 19m
- Merged PRs (30d)
- 2
Description
Bug report
Required Info:
- Operating System:
- All
- Installation type:
- All
- Version or commit hash:
- 68c495a58df2502c77ebc972aba87c73ac46adcc
- DDS implementation:
- All
- Client library (if applicable):
- All
Steps to reproduce issue
colcon test --packages-select test_communication
Expected behavior
If failures exist, each test case terminates in a short (<1s) time and reports a relevant failure message (something like "10 messages were sent but 0 were received").
Actual behavior
On failure, the test takes a long time (10s) and the message only reports "timed out waiting for ... to finish". This makes it sound like the receiving process deadlocked. Additionally, the assertion uses a confusing string representation of the launch action object, where the subscriber executable name and arguments would be more appropriate.
Traceback (most recent call last):
File "/home/jenkins-agent/workspace/nightly_linux-aarch64_extra_rmw_release/ws/build/test_communication/test_publisher_subscriber__rclpy__rclcpp__rmw_fastrtps_dynamic_cpp__rmw_cyclonedds_cpp_Release.py", line 66, in test_subscriber_terminates_in_a_finite_amount_of_time
proc_info.assertWaitForShutdown(process=subscriber_process, timeout=10)
File "/home/jenkins-agent/workspace/nightly_linux-aarch64_extra_rmw_release/ws/install/launch_testing/lib/python3.6/site-packages/launch_testing/proc_info_handler.py", line 144, in assertWaitForShutdown
assert success, "Timed out waiting for process '{}' to finish".format(process)
AssertionError: Timed out waiting for process '<launch.actions.execute_process.ExecuteProcess object at 0xffff7e693e80>' to finish
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.