719 Create the default list of check steps for a test. The configuration
720 depends on the package name and the type of exec steps (athena or
721 athenaHLT or transforms).
727 if len(test.exec_steps) == 1:
728 exec_step = test.exec_steps[0]
729 if exec_step.type ==
'athenaHLT' and produces_log(exec_step):
730 logmerge = LogMergeStep()
731 logmerge.merged_name =
'athena.log'
732 logmerge.log_files = [
'athenaHLT.log']
733 nforks = 1
if exec_step.forks
is None else exec_step.forks
734 for n
in range(1, 1+nforks):
735 logmerge.log_files.append(
'athenaHLT:{:02d}.out'.
format(n))
736 logmerge.log_files.append(
'athenaHLT:{:02d}.err'.
format(n))
737 check_steps.append(logmerge)
739 logmerge = LogMergeStep()
740 logmerge.merged_name =
'athena.log'
741 logmerge.log_files = []
742 for exec_step
in test.exec_steps:
745 logmerge.log_files.append(exec_step.get_log_file_name())
746 if exec_step.type ==
'athenaHLT':
747 logmerge.extra_log_regex =
'athenaHLT:.*(.out|.err)'
748 check_steps.append(logmerge)
751 if len(check_steps) > 0
and isinstance(check_steps[-1], LogMergeStep):
752 log_to_check = check_steps[-1].merged_name
753 log_to_zip = check_steps[-1].merged_name
756 reco_tf_steps = [step
for step
in test.exec_steps
if step.type
in [
'Reco_tf',
'Trig_reco_tf',
'Derivation_tf']]
757 if len(reco_tf_steps) > 0:
758 reco_tf_logmerge = LogMergeStep(
'LogMerge_Reco_tf')
759 reco_tf_logmerge.warn_if_missing =
False
761 tf_names = [
'HITtoRDO',
'Overlay',
'RDOtoRDOTrigger',
'RAWtoESD',
'ESDtoAOD',
762 'PhysicsValidation',
'RAWtoALL',
763 'BSRDOtoRAW',
'DRAWCOSTtoNTUPCOST',
'AODtoNTUPRATE',
'Derivation',
'AODtoDAOD']
764 reco_tf_logmerge.log_files = [
'log.'+tf_name
for tf_name
in tf_names]
766 for step
in reco_tf_steps:
767 reco_tf_logmerge.log_files.append(step.get_log_file_name())
768 reco_tf_logmerge.merged_name =
'athena.merged.log'
769 log_to_zip = reco_tf_logmerge.merged_name
770 if log_to_check
is not None:
771 reco_tf_logmerge.log_files.append(log_to_check)
772 log_to_check = reco_tf_logmerge.merged_name
773 log_to_check = reco_tf_logmerge.merged_name
774 check_steps.append(reco_tf_logmerge)
777 num_athenaHLT_steps =
sum([1
for step
in test.exec_steps
if step.type ==
'athenaHLT'])
778 if num_athenaHLT_steps > 0:
779 histmerge = RootMergeStep(
'HistMerge')
780 histmerge.merged_file =
'expert-monitoring.root'
781 histmerge.input_file =
'athenaHLT_workers/*/expert-monitoring.root expert-monitoring-mother.root'
782 histmerge.rename_suffix =
'-mother'
783 check_steps.append(histmerge)
786 checklog = CheckLogStep(
'CheckLog')
787 if log_to_check
is not None:
788 checklog.log_file = log_to_check
789 check_steps.append(checklog)
792 checkwarn = CheckLogStep(
'Warnings')
793 checkwarn.check_errors =
False
794 checkwarn.check_warnings =
True
795 if log_to_check
is not None:
796 checkwarn.log_file = log_to_check
797 check_steps.append(checkwarn)
800 msgcount = MessageCountStep(
'MessageCount')
801 for logmerge
in [step
for step
in check_steps
if isinstance(step, LogMergeStep)]:
802 msgcount.skip_logs.append(logmerge.merged_name)
803 check_steps.append(msgcount)
807 if log_to_check
is not None:
808 tail.log_file = log_to_check
809 check_steps.append(tail)
812 check_steps.append(RootCompStep())
813 check_steps.append(ChainDumpStep())
814 check_steps.append(HistCountStep())
817 check_steps.append(ZeroCountsStep())
820 check_steps.append(TrigTestJsonStep())
823 check_steps.append(CheckFileStep())
826 if log_to_zip
is not None:
828 zip_step.zip_input = log_to_zip
829 zip_step.zip_output = log_to_zip+
'.tar.gz'
830 check_steps.append(zip_step)