The get/pop CA method cause exception if looked for component is missing
Functionality added by this MR is related to new/CA JO. The CAs can be queried for components (i.e. public tools). Typically when no object is found this means a mistake (typo in the name for instance). With this change, such a mistake would result in an exception being raised. This is the default behaviour. In cases when it is actually possible that the component is missing additional option can be provided: acceptAbsent. Then client code can check if the returned value is None and act accordingly.
Tagging @wlampl @mhodgkin @emoyse @goetz @fwinkl @rbielski PS> Launching all unit tests to catch possible mistakes in all areas.
Merge request reports
Activity
added full-unit-tests label
This merge request affects 1 package:
- Control/AthenaConfiguration
This merge request affects 2 files:
- Control/AthenaConfiguration/python/ComponentAccumulator.py
- Control/AthenaConfiguration/python/ComponentAccumulatorTest.py
Adding @ssnyder as watcher
added Core master review-pending-level-1 labels
CI Result FAILURE (hash 538f573d)Athena AthSimulation AthGeneration AnalysisBase AthAnalysis DetCommon 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
AthAnalysis: number of compilation errors 0, warnings 0
DetCommon: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 40560]added NewConfig label
- Resolved by Tomasz Bold
Let's see how many really use-cases there are for
accceptAbsent
in the failed unit tests. I wonder if it wouldn't be cleaner to just always throw the exception. The user can always catch it and do whatever is necessary. Just a minor point though.
Yikes.
Traceback (most recent call last): File "/cvmfs/sft.cern.ch/lcg/releases/LCG_100_ATLAS_7/Python/3.8.6/x86_64-centos7-gcc8-opt/lib/python3.8/runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "/cvmfs/sft.cern.ch/lcg/releases/LCG_100_ATLAS_7/Python/3.8.6/x86_64-centos7-gcc8-opt/lib/python3.8/runpy.py", line 87, in _run_code exec(code, run_globals) File "/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/python/MuonCombinedConfig/MuonCombinedReconstructionConfig.py", line 382, in <module> acc = MuonCombinedReconstructionCfg(ConfigFlags) File "/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/python/MuonCombinedConfig/MuonCombinedReconstructionConfig.py", line 308, in MuonCombinedReconstructionCfg result.merge( MuonCombinedMuonCandidateAlgCfg(flags) ) File "/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/python/MuonCombinedConfig/MuonCombinedReconstructionConfig.py", line 148, in MuonCombinedMuonCandidateAlgCfg acc = MuonCandidateToolCfg(flags, **tool_kwargs) File "/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/python/MuonCombinedConfig/MuonCombinedRecToolsConfig.py", line 290, in MuonCandidateToolCfg result = CombinedMuonTrackBuilderCfg(flags, name="CombinedMuonTrackBuilder") File "/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/python/MuonCombinedConfig/MuonCombinedRecToolsConfig.py", line 665, in CombinedMuonTrackBuilderCfg kwargs.setdefault("MdtRotCreator" , acc.popPrivateTools() ) File "/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/python/AthenaConfiguration/ComponentAccumulator.py", line 348, in popPrivateTools raise RuntimeError("Private tool(s) requested, but none are present")
This one is for me to fix. I'll do so today.
mentioned in merge request !47368 (merged)
mentioned in merge request !47288 (merged)
added review-user-action-required label and removed review-pending-level-1 label
added 332 commits
-
1024abc0...9c40f09e - 331 commits from branch
atlas:master
- dec41ea2 - Fixes post merge
-
1024abc0...9c40f09e - 331 commits from branch
added InnerDetector review-pending-level-1 labels and removed review-user-action-required label
CI Result FAILURE (hash dec41ea2)Athena AthSimulation AthGeneration AnalysisBase AthAnalysis DetCommon 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
AthAnalysis: number of compilation errors 0, warnings 0
DetCommon: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 40885]- Resolved by Christos Anastopoulos
Hi
The Conversion finding, was moved outside the vertex finding (which now does primary vertex finding alone) so there is a new module [https://acode-browser1.usatlas.bnl.gov/lxr/source/athena/InnerDetector/InDetConfig/python/ConversionFindingConfig.py]
I think also I have fixed that one line there by now.
The above is what cause the merge conflict I would assume