Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Foxy backport] add --keep-alive option to 'topic pub' (#544) use transient_local and longer keep-alive for pub tests (#546) Use reliable QoS for ros2topic tests (#555) #565

Merged
merged 4 commits into from
Sep 10, 2020

Conversation

sloretz
Copy link
Contributor

@sloretz sloretz commented Sep 10, 2020

Backports #544 which added a new --keep-alive flag to ros2 topic pub
Adds a commit that makes a new argument in #544 a keyword argument with a default value so it doesn't break API
Backports #546 which made test_topic_pub_once use new flag
Backports #555 which made test_topic_pub_once use reliable QoS

This should fix the flaky test test_topic_pub_once in Foxy CI http://build.ros2.org/job/Fci__nightly-fastrtps-dynamic_ubuntu_focal_amd64/181/testReport/junit/ros2topic.test/test_cli/test_cli/

dirk-thomas and others added 4 commits September 9, 2020 16:44
Signed-off-by: Dirk Thomas <[email protected]>
Signed-off-by: Shane Loretz <[email protected]>
keep_alive is made a keyword argument with a default value of 0.1 so the
pull request can be backported.

Signed-off-by: Shane Loretz<[email protected]>
Signed-off-by: Shane Loretz <[email protected]>
* use transient_local and longer keep-alive for pub tests

Signed-off-by: Dirk Thomas <[email protected]>

* add comment to document unit of --keep-alive

Signed-off-by: Dirk Thomas <[email protected]>
Signed-off-by: Shane Loretz <[email protected]>
The TestROS2TopicCLI tests perform feature testing of the ros2topic
command line interface. If the system is under stress during these
tests, messages may be lost (by design). If that happens, there is a
fairly high likelihood that the test_topic_pub_once test will fail
because there is only one opportunity for the message to be successfully
transported. We're likely dropping other messages in this suite, but the
other tests continuously publish until one of the messages is received
(or a timeout occurs), making them significantly less likely to fail.

Using the 'reliable' setting for QoS reliability seems to make the tests
consistently pass, even when the system is placed under additional
stress.

Signed-off-by: Scott K Logan <[email protected]>
Signed-off-by: Shane Loretz <[email protected]>
@sloretz sloretz self-assigned this Sep 10, 2020
@sloretz
Copy link
Contributor Author

sloretz commented Sep 10, 2020

CI (Foxy repos file, build: --packages-up-to ros2topic test: --packages-select ros2topic)

  • Linux Build Status
  • Linux-aarch64 Build Status
  • macOS Build Status
  • Windows Build Status

@sloretz
Copy link
Contributor Author

sloretz commented Sep 10, 2020

CI again, but this time with the ROS distro set to Foxy to take advantage of ros-infrastructure/ros_buildfarm#836

  • Linux Build Status
  • Linux-aarch64 Build Status
  • macOS Build Status
  • Windows Build Status

@sloretz sloretz merged commit cff0c42 into foxy Sep 10, 2020
@delete-merged-branch delete-merged-branch bot deleted the foxy_test_topic_pub_once_flaky branch September 10, 2020 23:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants