diff --git a/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoRDOTrig_mt1_build.py b/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoRDOTrig_mt1_build.py index f9fe0a611ba06417ac1829d2de726fd64c453a80..d757889b79a8e70beec21f41c3ba574d7448e356 100755 --- a/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoRDOTrig_mt1_build.py +++ b/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoRDOTrig_mt1_build.py @@ -20,11 +20,13 @@ test.art_type = 'build' test.exec_steps = [ex] test.check_steps = CheckSteps.default_check_steps(test) -# Overwrite default RegTest settings -regtest = test.get_step('RegTest') -regtest.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*' -regtest.reference = 'TrigAnalysisTest/ref_RDOtoRDOTrig_mt1_build.ref' -regtest.required = True # Final exit code depends on this step +# Add a step comparing counts in the log against reference +refcomp = CheckSteps.RegTestStep("CountRefComp") +refcomp.input_base_name = 'athena.merged' +refcomp.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*' +refcomp.reference = 'TrigAnalysisTest/ref_RDOtoRDOTrig_mt1_build.ref' +refcomp.required = True # Final exit code depends on this step +CheckSteps.add_step_after_type(test.check_steps, CheckSteps.LogMergeStep, refcomp) import sys sys.exit(test.run()) diff --git a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_BeamSpot_build.py b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_BeamSpot_build.py index e78dffd2bd416231a756cff09e585fb856a33c9d..c284f534bde1e29846e7355feb6a0eb0ca039219 100755 --- a/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_BeamSpot_build.py +++ b/Trigger/TrigValidation/TrigP1Test/test/test_trigP1_BeamSpot_build.py @@ -38,11 +38,12 @@ test.exec_steps = [ex_rm, ex_bs, ex] test.check_steps = [chk for chk in CheckSteps.default_check_steps(test) if type(chk) in (CheckSteps.LogMergeStep, CheckSteps.CheckLogStep, CheckSteps.RegTestStep)] -# Overwrite default RegTest settings -regtest = test.get_step('RegTest') -regtest.regex = 'InDet::InDetBeamSpotReader.*|BeamSpotCondAlg.*' -regtest.reference = 'TrigP1Test/BeamSpot.ref' -regtest.required = True # Final exit code depends on this step +# Add a reference comparison step +refcomp = CheckSteps.RegTestStep('RefComp') +refcomp.regex = 'InDet::InDetBeamSpotReader.*|BeamSpotCondAlg.*' +refcomp.reference = 'TrigP1Test/BeamSpot.ref' +refcomp.required = True # Final exit code depends on this step +CheckSteps.add_step_after_type(test.check_steps, CheckSteps.LogMergeStep, refcomp) import sys sys.exit(test.run()) diff --git a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py index ed979ceae7cfe2389ad4fc2541d458a2aa081d5f..50145813001271ea001fdf55037be8f3bc06e9b9 100644 --- a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py +++ b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py @@ -727,14 +727,6 @@ def default_check_steps(test): msgcount = MessageCountStep('MessageCount') check_steps.append(msgcount) - # RegTest - regtest = RegTestStep() - if log_to_check is not None: - regtest.input_base_name = os.path.splitext(log_to_check)[0] - if 'athenaHLT' in step_types: - regtest.regex = r'(?:HltEventLoopMgr(?!.*athenaHLT-)(?!.*DF_Pid)|REGTEST)' - check_steps.append(regtest) - # Tail (probably not so useful these days) tail = TailStep() if log_to_check is not None: @@ -767,3 +759,18 @@ def default_check_steps(test): # return the steps return check_steps + + +def add_step_after_type(step_list, ref_type, step_to_add): + ''' + Insert step_to_add into step_list after the last step of type ref_type. + If the list has no steps of type ref_type, append step_to_add at the end of the list. + ''' + index_to_add = -1 + for index, step in enumerate(step_list): + if isinstance(step, ref_type): + index_to_add = index+1 + if index_to_add > 0: + step_list.insert(index_to_add, step_to_add) + else: + step_list.append(step_to_add) diff --git a/Trigger/TrigValidation/TrigValTools/test/test_unit_trigvalsteering.py b/Trigger/TrigValidation/TrigValTools/test/test_unit_trigvalsteering.py index 2a23da8f56a3b4bfb0cb8b805923ce50a5121d37..8d8958e2b9c6d162ba73dba9d634f7139cefbc86 100755 --- a/Trigger/TrigValidation/TrigValTools/test/test_unit_trigvalsteering.py +++ b/Trigger/TrigValidation/TrigValTools/test/test_unit_trigvalsteering.py @@ -34,8 +34,12 @@ regtest_ref_text = [ with open('regtest.ref','w') as f: f.write('\n'.join(regtest_ref_text)) -test.get_step("RegTest").regex = '###' -test.get_step("RegTest").reference = 'regtest.ref' +refcomp = CheckSteps.RegTestStep('RefComp') +refcomp.input_base_name = 'athena.merged' +refcomp.regex = '###' +refcomp.reference = 'regtest.ref' +refcomp.required = True +CheckSteps.add_step_after_type(test.check_steps, CheckSteps.LogMergeStep, refcomp) import sys sys.exit(test.run()) diff --git a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_newJO_build.py b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_newJO_build.py index 6f7839c41f7607aa48f661770b406ff6a86f82d2..1d62c1fb18a2ced6bb0be6a020146619069a050b 100755 --- a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_newJO_build.py +++ b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_newJO_build.py @@ -39,9 +39,5 @@ test.art_type = 'build' test.exec_steps = [copy_jo, pickle, run_athena] test.check_steps = CheckSteps.default_check_steps(test) -# Change RegTest pattern -regtest = test.get_step('RegTest') -regtest.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*' - import sys sys.exit(test.run()) diff --git a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_MT_build.py b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_MT_build.py index 23d604c7023e3c8f959c9dba53834c021b87a595..0feb6229726bc88e103ee782598065f9533706d9 100755 --- a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_MT_build.py +++ b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_MT_build.py @@ -28,11 +28,12 @@ test.art_type = 'build' test.exec_steps = [ex] test.check_steps = CheckSteps.default_check_steps(test) -# Overwrite default RegTest settings -regtest = test.get_step('RegTest') -regtest.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*' -regtest.reference = 'TriggerTest/ref_data_v1Dev_build.ref' -regtest.required = True # Final exit code depends on this step +# Add a step comparing counts in the log against reference +refcomp = CheckSteps.RegTestStep("CountRefComp") +refcomp.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*' +refcomp.reference = 'TriggerTest/ref_data_v1Dev_build.ref' +refcomp.required = True # Final exit code depends on this step +CheckSteps.add_step_after_type(test.check_steps, CheckSteps.LogMergeStep, refcomp) import sys sys.exit(test.run()) diff --git a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py index 8e55dc677efe6e3496947775f3b841a07ed79cc2..e216367b5daf148533d0ab96ff671775f5ab5f10 100755 --- a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py +++ b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py @@ -33,12 +33,12 @@ msgcount.info_threshold = 1200 msgcount.other_threshold = 100 msgcount.required = True # make the test exit code depend on this step - -# Overwrite default RegTest settings -regtest = test.get_step('RegTest') -regtest.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*' -regtest.reference = 'TriggerTest/ref_data_v1Dev_build.ref' -regtest.required = True # Final exit code depends on this step +# Add a step comparing counts in the log against reference +refcomp = CheckSteps.RegTestStep("CountRefComp") +refcomp.regex = 'TrigSignatureMoniMT.*HLT_.*|TrigSignatureMoniMT.*-- #[0-9]+ (Events|Features).*' +refcomp.reference = 'TriggerTest/ref_data_v1Dev_build.ref' +refcomp.required = True # Final exit code depends on this step +CheckSteps.add_step_after_type(test.check_steps, CheckSteps.LogMergeStep, refcomp) import sys sys.exit(test.run())