[21245] Fix topic interference on `liveliness_changed` status (backport #4988) (backport #5032)
Description
PR #4822 (and its backports) introduced a regression that was not detected until we requested ROS 2 rolling to use branch 2.14.x here
This PR:
- Adds infrastructure to create Blackbox tests that simulate the behavior of ROS 2 node
- Adds a ROS2 black-box test trying to mimick the test that regressed
- Add a standard black-box regression test for the issue discovered
- Fixes the issue
@Mergifyio backport 2.14.x 2.13.x 2.10.x 2.6.x
Contributor Checklist
-
[x] Commit messages follow the project guidelines.
-
[x] The code follows the style guidelines of this project.
-
[x] Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally
-
[x] Any new/modified methods have been properly documented using Doxygen.
-
N/A Any new configuration API has an equivalent XML API (with the corresponding XSD extension)
-
[x] Changes are backport compatible: they do NOT break ABI nor change library core behavior.
-
[x] Changes are API compatible.
-
N/A New feature has been added to the
versions.mdfile (if applicable). -
N/A New feature has been documented/Current behavior is correctly described in the documentation.
-
[x] Applicable backports have been included in the description.
Reviewer Checklist
- [x] The PR has a milestone assigned.
- [x] The title and description correctly express the PR's purpose.
- [x] Check contributor checklist is correct.
- [x] Check CI results: changes do not issue any warning.
- [x] Check CI results: failing tests are unrelated with the changes.
This is an automatic backport of pull request #4988 done by [Mergify](https://mergify.com).
This is an automatic backport of pull request #5032 done by [Mergify](https://mergify.com).
Cherry-pick of 4a6b934795c6f905fc17e6a3aa9acdc1c3051c18 has failed:
On branch mergify/bp/2.6.x/pr-5032
Your branch is up to date with 'origin/2.6.x'.
You are currently cherry-picking commit 4a6b93479.
(fix conflicts and run "git cherry-pick --continue")
(use "git cherry-pick --skip" to skip this patch)
(use "git cherry-pick --abort" to cancel the cherry-pick operation)
Changes to be committed:
modified: src/cpp/rtps/builtin/liveliness/WLP.cpp
modified: test/blackbox/common/BlackboxTestsLivelinessQos.cpp
new file: test/blackbox/common/DDSBlackboxTestsROS2.cpp
new file: test/blackbox/common/ros2/Context.hpp
new file: test/blackbox/common/ros2/DataReaderHolder.hpp
new file: test/blackbox/common/ros2/DataWriterHolder.hpp
new file: test/blackbox/common/ros2/GenericHolder.hpp
new file: test/blackbox/common/ros2/Node.hpp
new file: test/blackbox/common/ros2/PublicationNode.hpp
new file: test/blackbox/common/ros2/SubscriptionNode.hpp
new file: test/blackbox/common/ros2/TopicHolder.hpp
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: src/cpp/rtps/reader/StatefulReader.cpp
both modified: src/cpp/rtps/reader/StatelessReader.cpp
To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally
@MiguelCompany you may want to give it a quick look
Hi @Mario-DL @JesusPoderoso, we’re awaiting the release of v2.6.10, which addresses the recent security issue (CVE-2025-24807). Do you have an ETA for its release?
Hi @AbhishekTiwari07 Yes, it is planned to be released during the last week of April
BTW, this one looks good to me.