Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
The `test/` directory of the `HLTrigger/Configuration` package contains

 - scripts to copy HLT menus from the `ConfDB` database into CMSSW,
   as both `cff` fragments (loadable via `cmsDriver.py`) and standalone `cfg` configurations (usable with `cmsRun`);

 - scripts to run tests with these HLT menus
   (a version of these tests runs in CMSSW integration buils as the so-called "HLT-Validation" tests);

 - a unit test to verify the availability of the EDM input files used in the HLT tests maintained in CMSSW by the Trigger Studies Group
   (see `testAccessToEDMInputsOfHLTTests` below).

_Important_ : when the names of the EDM files hard-coded in
`HLTrigger/Configuration/test/cmsDriver.csh` and/or
`Configuration/HLT/python/addOnTestsHLT.py` are changed, make sure to
(1) commit your local changes, and then
(2) execute the script `HLTrigger/Configuration/test/testAccessToEDMInputsOfHLTTests_update_filelist.sh`
in order to update the file `HLTrigger/Configuration/test/testAccessToEDMInputsOfHLTTests_filelist.txt`.
The latter contains the list of files queried by the unit test `testAccessToEDMInputsOfHLTTests` (see below),
which will then be cached in the IB-EOS area at the CERN T2.

---

Unit test: `testAccessToEDMInputsOfHLTTests`
---

This unit test executes `cmsRun` jobs to verify the availability
of the EDM files listed in `HLTrigger/Configuration/test/testAccessToEDMInputsOfHLTTests_filelist.txt`.

To run the unit test via `scram`, execute
```bash
scram b runtests_testAccessToEDMInputsOfHLTTests
```
To run the unit test locally, execute
```bash
cd "${CMSSW_BASE}"/src/HLTrigger/Configuration/test && \
 SCRAM_TEST_PATH=. ./testAccessToEDMInputsOfHLTTests.sh
```

The unit test does not modify the content of the file `testAccessToEDMInputsOfHLTTests_filelist.txt`.
The latter can be updated by manually executing the script `testAccessToEDMInputsOfHLTTests_update_filelist.sh`.

 - The file `testAccessToEDMInputsOfHLTTests_filelist.txt` lists
   the Logical File Name (LFN) of the EDM files used in HLT tests for
   (1) the main CMSSW development branches (name format: `CMSSW_[0-9]*_[0-9]*_X`), and
   (2) the HEAD of local CMSSW in use.

 - The script `testAccessToEDMInputsOfHLTTests_update_filelist.sh` ignores other branches,
   as well as local modifications which have not been committed yet.

 - The file `testAccessToEDMInputsOfHLTTests_filelist.txt` lists only EDM files which are either
   (1) cached in the IB-EOS area at the CERN T2, or
   (2) accessible remotely via the redirector `cms-xrd-global.cern.ch`.

Here are the steps one normally executes to update the
EDM input files and the unit test `testAccessToEDMInputsOfHLTTests`.

 - Update the input EDM files where needed,
   e.g. `addOnTestsHLT.py` and/or `cmsDriver.csh`.

 - Test, and commit the changes.

 - Run `testAccessToEDMInputsOfHLTTests_update_filelist.sh`
   (this will update `testAccessToEDMInputsOfHLTTests_filelist.txt`, if needed).

 - Run the unit test (e.g. `scram b runtests_testAccessToEDMInputsOfHLTTests`).

 - Commit the changes to `testAccessToEDMInputsOfHLTTests_filelist.txt`, if any.