Skip to content

Unit and integration tests

Pawel Plesniak edited this page Aug 5, 2026 · 1 revision

Testing

In order to have robust and reliable operation of sessions, the run control must be subject to extensive testing. The tests are broadly split into two categories - unit tests, which test individual components of the code logic, and integration tests, which test the operation of the system as a whole.

Location of these tests

Unit tests are located in the tests path relative to the repo root. Integration tests are located in the src/drunc/integtest path relative to the repo root. This is to allow the integration testing framework through dunedaq_integtest_bundle.sh to operate the tests from a cvmfs backed location. More details are in the documentation of a python-only package structure.

Deciding whether a test is a unit test or an integration test

Broadly speaking, if a test runs one of the applications defined in src/drunc/apps/* to operate a session, this should be an integration test. Otherwise it should be a unit test. If unsure of where your test should go, please reach out to the repo maintainer for clarification.

Clone this wiki locally