From 21b1b0cc49b1fe7dd20fc3f916976639a8595765 Mon Sep 17 00:00:00 2001
From: Ben Wynne <bwynne@cern.ch>
Date: Thu, 16 Jul 2020 19:57:57 +0200
Subject: [PATCH] Validation test for HLT CF was broken. Fixed test, and added
 test for its own failure :D

---
 .../TriggerMenuMT/python/HLTMenuConfig/Menu/CFValidation.py | 6 +++++-
 .../TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py  | 6 +++---
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/CFValidation.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/CFValidation.py
index 2d4d2ce59c2..ded5ba44828 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/CFValidation.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/CFValidation.py
@@ -116,5 +116,9 @@ def testHLTTree( inputSequence ):
             raise RuntimeError( viewAlgName + " is attached to an EventView node, but also runs in the whole event context" )
 
     # Make sure that VDVs are configured correctly
-    checkVDV( inputSequence.getChildren(), [inputSequence.name()], {} )
+    allEVCAs = {}
+    checkVDV( inputSequence.getChildren(), [inputSequence.name()], allEVCAs )
 
+    # Check for inconsistent view maker search results
+    if len( allEVCAs ) != originalLength:
+      raise RuntimeError( "EventView creator alg search found different results in structured search (" + str(originalLength) + ") versus naive search (" + str( len( allEVCAs ) ) + "). Implies menu structure error" )
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py
index e11f590ab7f..a49e47f9cd1 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/HLTCFConfig.py
@@ -180,13 +180,13 @@ def makeHLTTree(newJO=False, triggerConfigHLT = None):
     appendCAtoAthena( monAcc )
 
     # this is a shotcut for now, we always assume we may be writing ESD & AOD outputs, so all gaps will be filled
-
     hltTop += conf2toConfigurable(edmAlg)
-    topSequence += hltTop
 
     # Test the configuration
     from TriggerMenuMT.HLTMenuConfig.Menu.CFValidation import testHLTTree
-    testHLTTree( topSequence )
+    testHLTTree( hltTop )
+
+    topSequence += hltTop
 
 def matrixDisplayOld( allCFSeq ):
     from collections import defaultdict
-- 
GitLab