Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-24 02:59:05

0001 #!/bin/bash
0002 SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
0003 
0004 function diebu {  echo Failure $1: status $2 ; echo "" ; echo "----- Error -----"; echo ""; cat out_2_bu.log;  rm -rf $3/{ramdisk,data,dqmdisk,*.py}; exit $2 ; }
0005 function diefu {  echo Failure $1: status $2 ; echo "" ; echo "----- Error -----"; echo ""; cat out_2_fu.log;  rm -rf $3/{ramdisk,data,dqmdisk,*.py}; exit $2 ; }
0006 function diedqm { echo Failure $1: status $2 ; echo "" ; echo "----- Error -----"; echo ""; cat out_2_dqm.log; rm -rf $3/{ramdisk,data,dqmdisk,*.py}; exit $2 ; }
0007 
0008 FUSCRIPT="unittest_FU.py"
0009 if [ ! -z $1 ]; then
0010   if [ "$1" == "local" ]; then
0011     FUSCRIPT="startFU.py"
0012     echo "local run: using ${FUSCRIPT}"
0013   fi
0014 fi
0015 
0016 if [ -z  ${SCRAM_TEST_PATH} ]; then
0017 SCRAM_TEST_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
0018 fi
0019 echo "SCRAM_TEST_PATH = ${SCRAM_TEST_PATH}"
0020 
0021 RC=0
0022 P=$$
0023 PREFIX=results_${USER}${P}
0024 OUTDIR=${PWD}/${PREFIX}
0025 
0026 echo "OUT_TMP_DIR = $OUTDIR"
0027 
0028 mkdir ${OUTDIR}
0029 cp ${SCRIPTDIR}/startBU.py ${OUTDIR}
0030 cp ${SCRIPTDIR}/startFU.py ${OUTDIR}
0031 cp ${SCRIPTDIR}/unittest_FU.py ${OUTDIR}
0032 cp ${SCRIPTDIR}/unittest_FU_daqsource.py ${OUTDIR}
0033 cp ${SCRIPTDIR}/test_dqmstream.py ${OUTDIR}
0034 cd ${OUTDIR}
0035 
0036 rm -rf $OUTDIR/{ramdisk,data,dqmdisk,*.log}
0037 
0038 runnumber="100101"
0039 echo "Running test with FRD file header v1 (no index JSONs)"
0040 CMDLINE_STARTBU="cmsRun startBU.py runNumber=${runnumber} fffBaseDir=${OUTDIR} maxLS=2 fedMeanSize=128 eventsPerFile=20 eventsPerLS=35 frdFileVersion=1"
0041 #CMDLINE_STARTFU="cmsRun startFU.py runNumber=${runnumber} fffBaseDir=${OUTDIR}"
0042 CMDLINE_STARTFU="cmsRun ${FUSCRIPT} runNumber=${runnumber} fffBaseDir=${OUTDIR}"
0043 ${CMDLINE_STARTBU}  > out_2_bu.log 2>&1 || diebu "${CMDLINE_STARTBU}" $? $OUTDIR
0044 ${CMDLINE_STARTFU}  > out_2_fu.log 2>&1 || diefu "${CMDLINE_STARTFU}" $? $OUTDIR
0045 
0046 #prepare DQM files
0047 mkdir dqmdisk/run${runnumber} -p
0048 cat data/run${runnumber}/run${runnumber}_ls0000_streamDQM_pid*.ini > dqmdisk/run${runnumber}/run${runnumber}_ls0001_streamDQM_test.dat
0049 cat data/run${runnumber}/run${runnumber}_ls0001_streamDQM_pid*.dat >> dqmdisk/run${runnumber}/run${runnumber}_ls0001_streamDQM_test.dat
0050 find dqmdisk
0051 echo '{"data": [12950, 1620, 0, "run'${runnumber}'_ls0001_streamDQM_test.dat", 40823782, 1999348078, 135, 13150, 0, "Failsafe"]}' > dqmdisk/run${runnumber}/run${runnumber}_ls0001_streamDQM_test.jsn
0052 
0053 CMDLINE_STARTDQM="cmsRun test_dqmstream.py runInputDir=./dqmdisk runNumber=100101"
0054 ${CMDLINE_STARTDQM} > out_2_dqm.log 2>&1 || diedqm "${CMDLINE_STARTDQM}" $? $OUTDIR
0055 
0056 rm -rf $OUTDIR/{ramdisk,data,*.log}
0057 
0058 echo "Running test with FRD file header v2"
0059 CMDLINE_STARTBU="cmsRun startBU.py runNumber=${runnumber} fffBaseDir=${OUTDIR} maxLS=2 fedMeanSize=128 eventsPerFile=20 eventsPerLS=35 frdFileVersion=2"
0060 CMDLINE_STARTFU="cmsRun unittest_FU.py runNumber=${runnumber} fffBaseDir=${OUTDIR}"
0061 ${CMDLINE_STARTBU}  > out_2_bu.log 2>&1 || diebu "${CMDLINE_STARTBU}" $? $OUTDIR
0062 ${CMDLINE_STARTFU}  > out_2_fu.log 2>&1 || diefu "${CMDLINE_STARTFU}" $? $OUTDIR
0063 
0064 rm -rf $OUTDIR/{ramdisk,data,*.log}
0065 
0066 echo "running DAQSource test with full event FRD"
0067 CMDLINE_STARTBU="cmsRun startBU.py runNumber=${runnumber} fffBaseDir=${OUTDIR} maxLS=2 fedMeanSize=128 eventsPerFile=20 eventsPerLS=35 frdFileVersion=1"
0068 CMDLINE_STARTFU="cmsRun unittest_FU_daqsource.py daqSourceMode=FRD runNumber=${runnumber} fffBaseDir=${OUTDIR}"
0069 ${CMDLINE_STARTBU}  > out_2_bu.log 2>&1 || diebu "${CMDLINE_STARTBU}" $? $OUTDIR
0070 ${CMDLINE_STARTFU}  > out_2_fu.log 2>&1 || diefu "${CMDLINE_STARTFU}" $? $OUTDIR out_2_fu.log
0071 
0072 #no failures, clean up everything including logs if there are no errors
0073 rm -rf $OUTDIR/{ramdisk,data,*.log}
0074 
0075 echo "running DAQSource test with striped FRD"
0076 CMDLINE_STARTBU="cmsRun startBU.py runNumber=${runnumber} fffBaseDir=${OUTDIR} maxLS=2 fedMeanSize=128 eventsPerFile=20 eventsPerLS=35 frdFileVersion=2"
0077 CMDLINE_STARTFU="cmsRun unittest_FU_daqsource.py daqSourceMode=FRDStriped runNumber=${runnumber} fffBaseDir=${OUTDIR}"
0078 ${CMDLINE_STARTBU}  > out_2_bu.log 2>&1 || diebu "${CMDLINE_STARTBU}" $? $OUTDIR
0079 #duplicate files
0080 cp ramdisk/run${runnumber}/run${runnumber}_ls0001_index000000.raw ramdisk/run${runnumber}/run${runnumber}_ls0001_index000000.raw_1
0081 cp ramdisk/run${runnumber}/run${runnumber}_ls0001_index000001.raw ramdisk/run${runnumber}/run${runnumber}_ls0001_index000001.raw_1
0082 cp ramdisk/run${runnumber}/run${runnumber}_ls0002_index000000.raw ramdisk/run${runnumber}/run${runnumber}_ls0002_index000000.raw_1
0083 cp ramdisk/run${runnumber}/run${runnumber}_ls0002_index000001.raw ramdisk/run${runnumber}/run${runnumber}_ls0002_index000001.raw_1
0084 #run reader
0085 ${CMDLINE_STARTFU}  > out_2_fu.log 2>&1 || diefu "${CMDLINE_STARTFU}" $? $OUTDIR out_2_fu.log
0086 
0087 #no failures, clean up everything including logs if there are no errors
0088 echo "Completed sucessfully"
0089 #rm -rf $OUTDIR/{ramdisk,data,*.py,*.log}
0090 rm -rf $OUTDIR
0091 
0092 exit ${RC}