Skip to content

Enhance integration testing guide with WaitForTopics feature - #7068

Closed
LastStarDust wants to merge 184 commits into
ros2:lyricalfrom
LastStarDust:patch-1
Closed

Enhance integration testing guide with WaitForTopics feature#7068
LastStarDust wants to merge 184 commits into
ros2:lyricalfrom
LastStarDust:patch-1

Conversation

@LastStarDust

@LastStarDust LastStarDust commented Aug 16, 2026

Copy link
Copy Markdown

Updated integration testing documentation to use the new WaitForTopics feature

Description

This PR addresses issue #5249 by updating the integration testing tutorial to showcase the WaitForTopics utility from launch_testing_ros.

  • Replaced manual subscriber logic with WaitForTopics: The original example used manual rclpy.create_subscription() and spin_once() loops. The updated tutorial demonstrates the WaitForTopics approach, which is cleaner and serves as a better learning example for users.

  • No more magic numbers: Removed the problematic 0.5-second TimerAction before ReadyToTest(). Tests now use event-driven waiting via PublisherEventCallbacks instead of "sleep" hacks. Moreover, it checks for specific velocity conditions.

  • Added trigger callback example: Included an example of the trigger function, demonstrating how to publish control messages and verify robot response using the new trigger parameter of WaitForTopics. This was already proposed in the original document.

Did you use Generative AI?

Not for the source code and only partially for the text. But I double-checked each line of text.

Additional Information

  • All code examples have been tested in this sample repository.

  • I added a new section on Python-only package setup.

keithkirkwood-3di and others added 30 commits April 10, 2026 14:15
I think this should fix this error:

```
  File "/home/runner/work/ros2_documentation/ros2_documentation/plugins/sphinx_adopters.py", line 79, in run
    raise ExtensionError(
sphinx.errors.ExtensionError: Adopters YAML validation failed:
  - Entry 8 (Czech Technical University in Prague/Vision for Robotics and Autonomous Systems): "project_url" URL is not reachable: https://cyber.felk.cvut.cz/vras/ (The read operation timed out)
multiprocessing.pool.RemoteTraceback: 
"""
```

https://github.com/ros2/ros2_documentation/actions/runs/25147132841/job/73709342605?pr=6484

Signed-off-by: Shane Loretz <shane.loretz@gmail.com>
…ros2#6490)

- Introduced disable_callbacks() and enable_callbacks() APIs to manage
 subscription lifecycle effectively.

Signed-off-by: Michael Orlov <morlovmr@gmail.com>
* Add support for ROS Lyrical

I copied ros2#5401

Signed-off-by: Shane Loretz <sloretz@intrinsic.ai>

* Copy rolling image to lyrical

Signed-off-by: Shane Loretz <sloretz@intrinsic.ai>

---------

Signed-off-by: Shane Loretz <sloretz@intrinsic.ai>
* document CBG Executor

Signed-off-by: Skyler Medeiros <skye@polymathrobotics.com>

* document thread_num behavior for component containers

Signed-off-by: Skyler Medeiros <skye@polymathrobotics.com>

* lint

Signed-off-by: Skyler Medeiros <skye@polymathrobotics.com>

* document fifo characteristics

Signed-off-by: Skyler Medeiros <skye@polymathrobotics.com>

* the CBG Executor isn't priority based

Signed-off-by: Skyler Medeiros <skye@polymathrobotics.com>

* add note about overrunning timer

Signed-off-by: Skyler Medeiros <skye@polymathrobotics.com>

---------

Signed-off-by: Skyler Medeiros <skye@polymathrobotics.com>
Co-authored-by: Skyler Medeiros <skye@polymathrobotics.com>
We should be targeting Windows 11 rather than Windows 10 in documentation.
Per recommendation from @cottsay, I'm dropping the version suffix entirely.


(cherry picked from commit c4b07d0)

Signed-off-by: Michael Carroll <mjcarroll.oss@gmail.com>
Co-authored-by: Michael Carroll <mjcarroll.oss@gmail.com>
…stall (ros2#6519)

* Setting the right folder for running the tests

* Adding run as administrator to the path length step

* Removing trailing space
… (ros2#6534)

* Fixed a minor typo

* fixed typo for ubuntu too

* updated the name too Resolute Raccoon

---------



(cherry picked from commit 3ebabc5)

Signed-off-by: Katherine Scott <katherineAScott@gmail.com>
Co-authored-by: Atharv Mudse <163705624+attu0@users.noreply.github.com>
Co-authored-by: Katherine Scott <katherineAScott@gmail.com>
Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
… link (ros2#6544)

Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
Signed-off-by: Christoph Fröhlich <christophfroehlich@users.noreply.github.com>
* Add update

Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>

* Add update about ameny_mypy

Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>

* fix capitalization bug

Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>

* Update source/Releases/Release-Lyrical-Luth.rst

Co-authored-by: Katherine Scott <katherineAScott@gmail.com>
Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>

---------

Signed-off-by: Michael Carlstrom <rmc@carlstrom.com>
Co-authored-by: Katherine Scott <katherineAScott@gmail.com>
Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Co-authored-by: Katherine Scott <katherineAScott@gmail.com>
Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
Signed-off-by: Maurice <mauricepurnawan@gmail.com>
Signed-off-by: Maurice <mauricepurnawan@gmail.com>
Co-authored-by: Michael Carroll <mjcarroll.oss@gmail.com>
keithkirkwood-3di and others added 21 commits July 15, 2026 12:25
Signed-off-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Tomoya Fujita <tomoya.fujita825@gmail.com>
Signed-off-by: Tomoya Fujita <tomoya.fujita825@gmail.com>
Signed-off-by: Tomoya Fujita <tomoya.fujita825@gmail.com>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
* OPENR-99: Refactor and create new articles for making and reviewing a PR

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Katherine Scott <katherineAScott@gmail.com>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* OPENR-100: Updates from review in PR

* OPENR-99: Fix linter error of trailing whitespace

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Christophe Bedard <bedard.christophe@gmail.com>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Christophe Bedard <bedard.christophe@gmail.com>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* OPENR-100: More review updates to articles from community contributors

* OPENR-100: Add information about types of comments

* OPENR-100: Updates to Reviewing a PR for clarity/brevity

* OPENR-100: Updates to xrefs and related content

* OPENR-100: Fix linter error at end of file

* Correct broken references

Signed-off-by: Geoffrey Biggs <gbiggs@killbots.net>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Making-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Reviewing-a-PR.rst

Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>

* OPENR-100: Fix broken doc links to Governance

---------

Signed-off-by: Keith Kirkwood <keith.kirkwood@3di-info.com>
Signed-off-by: Geoffrey Biggs <gbiggs@killbots.net>
Co-authored-by: Katherine Scott <katherineAScott@gmail.com>
Co-authored-by: Christophe Bedard <bedard.christophe@gmail.com>
Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Signed-off-by: Dennis Lanov <dennis.lanov@gmail.com>
Co-authored-by: Scott K Logan <logans@cottsay.net>
Fix two broken links in the README:

1. Jenkins job: build.ros.org/job/doc_ros2doc → build.ros2.org/job/doc_ros2doc/
   The ROS build infrastructure migrated to build.ros2.org, but the README
   still references the old domain which returns 404.

2. Contributing to ROS 2 Documentation link:
   Contributing-To-ROS-2-Documentation.html → Contributing-to-documentation.html
   Commit 296305f ("Merge branch 'contributing-to-ros2-documentation' into
   rolling") restructured the contributing docs — deleted the old monolithic
   Contributing-To-ROS-2-Documentation.rst and replaced it with a new
   Contributing-to-documentation.rst plus sub-articles — but did not update
   this link in the README.

Signed-off-by: ganbat24 <s.ganbat24@gmail.com>
Signed-off-by: Shane Loretz <sloretz@intrinsic.ai>
Co-authored-by: Tomoya Fujita <fujita.tomoya@triorb.co.jp>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
Co-authored-by: Michael Carroll <mjcarroll.oss@gmail.com>
* Generate Open Graph metadata

This metadata can be passed through Anubis to support site previews.

Co-authored-by: Gemini 3.5 Flash <gemini@google.com>
Signed-off-by: Scott K Logan <logans@cottsay.net>

* Add missing dependency on matplotlib

Evidently this is quietly needed for sphinxext-opengraph and is messing
up our checks.

Signed-off-by: Scott K Logan <logans@cottsay.net>

* Explicitly add og:logo

Co-authored-by: Gemini 3.5 Flash <gemini@google.com>
Signed-off-by: Scott K Logan <logans@cottsay.net>

* Revert "Explicitly add og:logo"

This reverts commit 4c1f289.

---------

Signed-off-by: Scott K Logan <logans@cottsay.net>
Co-authored-by: Gemini 3.5 Flash <gemini@google.com>
Co-authored-by: Tomoya Fujita <fujita.tomoya@triorb.co.jp>
We need to fire the actual function call for invoking `main()` after the
imports are all done.

This resolves a RuntimeError on Python 3.14.

Signed-off-by: Scott K Logan <logans@cottsay.net>
Co-authored-by: Tomoya Fujita <fujita.tomoya@triorb.co.jp>
Signed-off-by: Tomoya.Fujita <fujita.tomoya@triorb.co.jp>
Signed-off-by: Tomoya.Fujita <fujita.tomoya@triorb.co.jp>
* OPENR-98: Create article for triaging an issue

* OPENR-146: Create article for reporting an issue and update triaging

* OPENR-146: Fix link issue for linter and add sentence to summary

* OPENR-146: Updates to Reporting an issue  from PR comments

* Update source/The-ROS2-Project/Contributing/Contributing-to-code/Triaging-an-issue.rst

Signed-off-by: Katherine Scott <katherineAScott@gmail.com>

* OPENR-98: Action comments for Triaging and tidy up

* OPENR-98: Fix typo in Triaging

* Correct broken references

Signed-off-by: Geoffrey Biggs <gbiggs@killbots.net>

---------

Signed-off-by: Katherine Scott <katherineAScott@gmail.com>
Signed-off-by: Geoffrey Biggs <gbiggs@killbots.net>
Co-authored-by: Katherine Scott <katherineAScott@gmail.com>
Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Co-authored-by: Tully Foote <tullyfoote@intrinsic.ai>
* Draft Learning about parameters - tutorial

* Implement peer review feedback

* Created How ROS Works article and added to TOC

* Update Understanding-ROS2-Parameters.rst

* Update Understanding-ROS2-Parameters.rst

* Update Understanding-ROS2-Parameters.rst

* Remove trailing whitespace in How-ROS-Works stub

---------

Co-authored-by: Denise Marshall <denise.marshall@3di-info.com>
Co-authored-by: Tomoya Fujita <fujita.tomoya@triorb.co.jp>
* Adding structure and content for first draft, and adding topic to TOC

* Adding content to first draft

* Adding content to first draft

* create-contributing-to-ros

* Update contributing to ROS

* Update Contributing to ROS and Contact article

* Peer review changes to draft3

* Peer review changes to contact draft 2

* Final peer review changes to contact

* Fix email links in contact

* update links and apply peer review comments

* updates following peer review

* Add newlines after headings

* delete whitespace and add newlines

* fix lint errors and update links

* Fixing duplicate and broken links

* Apply SME edits

* Apply SME edits

* Apply SME edits

* Avoid duplicate link label

Signed-off-by: Geoffrey Biggs <gbiggs@killbots.net>

* Slight wording clarification

Signed-off-by: Geoffrey Biggs <gbiggs@killbots.net>

---------

Signed-off-by: Geoffrey Biggs <gbiggs@killbots.net>
Co-authored-by: Denise Marshall <denise.marshall@3di-info.com>
Co-authored-by: Geoffrey Biggs <gbiggs@killbots.net>
Co-authored-by: Keith Kirkwood <keith.kirkwood@3di-info.com>
* Fix link to nightly pre-release binaries

Updated link for nightly pre-release binaries to direct GitHub URL.

Signed-off-by: Kimberly N. McGuire <kimberleymcguire@gmail.com>

* Update packaging job link from CI to GitHub releases

* missing underscore

* remove :ref: for link binaries

---------

Signed-off-by: Kimberly N. McGuire <kimberleymcguire@gmail.com>
Signed-off-by: yadunund <yadunund@gmail.com>

@fujitatomoya fujitatomoya left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LastStarDust thanks for creating PR. the content looks good to me, but can you rebase this PR on rolling? that is our development branch and then we can backport the fixes to the downstream branches including lyrical.

Updated integration testing documentation to include new utilities and clarify test setup.

Signed-off-by: Giorgio Pintaudi <LastStarDust@users.noreply.github.com>
@LastStarDust

Copy link
Copy Markdown
Author

@fujitatomoya san
Thank you for the quick review.
I rebased on top of rolling but what I see on my git client locally is totally different from what I see here in this PR.
Please allow me to close this PR and open a new one.

@LastStarDust
LastStarDust deleted the patch-1 branch August 20, 2026 05:36
@LastStarDust

Copy link
Copy Markdown
Author

@fujitatomoya @christophebedard
#7076

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.