Skip to content

Commit

Permalink
Merge pull request #148 from DUNE-DAQ/kbiery/minor_tweaks
Browse files Browse the repository at this point in the history
Minor changes to integtests
  • Loading branch information
eflumerf authored Nov 4, 2024
2 parents 1999860 + 040884b commit 1b24b1d
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 5 deletions.
12 changes: 10 additions & 2 deletions integtest/README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,28 @@
* 19-Jul-2023, ELF, KAB, and others: notes on existing integtests
* 04-Nov-2024, ELF, KAB, and others: notes on existing integtests

"integtests" are intended to be automated integration and/or system tests that make use of the
"pytest" framework to validate the operation of the DAQ system in various scenarios.

Here is a sample command for invoking a test (feel free to keep or drop the options in brackets, as you prefer):

```
pytest -s minimal_system_quick_test.py [--nanorc-option log-level debug] # still useful even with drunc
pytest -s minimal_system_quick_test.py [--nanorc-option log-level debug] # this nanorc option is still useful even when using drunc
```

The "-k" pytest option can be used ro selectively run a subset of the configurations in one of our integtest files. For example:

```
pytest -s -k TPG 3ru_3df_multirun_test.py
```

For reference, here are the ideas behind the tests that currently exist in this repository:
* `minimal_system_quick_test.py` - verify that a small emulator system works and successfully writes data in a short run
* `readout_type_scan.py` - verify that we can write different types of data (WIBEth, PDS, TPG, etc.)
* `3ru_3df_multirun_test.py` - verify that a system with multiple RUs and multiple DF Apps works as expected, including TPG
* `small_footprint_quick_test.py` - like minimal_system_quick_test, but using even fewer computer resources
* `fake_data_producer_test.py` - verify that the FakeDataProdModule DAQModule works as expected
* `long_window_readout_test.py` - verify that readout windows that require TriggerRecords to be split into multiple sequences works as expected
* `3ru_1df_multirun_test.py` - verify that we don't get empty fragments at end run
* this test is also useful in looking into high-CPU-usage scenarios because it uses 3 data producers in 3 RUs
* `tpstream_writing_test.py` - verify that TPSets are written to the TP-stream file(s)
* `example_system_test.py` - verify that the example configurations in example-configs.data.xml work as expected
2 changes: 1 addition & 1 deletion integtest/minimal_system_quick_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
"fragment_type": "Trigger_Candidate",
"hdf5_source_subsystem": "Trigger",
"expected_fragment_count": 1,
"min_size_bytes": 72,
"min_size_bytes": 128,
"max_size_bytes": 216,
}
hsi_frag_params = {
Expand Down
4 changes: 2 additions & 2 deletions scripts/daqsystemtest_integtest_bundle.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
# 10-Oct-2023, KAB

integtest_list=( "minimal_system_quick_test.py" "readout_type_scan.py" "3ru_3df_multirun_test.py" "fake_data_producer_test.py" "long_window_readout_test.py" "3ru_1df_multirun_test.py" "tpstream_writing_test.py" )
integtest_list=( "minimal_system_quick_test.py" "readout_type_scan.py" "3ru_3df_multirun_test.py" "small_footprint_quick_test.py" "fake_data_producer_test.py" "long_window_readout_test.py" "3ru_1df_multirun_test.py" "tpstream_writing_test.py" "example_system_test.py" )

usage() {
declare -r script_name=$(basename "$0")
Expand Down Expand Up @@ -100,7 +100,7 @@ while [[ ${overall_loop_count} -lt ${overall_run_count} ]]; do
elif [[ -e "${DBT_AREA_ROOT}/sourcecode/daqsystemtest/integtest/${TEST_NAME}" ]]; then
pytest -s ${DBT_AREA_ROOT}/sourcecode/daqsystemtest/integtest/${TEST_NAME} | tee -a ${ITGRUNNER_LOG_FILE}
else
pytest -s ${DAQSYSTEMTEST_SHARE}/integtest/${TEST_NAME} | tee -a ${ITGRUNNER_LOG_FILE}
pytest -s -p no:cacheprovider ${DAQSYSTEMTEST_SHARE}/integtest/${TEST_NAME} | tee -a ${ITGRUNNER_LOG_FILE}
fi
let pytest_return_code=${PIPESTATUS[0]}

Expand Down

0 comments on commit 1b24b1d

Please sign in to comment.