Added an integtest to demonstrate user-specified control applications... - #997
Added an integtest to demonstrate user-specified control applications...#997bieryAtFnal wants to merge 14 commits into
Conversation
…est repo to support the running of multiple control apps.
…command so that the time in which triggers are enabled is consistently 20 seconds.
There was a problem hiding this comment.
| timestamp_pattern = re.compile(r"\[(\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2}) UTC\]") |
The ^ anchors the regex to the beginning of the string.
Since with the new changes, the captured line is now drunc-unified-shell > [2026/08/06 09:31:55 UTC] INFO commands.py:52 drunc.controller.iface Command wait running for 10 seconds., so the regex can't find the date/time since its no longer at the beginning.
Removing the ^ relaxes this constraint, and the tests now pass :)
| print(banner_line) | ||
|
|
||
| assert run_dunerc.completed_process.returncode == 0 | ||
| assert run_dunerc.completed_processes["drunc"].returncode == 0 |
There was a problem hiding this comment.
Also a quick comment on this before I forget
#868 (recently merged) has introduced a bunch of new tests to drunc.
When this PR gets updated with respect to develop, can you also do the necessary find/replace on the new tests as well?
|
@emmuhamm , thanks for taking a look. Regarding the command prompt that is now present at the beginning of the output lines and is tripping up the
Regarding the new integtests that were added to the |
|
Hi Kurt, indeed I had a feeling that this was a side effect on how they're sent to the run control apps.
I assume this refers to Saying that, I think that the regex in the process manager test should be fixed, which can be done by removing the
Not that I've noticed. All the tests I've ran seem to run fine, and the PM test that failed I would attribute to a too strict regex anyway. As they are now, they look good to me. |
…ing drunc output timestamps at exactly the start of a line.
…leted_processes' status list now that we support multiple possible control apps.
|
I've made both changes that we talked about regarding the initial failure of the
Independent of that, I have updated the new failure_mode_* integtests in the I'm still running tests, so this is just a status update... |
... and updated the existing integtests to react to changes in the
integrationtestinfrastructure.Description
These changes are part of the work to add support for multiple user-specified application in our integration tests. The umbrella PR for these changes is DUNE-DAQ/integrationtest#168, and that PR has suggested instructions for testing these changes. All tests of the changes in this repository will need to include the changes in the
integrationtestrepo.One of the reasons for creating this PR in "draft" mode is that there are still some changes needed in the
process_manager_test.pyin order to get it to work.Type of change
List of required branches from other repositories
integrationtest kbiery/multi_ctrl_proc_supportChange log
The two existing integtests have been updated, and a new integtest has been added.
Suggested manual testing checklist
Please see DUNE-DAQ/integrationtest#168.
Prior to marking this as "Ready for Review"
Tests ran on: WHAT HOSTNAME from release RELEASE_NAME
Unit tests - some tests can't be ran on the CI. This is documented. If this PR checks a feature that can't be tested with CI, this has been marked appropriately.
Integration tests - the
daqsystemtest_integtest_bundlerequires a lot of resources, and connections to the EHN1 infrastructure. Check the cross referenced list if you can't run these. The developer needs to run at least the .pytest --marker) passeddaqsystemtest_integtest_bundle.sh -k minimal_system_quick_test.pydaqsystemtest_integtest_bundle.sh./scripts/drunc_integtest_bundle.sh)Final checklist prior to marking this as "Ready for Review"
Reviewer checklist
src/daqsystemtest_integtest_bundle.sh -k minimal_system_quick_test.pyifdaqsystemtest_integtest_bundle.shdruncare in the log filesdruncfailure appears:scripts/drunc_integtest_bundle.sh)Once the above boxes are checked, the PR(s) can be merged following the steps below.
Choose one of the following an complete all substepsPrior to merging
Once completed, the reviewer can merge the PR.
Notification message for a Slack channel
Note - this should be to #dunedaq-integration for general workflow that isn't during a release candidate period, and to #daq-release-prep otherwise.
For an single merge that changes the user workflow
For co-ordinated merge