From eead65fbe5b68c68de115b0b06632c7fdd87af38 Mon Sep 17 00:00:00 2001 From: Jonathan Burr <jonathan.thomas.burr@cern.ch> Date: Thu, 28 Nov 2019 16:55:31 +0100 Subject: [PATCH] Correct ctest failure --- .../python/HLTMenuConfig/MET/AlgConfigs.py | 20 +++++++++++++++++++ .../python/HLTMenuConfig/MET/ConfigHelpers.py | 2 ++ .../MET/METChainConfiguration.py | 2 +- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/AlgConfigs.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/AlgConfigs.py index 9715a4fdecd1..d8800a743855 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/AlgConfigs.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/AlgConfigs.py @@ -5,8 +5,28 @@ from .ConfigHelpers import AlgConfig, jetRecoDictForMET from TrigEFMissingET.TrigEFMissingETMTConfig import getMETMonTool from ..Menu.MenuComponents import RecoFragmentsPool +from ..Menu.SignatureDicts import METChainParts import GaudiKernel.SystemOfUnits as Units +def test_configs(): + """ Make sure that all algorithms defined in the METChainParts have + configurations + + Really, this is mainly to have something sensible to call in the + ConfigHelpers file to succeed the ctest :( + """ + unknown_algs = [] + for alg in METChainParts["EFrecoAlg"]: + for subcls in AlgConfig._get_subclasses(): + if subcls.algType() == alg: + break + else: + unknown_algs.append(alg) + assert len(unknown_algs) == 0, ( + "The following EFrecoAlgs do not have AlgConfig classes: " + "{}".format(unknown_algs) ) + + class CellConfig(AlgConfig): @classmethod def algType(cls): diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/ConfigHelpers.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/ConfigHelpers.py index c6c248f6fccc..a7da2182ae67 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/ConfigHelpers.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/ConfigHelpers.py @@ -214,3 +214,5 @@ class AlgConfig(object): # Load all the defined configurations from . import AlgConfigs +# Make sure that there is an AlgConfig for every EFrecoAlg +AlgConfigs.test_configs() diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METChainConfiguration.py index 62b386770fa4..046224426308 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METChainConfiguration.py @@ -7,7 +7,7 @@ log = logging.getLogger("TriggerMenuMT.HLTMenuConfig.MET.METChainConfiguration") from ..Menu.ChainConfigurationBase import ChainConfigurationBase from .ConfigHelpers import extractMETRecoDict, metRecoDictToString, AlgConfig -from ..Menu.MenuComponents import RecoFragmentsPool, ChainStep +from ..Menu.MenuComponents import ChainStep #---------------------------------------------------------------- -- GitLab