Skip to content

Implement rmw_test_fixture to start the Zenoh router#583

Merged
Yadunund merged 7 commits intorollingfrom
cottsay/rmw_test_fixture
Apr 4, 2025
Merged

Implement rmw_test_fixture to start the Zenoh router#583
Yadunund merged 7 commits intorollingfrom
cottsay/rmw_test_fixture

Conversation

@cottsay
Copy link
Copy Markdown
Member

@cottsay cottsay commented Mar 28, 2025

It would probably be a good idea to merge the changes to ZENOH_CONFIG_OVERRIDE with any existing values, and also to restore the original state when the fixture stops.

Requires:

cottsay added 2 commits March 27, 2025 16:44
Signed-off-by: Scott K Logan <logans@cottsay.net>
It's unfortunate that we need to take a dependency to parse the JSON
string coming out of the session, but this strategy should reliably open
start the router on an arbitrary unused port for the isolated tests to
use.
Copy link
Copy Markdown
Member

@Yadunund Yadunund left a comment

Choose a reason for hiding this comment

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

This is great!

It would be great to also check the result of the get() call so i've suggestion some changes around that.

Comment thread rmw_zenoh_cpp/src/rmw_test_fixture.cpp
Comment thread rmw_zenoh_cpp/src/rmw_test_fixture.cpp Outdated
Comment thread rmw_zenoh_cpp/src/rmw_test_fixture.cpp Outdated
Comment thread rmw_zenoh_cpp/src/rmw_test_fixture.cpp Outdated
Comment thread rmw_zenoh_cpp/src/rmw_test_fixture.cpp Outdated
Comment thread rmw_zenoh_cpp/src/rmw_test_fixture.cpp Outdated
Comment thread rmw_zenoh_cpp/src/rmw_test_fixture.cpp
Comment thread rmw_zenoh_cpp/src/rmw_test_fixture.cpp Outdated
Comment thread rmw_zenoh_cpp/src/rmw_test_fixture.cpp Outdated
Comment thread rmw_zenoh_cpp/src/rmw_test_fixture.cpp
cottsay added 3 commits April 1, 2025 09:50
If the Zenoh config specifies a connect/endpoints value, ignore it
during isolated testing. The user can disable isolation if they actually
want the tests to connect to a specific endpoint.
Signed-off-by: Scott K Logan <logans@cottsay.net>
@cottsay cottsay requested review from Yadunund and ahcorde April 1, 2025 23:09
Copy link
Copy Markdown
Member

@Yadunund Yadunund left a comment

Choose a reason for hiding this comment

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

LGTM. Thanks for iterating on the PR so quickly!

@cottsay cottsay marked this pull request as ready for review April 2, 2025 07:18
@cottsay
Copy link
Copy Markdown
Member Author

cottsay commented Apr 2, 2025

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@ahcorde
Copy link
Copy Markdown
Contributor

ahcorde commented Apr 2, 2025

Pulls: #583
Gist: https://gist.githubusercontent.com/ahcorde/e9bfa8ceb23242512089e1f8dba249d6/raw/2bf4195990589fbfc38e384a0f2b23267b522362/ros2.repos
BUILD args: --packages-up-to rmw_zenoh_cpp --packages-above-and-dependencies rmw_zenoh_cpp
TEST args: --packages-select rmw_zenoh_cpp --packages-above rmw_zenoh_cpp
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/15548

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@cottsay
Copy link
Copy Markdown
Member Author

cottsay commented Apr 2, 2025

CI was failing due to a branch name collision in rcutils. I cleaned that up and we should be in better shape now:

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

Still expecting the binary PR build to fail because debs for rcutils and rmw_test_fixture haven't been synced yet.

@cottsay
Copy link
Copy Markdown
Member Author

cottsay commented Apr 2, 2025

Ah, rats, I need to get the new dependency into the CI builds before this can be merged.

@cottsay cottsay changed the title Implent rmw_test_fixture to start the Zenoh router Implement rmw_test_fixture to start the Zenoh router Apr 3, 2025
@cottsay
Copy link
Copy Markdown
Member Author

cottsay commented Apr 3, 2025

Fresh builds 🤞:

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@Yadunund Yadunund merged commit 3850a1a into rolling Apr 4, 2025
4 of 5 checks passed
@Yadunund Yadunund deleted the cottsay/rmw_test_fixture branch April 4, 2025 17:50
mjcarroll pushed a commit that referenced this pull request Apr 4, 2025
Since we have the dependency now via #583, this is a potential
improvement to the current string concatenation.

Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>
Yadunund pushed a commit that referenced this pull request Apr 4, 2025
* Update policy_parser to use nlohmann_json.hpp

Since we have the dependency now via #583, this is a potential
improvement to the current string concatenation.

Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>

* Further json changes

Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>

---------

Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>
Yadunund added a commit that referenced this pull request Apr 7, 2025
* Added zenoh_security_configuration_tools package written in cpp

Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>

* Added domain id

Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>

* Update policy_parser to use nlohmann_json.hpp

Since we have the dependency now via #583, this is a potential
improvement to the current string concatenation.

Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>

* Further json changes

Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>

* Refactor package to zenoh_security_tools

Signed-off-by: Yadunund <yadunund@gmail.com>

* Inject certificates if enclaves provided

Signed-off-by: Yadunund <yadunund@gmail.com>

* Replace existing endpoints with tls instead of hardcoded changes

Signed-off-by: Yadunund <yadunund@gmail.com>

* Update README.md

Signed-off-by: Yadunund <yadunund@gmail.com>

* Also generate router config with security

Signed-off-by: Yadunund <yadunund@gmail.com>

* Drop CLI11 dependency

Signed-off-by: Yadunund <yadunund@gmail.com>

---------

Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>
Signed-off-by: Yadunund <yadunund@gmail.com>
Co-authored-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Co-authored-by: Michael Carroll <mjcarroll@intrinsic.ai>
mergify Bot pushed a commit that referenced this pull request Apr 20, 2025
* Added zenoh_security_configuration_tools package written in cpp

Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>

* Added domain id

Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>

* Update policy_parser to use nlohmann_json.hpp

Since we have the dependency now via #583, this is a potential
improvement to the current string concatenation.

Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>

* Further json changes

Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>

* Refactor package to zenoh_security_tools

Signed-off-by: Yadunund <yadunund@gmail.com>

* Inject certificates if enclaves provided

Signed-off-by: Yadunund <yadunund@gmail.com>

* Replace existing endpoints with tls instead of hardcoded changes

Signed-off-by: Yadunund <yadunund@gmail.com>

* Update README.md

Signed-off-by: Yadunund <yadunund@gmail.com>

* Also generate router config with security

Signed-off-by: Yadunund <yadunund@gmail.com>

* Drop CLI11 dependency

Signed-off-by: Yadunund <yadunund@gmail.com>

---------

Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>
Signed-off-by: Yadunund <yadunund@gmail.com>
Co-authored-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Co-authored-by: Michael Carroll <mjcarroll@intrinsic.ai>
(cherry picked from commit 1dca3c3)
mergify Bot pushed a commit that referenced this pull request Apr 20, 2025
* Added zenoh_security_configuration_tools package written in cpp

Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>

* Added domain id

Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>

* Update policy_parser to use nlohmann_json.hpp

Since we have the dependency now via #583, this is a potential
improvement to the current string concatenation.

Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>

* Further json changes

Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>

* Refactor package to zenoh_security_tools

Signed-off-by: Yadunund <yadunund@gmail.com>

* Inject certificates if enclaves provided

Signed-off-by: Yadunund <yadunund@gmail.com>

* Replace existing endpoints with tls instead of hardcoded changes

Signed-off-by: Yadunund <yadunund@gmail.com>

* Update README.md

Signed-off-by: Yadunund <yadunund@gmail.com>

* Also generate router config with security

Signed-off-by: Yadunund <yadunund@gmail.com>

* Drop CLI11 dependency

Signed-off-by: Yadunund <yadunund@gmail.com>

---------

Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>
Signed-off-by: Yadunund <yadunund@gmail.com>
Co-authored-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Co-authored-by: Michael Carroll <mjcarroll@intrinsic.ai>
(cherry picked from commit 1dca3c3)
Yadunund added a commit that referenced this pull request Apr 20, 2025
* Added zenoh_security_configuration_tools package written in cpp

Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>

* Added domain id

Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>

* Update policy_parser to use nlohmann_json.hpp

Since we have the dependency now via #583, this is a potential
improvement to the current string concatenation.

Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>

* Further json changes

Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>

* Refactor package to zenoh_security_tools

Signed-off-by: Yadunund <yadunund@gmail.com>

* Inject certificates if enclaves provided

Signed-off-by: Yadunund <yadunund@gmail.com>

* Replace existing endpoints with tls instead of hardcoded changes

Signed-off-by: Yadunund <yadunund@gmail.com>

* Update README.md

Signed-off-by: Yadunund <yadunund@gmail.com>

* Also generate router config with security

Signed-off-by: Yadunund <yadunund@gmail.com>

* Drop CLI11 dependency

Signed-off-by: Yadunund <yadunund@gmail.com>

---------

Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>
Signed-off-by: Yadunund <yadunund@gmail.com>
Co-authored-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Co-authored-by: Michael Carroll <mjcarroll@intrinsic.ai>
(cherry picked from commit 1dca3c3)

Co-authored-by: yadunund <yadunund@gmail.com>
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.

4 participants