714 def default_check_steps(test, checkfile_input='AOD.pool.root,ESD.pool.root,RDO_TRIG.pool.root,DAOD_PHYS.DAOD.pool.root'):
716 Create the default list of check steps for a test. The configuration
717 depends on the package name and the type of exec steps (athena or
718 athenaHLT or transforms).
724 if len(test.exec_steps) == 1:
725 exec_step = test.exec_steps[0]
726 if exec_step.type ==
'athenaHLT' and produces_log(exec_step):
727 logmerge = LogMergeStep()
728 logmerge.merged_name =
'athena.log'
729 logmerge.log_files = [
'athenaHLT.log']
730 nforks = 1
if exec_step.forks
is None else exec_step.forks
731 for n
in range(1, 1+nforks):
732 logmerge.log_files.append(
'athenaHLT:{:02d}.out'.
format(n))
733 logmerge.log_files.append(
'athenaHLT:{:02d}.err'.
format(n))
734 check_steps.append(logmerge)
736 logmerge = LogMergeStep()
737 logmerge.merged_name =
'athena.log'
738 logmerge.log_files = []
739 for exec_step
in test.exec_steps:
742 logmerge.log_files.append(exec_step.get_log_file_name())
743 if exec_step.type ==
'athenaHLT':
744 logmerge.extra_log_regex =
'athenaHLT:.*(.out|.err)'
745 check_steps.append(logmerge)
748 if len(check_steps) > 0
and isinstance(check_steps[-1], LogMergeStep):
749 log_to_check = check_steps[-1].merged_name
750 log_to_zip = check_steps[-1].merged_name
753 reco_tf_steps = [step
for step
in test.exec_steps
if step.type
in [
'Reco_tf',
'Trig_reco_tf',
'Derivation_tf']]
754 if len(reco_tf_steps) > 0:
755 reco_tf_logmerge = LogMergeStep(
'LogMerge_Reco_tf')
756 reco_tf_logmerge.warn_if_missing =
False
758 tf_names = [
'HITtoRDO',
'Overlay',
'RDOtoRDOTrigger',
'RAWtoESD',
'ESDtoAOD',
759 'PhysicsValidation',
'RAWtoALL',
760 'BSRDOtoRAW',
'DRAWCOSTtoNTUPCOST',
'AODtoNTUPRATE',
'Derivation',
'AODtoDAOD']
761 reco_tf_logmerge.log_files = [
'log.'+tf_name
for tf_name
in tf_names]
763 for step
in reco_tf_steps:
764 reco_tf_logmerge.log_files.append(step.get_log_file_name())
765 reco_tf_logmerge.merged_name =
'athena.merged.log'
766 log_to_zip = reco_tf_logmerge.merged_name
767 if log_to_check
is not None:
768 reco_tf_logmerge.log_files.append(log_to_check)
769 log_to_check = reco_tf_logmerge.merged_name
770 log_to_check = reco_tf_logmerge.merged_name
771 check_steps.append(reco_tf_logmerge)
774 num_athenaHLT_steps =
sum([1
for step
in test.exec_steps
if step.type ==
'athenaHLT'])
775 if num_athenaHLT_steps > 0:
776 histmerge = RootMergeStep(
'HistMerge')
777 histmerge.merged_file =
'expert-monitoring.root'
778 histmerge.input_file =
'athenaHLT_workers/*/expert-monitoring.root expert-monitoring-mother.root'
779 histmerge.rename_suffix =
'-mother'
780 check_steps.append(histmerge)
783 checklog = CheckLogStep(
'CheckLog')
784 if log_to_check
is not None:
785 checklog.log_file = log_to_check
786 check_steps.append(checklog)
789 checkwarn = CheckLogStep(
'Warnings')
790 checkwarn.check_errors =
False
791 checkwarn.check_warnings =
True
792 if log_to_check
is not None:
793 checkwarn.log_file = log_to_check
794 check_steps.append(checkwarn)
797 msgcount = MessageCountStep(
'MessageCount')
798 for logmerge
in [step
for step
in check_steps
if isinstance(step, LogMergeStep)]:
799 msgcount.skip_logs.append(logmerge.merged_name)
800 check_steps.append(msgcount)
804 if log_to_check
is not None:
805 tail.log_file = log_to_check
806 check_steps.append(tail)
809 check_steps.append(RootCompStep())
810 check_steps.append(ChainDumpStep())
811 check_steps.append(HistCountStep())
814 check_steps.append(ZeroCountsStep())
817 check_steps.append(TrigTestJsonStep())
820 check_steps.append(CheckFileStep(input_file=checkfile_input))
823 if log_to_zip
is not None:
825 zip_step.zip_input = log_to_zip
826 zip_step.zip_output = log_to_zip+
'.tar.gz'
827 check_steps.append(zip_step)