Nightly test to detect changes of classes in Trigger EDM
Summary of updates:
- Updates StreamerInfoGenerator needed due to changes in Python binding introduced in ROOT 6.22
- Make dictwrite.py callable from other packages, to use in a nightly test
- Add the test itself. The test reads list of classes that are stored in Trigger EDM and detects whether in a given nightly build the checksum of TStreamerInfo class object is changed compared to what is already stored in bs-streamerinfos.root. If it is, the test is failed and will ask the Trigger EDM coordinator to update the streamerinfos file. This should help preventing errors in bytestream decoding in newer releases with evolved classes.
Merge request reports
Activity
Hi @okuprash,
the new test script will not work with our validation framework in the way it's written now and the shifters will get confused if this fails. Could you please make this a standalone script (not ART test). In case of failure, it should print a message starting with "ERROR" (best use the python logging module) and exit with a non-zero code. Then we can put a command running this script into an ART test based on the TrigValSteering framework like all other ART tests we have. Then it will nicely handle the failure and produce useful information integrated with our ART Monitor.added 1 commit
- 51313510 - Adjust the test to use the TrigValSteering framework
Thanks @okuprash, the new version looks good to me from a brief look. I only have two minor comments on the name:
- This should fail the runtime check of naming convention because it's missing the
_build
suffix for a build test. Did you run this new test and also the unit tests? If it doesn't fail, then I need to fix the check. - Just me being picky, but could it start with lower-case
detectStreamerInfoChanges
? This is the convention we worked out for all tests across all packages, even though I know there are a few tests in TrigP1Test not yet following that (these were created before we came up with the convention).
So I'd name it
test_trigP1_detectStreamerInfoChanges_build.py
- This should fail the runtime check of naming convention because it's missing the
added Trigger master review-pending-level-1 labels
CI Result FAILURE (hash c6adfad5)Athena AthSimulation AthGeneration AnalysisBase externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 22294] CI Result FAILURE (hash c6adfad5)Athena AthSimulation AthGeneration AnalysisBase externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 22354] CI Result SUCCESS (hash c6adfad5)Athena AthSimulation AthGeneration AnalysisBase externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 22367]added review-approved label and removed review-pending-level-1 label
mentioned in commit e328bfe9
added sweep:ignore label