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