Skip to content

Add testing for Jazzy packages #4

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

Open
wants to merge 52 commits into
base: ros2-jazzy
Choose a base branch
from
Open

Conversation

emdemir
Copy link
Member

@emdemir emdemir commented Dec 17, 2024

Depends on EddyGharib/rules_ros2#7.

With this, it should be possible to test ros2_rosidl, ros2_rcl and ros2_rcl_interfaces. The first two are not fully covered yet but it's a start and verifies that the packages are built correctly at the basic level.

To test, do the following:

# Inside ros2-bazel-tools
$ ./create_workspace.py --registry path/to/bazel-public-registry --registry path/to/bazel-central-registry
# For each package:
$ cd workspace/ros2_rosidl
# Required because we don't support Bazel 8 at the moment
$ echo 7.4.1 > .bazelversion
# --cxxopt required for ros2_rcl since osrf_testing_tools_cpp needs it
$ bazel test //... --cxxopt=-std=c++17

emdemir and others added 30 commits December 9, 2024 13:59
Some of these had previously been created by hand; the rest are
automatically generated. The packages still need a bunch of fixes to
work, and are missing test definitions.

Co-Authored-By: Eddy Gharib <[email protected]>
The Jazzy work had started before the tooling was fully mature and thus
we had started work on an older version. This commit hand-merges the
original versions to the latest ones from the ROS2 repos.
This is required by @ros2_rcl_interfaces//:test_msgs.
Certain distros set the libdir for 64-bit libraries to /usr/lib64. This
change leaks to CMake in rules_foreign_cc, so it can't find the library
it just built. This makes it so that the same path is always used.
cyclonedds: Set CMAKE_INSTALL_LIBDIR to lib unconditionally
EddyGharib and others added 22 commits December 13, 2024 18:09
The manual definitions for language-specific generators are no longer
required.
This is no longer used and isn't included in the workspace.
These two tests are all the tests present in ros2_rcl_interfaces and
they pass.
A lot of tests are missing but this at least verifies that the package
works.
These are unconditionally included in the headers so should be included
when building too; otherwise we get missing symbol errors when linking
tests.
There are still type support tests and such missing, but this at least
verifies package functionality.
@EddyGharib EddyGharib force-pushed the ros2-jazzy branch 2 times, most recently from 6f0541c to 664a8c6 Compare March 6, 2025 12:32
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.

2 participants