714def default_check_steps(test, checkfile_input='AOD.pool.root,ESD.pool.root,RDO_TRIG.pool.root,DAOD_PHYS.DAOD.pool.root'):
715 '''
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).
719 '''
720
721 check_steps = []
722
723
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)
735 else:
736 logmerge = LogMergeStep()
737 logmerge.merged_name = 'athena.log'
738 logmerge.log_files = []
739 for exec_step in test.exec_steps:
740 if not produces_log(exec_step):
741 continue
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)
746 log_to_check = None
747 log_to_zip = None
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
751
752
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
757
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]
762 if not get_step_from_list('LogMerge', check_steps):
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)
772
773
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)
781
782
783 checklog = CheckLogStep('CheckLog')
784 if log_to_check is not None:
785 checklog.log_file = log_to_check
786 check_steps.append(checklog)
787
788
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)
795
796
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)
801
802
803 tail = TailStep()
804 if log_to_check is not None:
805 tail.log_file = log_to_check
806 check_steps.append(tail)
807
808
809 check_steps.append(RootCompStep())
810 check_steps.append(ChainDumpStep())
811 check_steps.append(HistCountStep())
812
813
814 check_steps.append(ZeroCountsStep())
815
816
817 check_steps.append(TrigTestJsonStep())
818
819
820 check_steps.append(CheckFileStep(input_file=checkfile_input))
821
822
823 if log_to_zip is not None:
824 zip_step = ZipStep()
825 zip_step.zip_input = log_to_zip
826 zip_step.zip_output = log_to_zip+'.tar.gz'
827 check_steps.append(zip_step)
828
829
830 return check_steps
831
832