Main Test Suite#
Tests are not built by default,
--tests must be passed to the
This will build all the tests.
There are a few ways to only have specific tests built:
If using Make, specify the targets instead of leaving it default to the
Run MPC on the test directory and build separately. Make sure to also build the test’s dependencies.
Create a custom workspace with the tests and pass it to the
configurescript using the
--workspaceoption. Also make sure to include the test’s dependencies.
OpenDDS’ main suite of tests is ran by the
tests/auto_run_tests.pl Perl script that reads lists of tests from files and selectively runs based on how the script has been configured.
For Unixes (Linux, macOS, BSDs, etc)#
Run this in
Run this in
If OpenDDS was built in Release mode add
If it was built as static libraries add
-ExeSubDir Static_Debug or
Manual configuration is done by passing
-Exclude, and test list files arguments to the script.
To manually configure what tests to run:
--show-all-configsoptions to see the existing configurations used by all test list files.
--show-configsoptions to see the existing configurations used by specific test list files.
See the test list files for the tests themselves:
This is included by default. Use
--no-dcpsto exclude this list.
--no-auto-configwas passed, then
--dcpswill have to be passed to include this.
--securityto include this list.
--javato include this list.
--modelingto include this list.
In a test list file each of the-space delimited words after the colon determines when the test is ran.
-Config RTPSwill run tests that have
RTPSand leave out tests with
-Exclude RTPSwill exclude all tests that have
RTPSin the entry. This option matches using RegEx, so a test with
SUPER_DUPER_RTPSwill also be excluded. It also ignores inverse entries, so it will not exclude a test with
-Configoptions that are added automatically if
-Config GH_ACTIONSif running on GitHub Actions
These are based on the OS
auto_run_tests.plis running under:
Assuming they were built, CMake tests are ran if
--cmakeis passed. This uses CTest, which is a system that is separate from the one previously described.
--helpfor all the available options.
For those editing and creating test list files:
ConfigList code in ACE can’t properly handle mutiple test list entries with the same command.
It will run all those entries if the last one will run, even if based on the configs only one entry should run.
auto_run_tests.pl will warn about this if it’s using a test list file that has this problem.