Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-07-16 22:52:17

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,ecalInDir,*.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,ecalInDir,*.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,ecalInDir,*.py}; exit $2 ; }
0007 function dieecal { echo Failure $1: status $2 ; echo "" ; echo "----- Error -----"; echo ""; cat out_2_ecal.log; rm -rf $3/{ramdisk,data,dqmdisk,ecalInDir,*.py}; exit $2 ; }
0008 
0009 FUSCRIPT="unittest_FU.py"
0010 if [ ! -z $1 ]; then
0011   if [ "$1" == "local" ]; then
0012     FUSCRIPT="startFU.py"
0013     echo "local run: using ${FUSCRIPT}"
0014   fi
0015 fi
0016 
0017 if [ -z  ${SCRAM_TEST_PATH} ]; then
0018 SCRAM_TEST_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
0019 fi
0020 echo "SCRAM_TEST_PATH = ${SCRAM_TEST_PATH}"
0021 
0022 RC=0
0023 P=$$
0024 PREFIX=results_${USER}${P}
0025 OUTDIR=${PWD}/${PREFIX}
0026 
0027 echo "OUT_TMP_DIR = $OUTDIR"
0028 
0029 mkdir ${OUTDIR}
0030 cp ${SCRIPTDIR}/startBU.py ${OUTDIR}
0031 cp ${SCRIPTDIR}/startFU.py ${OUTDIR}
0032 cp ${SCRIPTDIR}/unittest_FU.py ${OUTDIR}
0033 cp ${SCRIPTDIR}/unittest_FU_daqsource.py ${OUTDIR}
0034 cp ${SCRIPTDIR}/test_dqmstream.py ${OUTDIR}
0035 cp ${SCRIPTDIR}/testECALCalib_cfg.py ${OUTDIR}
0036 cd ${OUTDIR}
0037 
0038 rm -rf $OUTDIR/{ramdisk,data,dqmdisk,ecalInDir,*.log}
0039 
0040 runnumber="100101"
0041 echo "Running test with FRD file header v1 (no index JSONs)"
0042 CMDLINE_STARTBU="cmsRun startBU.py runNumber=${runnumber} fffBaseDir=${OUTDIR} maxLS=2 fedMeanSize=128 eventsPerFile=40 eventsPerLS=55 frdFileVersion=1"
0043 #CMDLINE_STARTFU="cmsRun startFU.py runNumber=${runnumber} fffBaseDir=${OUTDIR}"
0044 CMDLINE_STARTFU="cmsRun ${FUSCRIPT} runNumber=${runnumber} fffBaseDir=${OUTDIR}"
0045 mkdir dqmdisk/run${runnumber} -p
0046 ${CMDLINE_STARTBU}  > out_2_bu.log 2>&1 || diebu "${CMDLINE_STARTBU}" $? $OUTDIR
0047 ${CMDLINE_STARTFU}  > out_2_fu.log 2>&1 || diefu "${CMDLINE_STARTFU}" $? $OUTDIR
0048 
0049 #prepare DQM and ECAL Calibration files
0050 cat data/run${runnumber}/run${runnumber}_ls0000_streamDQM_pid*.ini > dqmdisk/run${runnumber}/run${runnumber}_ls0001_streamDQM_test.dat
0051 cat data/run${runnumber}/run${runnumber}_ls0001_streamDQM_pid*.dat >> dqmdisk/run${runnumber}/run${runnumber}_ls0001_streamDQM_test.dat
0052 
0053 rm -rf $OUTDIR/{data}
0054 ${CMDLINE_STARTFU}  > out_2_fu.log 2>&1 || diefu "${CMDLINE_STARTFU}" $? $OUTDIR
0055 
0056 #prepare DQM and ECAL Calibration files, merged from two processes, containing two metadata events
0057 cat data/run${runnumber}/run${runnumber}_ls0001_streamDQM_pid*.dat >> dqmdisk/run${runnumber}/run${runnumber}_ls0001_streamDQM_test.dat
0058 
0059 find dqmdisk
0060 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
0061 
0062 mkdir ecalInDir
0063 cp dqmdisk/run${runnumber}/run${runnumber}_ls0001_streamDQM_test.dat ecalInDir/
0064 
0065 echo "Running DQM source"
0066 CMDLINE_STARTDQM="cmsRun test_dqmstream.py runInputDir=./dqmdisk runNumber=100101 maxLS=1 eventsPerLS=35"
0067 ${CMDLINE_STARTDQM} > out_2_dqm.log 2>&1 || diedqm "${CMDLINE_STARTDQM}" $? $OUTDIR
0068 
0069 echo "Running ECAL Calibration source"
0070 CMDLINE_STARTECAL="cmsRun testECALCalib_cfg.py"
0071 ${CMDLINE_STARTECAL} > out_2_ecal.log 2>&1 || dieecal "${CMDLINE_STARTECAL}" $? $OUTDIR
0072 
0073 
0074 rm -rf $OUTDIR/{ramdisk,data,dqmdisk,ecalInDir,*.log}
0075 
0076 ###################
0077 echo "Running test with FRD file header v1 (no index JSONs) and empty files"
0078 CMDLINE_STARTBU="cmsRun startBU.py runNumber=${runnumber} fffBaseDir=${OUTDIR} maxLS=2 fedMeanSize=128 eventsPerFile=20 eventsPerLS=35 frdFileVersion=1"
0079 #CMDLINE_STARTFU="cmsRun startFU.py runNumber=${runnumber} fffBaseDir=${OUTDIR}"
0080 CMDLINE_STARTFU="cmsRun ${FUSCRIPT} runNumber=${runnumber} fffBaseDir=${OUTDIR} numEventsToWrite=0"
0081 ${CMDLINE_STARTBU}  > out_2_bu.log 2>&1 || diebu "${CMDLINE_STARTBU}" $? $OUTDIR
0082 ${CMDLINE_STARTFU}  > out_2_fu.log 2>&1 || diefu "${CMDLINE_STARTFU}" $? $OUTDIR
0083 
0084 #prepare DQM files
0085 mkdir dqmdisk/run${runnumber} -p
0086 cat data/run${runnumber}/run${runnumber}_ls0000_streamDQM_pid*.ini > dqmdisk/run${runnumber}/run${runnumber}_ls0001_streamDQM_test.dat
0087 cat data/run${runnumber}/run${runnumber}_ls0001_streamDQM_pid*.dat >> dqmdisk/run${runnumber}/run${runnumber}_ls0001_streamDQM_test.dat
0088 find dqmdisk
0089 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
0090 
0091 echo "Running DQM source"
0092 CMDLINE_STARTDQM="cmsRun test_dqmstream.py runInputDir=./dqmdisk runNumber=100101 maxLS=1 eventsPerLS=0"
0093 ${CMDLINE_STARTDQM} > out_2_dqm.log 2>&1 || diedqm "${CMDLINE_STARTDQM}" $? $OUTDIR
0094 
0095 rm -rf $OUTDIR/{ramdisk,data,dqmdisk,*.log}
0096 
0097 ################
0098 echo "Running test with FRD file header v2"
0099 CMDLINE_STARTBU="cmsRun startBU.py runNumber=${runnumber} fffBaseDir=${OUTDIR} maxLS=2 fedMeanSize=128 eventsPerFile=20 eventsPerLS=35 frdFileVersion=2"
0100 CMDLINE_STARTFU="cmsRun unittest_FU.py runNumber=${runnumber} fffBaseDir=${OUTDIR}"
0101 ${CMDLINE_STARTBU}  > out_2_bu.log 2>&1 || diebu "${CMDLINE_STARTBU}" $? $OUTDIR
0102 ${CMDLINE_STARTFU}  > out_2_fu.log 2>&1 || diefu "${CMDLINE_STARTFU}" $? $OUTDIR
0103 
0104 rm -rf $OUTDIR/{ramdisk,data,*.log}
0105 
0106 echo "running DAQSource test with full event FRD"
0107 CMDLINE_STARTBU="cmsRun startBU.py runNumber=${runnumber} fffBaseDir=${OUTDIR} maxLS=2 fedMeanSize=128 eventsPerFile=20 eventsPerLS=35 frdFileVersion=1"
0108 CMDLINE_STARTFU="cmsRun unittest_FU_daqsource.py daqSourceMode=FRD runNumber=${runnumber} fffBaseDir=${OUTDIR}"
0109 ${CMDLINE_STARTBU}  > out_2_bu.log 2>&1 || diebu "${CMDLINE_STARTBU}" $? $OUTDIR
0110 ${CMDLINE_STARTFU}  > out_2_fu.log 2>&1 || diefu "${CMDLINE_STARTFU}" $? $OUTDIR out_2_fu.log
0111 
0112 #no failures, clean up everything including logs if there are no errors
0113 rm -rf $OUTDIR/{ramdisk,data,*.log}
0114 
0115 echo "running DAQSource test with striped FRD"
0116 CMDLINE_STARTBU="cmsRun startBU.py runNumber=${runnumber} fffBaseDir=${OUTDIR} maxLS=2 fedMeanSize=128 eventsPerFile=20 eventsPerLS=35 frdFileVersion=2"
0117 CMDLINE_STARTFU="cmsRun unittest_FU_daqsource.py daqSourceMode=FRDStriped runNumber=${runnumber} fffBaseDir=${OUTDIR}"
0118 ${CMDLINE_STARTBU}  > out_2_bu.log 2>&1 || diebu "${CMDLINE_STARTBU}" $? $OUTDIR
0119 #duplicate files
0120 cp ramdisk/run${runnumber}/run${runnumber}_ls0001_index000000.raw ramdisk/run${runnumber}/run${runnumber}_ls0001_index000000.raw_1
0121 cp ramdisk/run${runnumber}/run${runnumber}_ls0001_index000001.raw ramdisk/run${runnumber}/run${runnumber}_ls0001_index000001.raw_1
0122 cp ramdisk/run${runnumber}/run${runnumber}_ls0002_index000000.raw ramdisk/run${runnumber}/run${runnumber}_ls0002_index000000.raw_1
0123 cp ramdisk/run${runnumber}/run${runnumber}_ls0002_index000001.raw ramdisk/run${runnumber}/run${runnumber}_ls0002_index000001.raw_1
0124 #run reader
0125 ${CMDLINE_STARTFU}  > out_2_fu.log 2>&1 || diefu "${CMDLINE_STARTFU}" $? $OUTDIR out_2_fu.log
0126 
0127 #no failures, clean up everything including logs if there are no errors
0128 echo "Completed sucessfully"
0129 #rm -rf $OUTDIR/{ramdisk,data,*.py,*.log}
0130 rm -rf $OUTDIR
0131 
0132 exit ${RC}