[19175] Ubuntu example testing automation infrastrucure #4466
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds infrastructure to enable automated example testing using CTest. The approach consists on using
docker compose
to run the example executables (publisher
andsubscriber
) both in different and same container instances, capturing the output to verify the correct functioning of the example in question. To launch the different compose commands and perform the validation, a python script within the pytest framework is used, and the pytest command is added as a CTest test in CMake. To enable the example testing, this PR also adds a new CMake optionFASTDDS_EXAMPLE_TESTS
which defaults toOFF
.With this infrastructure, adding new tests consists on simply adding the corresponding compose file and testing/verification function. It is important to note that even when the infrastructure is semi-prepared to support example testing in Windows, the only support that this PR provides is for Ubuntu, as some details regarding the Windows docker images are out of scope for now.
This PR depends on:
TODO:
Contributor Checklist
versions.md
file (if applicable).Reviewer Checklist