Enable cross-vendor tests for unknown RMW implementations
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 45
- Forks
- 57
- Avg merge
- 9h 19m
- Merged PRs (30d)
- 2
Description
Feature request
Feature description
Some private or yet-to-be released RMW implementations may intend to interoperate with other RMW implementations. For example, DDS based implementations probably want to communicate with the other DDS implemenations. This is a ticket to enable them to use tests in this repo to determine whether that actually works.
See discussion on https://github.com/ros2/system_tests/pull/428
Implementation considerations
One option is to by default create tests for all RMW implementations and blacklist the ones which are known not to work. This enables accessing the cross-vendor tests by building this repo in a workspace with all RMW implementations they want to test compatibility with. It has a drawback in that this repo contains more than cross-vendor tests, so someone wanting to test an rmw implementation that is not expected to communicate with other vendors, such as iceoryx, would build and run many tests that are expected to fail.
Another option might be to create a package containing tools for generating a cross-vendor tests. This separates the test suite from the build of an individual package. test_communication could generate the cross-vendor test suite for the RMW implementations we use, and other RMW implementers could use the same tools to generate tests for the combinations they expect to work.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the discussion in system_tests pull request 428 and inspect the existing test_communication package and its test-generation flow. Determine how cross-vendor combinations are selected, then define a way for external or unknown RMW implementations to generate and run only the compatibility tests they need without unrelated expected failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100