DUNE-DAQ / DUNE-DAQ/daqpyutils
[Feature]: Define how python-only configurations for integration tests are deployed
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Description
As we now have integration tests that rely on configurations that are specific to python-only repositories, such as drunc's failure mode tests (see here for an example), we need to establish a common practice for how such configurations are deployed, so that releases set up without local copies of these respositories can be ran.
Potential impact radius
Large
Reason for change
Current integration tests that have configurations specific for integration testing, such as drunc's failure mode tests are currently not ran as they are not linked. The current mechanism for resolving a path to a testing configuration is to use a path relative to DUNEDAQ_DB_PATH, which is not liked following a discussion of Emir's thread in the #daq-sw-librarians slack channel from April 28th 2026. The summary of this discussion is that these repositories should not be linked to DUNEDAQ_DB_PATH, as this defines the boundaries of sourcecode paths, which contain repositories that contain C++ source code.
For now, the workaround for the drunc integration tests is to use the setup_drunc_config_path.sh script, which prepends the drunc root to DUNEDAQ_DB_PATH, but this is not a long-term solution, and will require refinement.
Suggested implementations
The config path in the python-only repos could be migrated to the src/ path, similarly to the practice of integration tests. This approach would also require including the configs in the pyproject.toml, as otherwise non *.py files are not included when installing.
Another approach is to write a general function that resolves the root of the repo that the integ test is being run from, use this to determine the abs path to the config, and use this to deploy the session.
Testing suggestions
Make the changes, generate a release, and see if e.g. the drunc failure mode tests actually run.
Anything else?
No response
Contributor guide
No contributing guide indexed for this repository
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
Review the current DUNEDAQ_DB_PATH path-resolution mechanism and the setup_drunc_config_path.sh workaround, then compare the proposed src/ and repository-root approaches, including pyproject.toml packaging. Done means generating a release and confirming that drunc failure mode integration tests run without locally linked repository copies.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, shell
- Domain
- release, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100