Skip to content

Commit b4c347a

Browse files
authored
Merge pull request #45465 from smorovic/14_1_X-ecalsource-unit-test
(DAQ) Add WatcherSource (ECAL) to DAQ output file unit tests
2 parents 702ffcd + 7ab5d32 commit b4c347a

File tree

2 files changed

+48
-9
lines changed

2 files changed

+48
-9
lines changed

EventFilter/Utilities/test/RunBUFU.sh

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
#!/bin/bash
22
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
33

4-
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 ; }
5-
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 ; }
6-
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 ; }
4+
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 ; }
5+
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 ; }
6+
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 ; }
7+
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 ; }
78

89
FUSCRIPT="unittest_FU.py"
910
if [ ! -z $1 ]; then
@@ -31,29 +32,46 @@ cp ${SCRIPTDIR}/startFU.py ${OUTDIR}
3132
cp ${SCRIPTDIR}/unittest_FU.py ${OUTDIR}
3233
cp ${SCRIPTDIR}/unittest_FU_daqsource.py ${OUTDIR}
3334
cp ${SCRIPTDIR}/test_dqmstream.py ${OUTDIR}
35+
cp ${SCRIPTDIR}/testECALCalib_cfg.py ${OUTDIR}
3436
cd ${OUTDIR}
3537

36-
rm -rf $OUTDIR/{ramdisk,data,dqmdisk,*.log}
38+
rm -rf $OUTDIR/{ramdisk,data,dqmdisk,ecalInDir,*.log}
3739

3840
runnumber="100101"
3941
echo "Running test with FRD file header v1 (no index JSONs)"
40-
CMDLINE_STARTBU="cmsRun startBU.py runNumber=${runnumber} fffBaseDir=${OUTDIR} maxLS=2 fedMeanSize=128 eventsPerFile=20 eventsPerLS=35 frdFileVersion=1"
42+
CMDLINE_STARTBU="cmsRun startBU.py runNumber=${runnumber} fffBaseDir=${OUTDIR} maxLS=2 fedMeanSize=128 eventsPerFile=40 eventsPerLS=55 frdFileVersion=1"
4143
#CMDLINE_STARTFU="cmsRun startFU.py runNumber=${runnumber} fffBaseDir=${OUTDIR}"
4244
CMDLINE_STARTFU="cmsRun ${FUSCRIPT} runNumber=${runnumber} fffBaseDir=${OUTDIR}"
45+
mkdir dqmdisk/run${runnumber} -p
4346
${CMDLINE_STARTBU} > out_2_bu.log 2>&1 || diebu "${CMDLINE_STARTBU}" $? $OUTDIR
4447
${CMDLINE_STARTFU} > out_2_fu.log 2>&1 || diefu "${CMDLINE_STARTFU}" $? $OUTDIR
4548

46-
#prepare DQM files
47-
mkdir dqmdisk/run${runnumber} -p
49+
#prepare DQM and ECAL Calibration files
4850
cat data/run${runnumber}/run${runnumber}_ls0000_streamDQM_pid*.ini > dqmdisk/run${runnumber}/run${runnumber}_ls0001_streamDQM_test.dat
4951
cat data/run${runnumber}/run${runnumber}_ls0001_streamDQM_pid*.dat >> dqmdisk/run${runnumber}/run${runnumber}_ls0001_streamDQM_test.dat
52+
53+
rm -rf $OUTDIR/{data}
54+
${CMDLINE_STARTFU} > out_2_fu.log 2>&1 || diefu "${CMDLINE_STARTFU}" $? $OUTDIR
55+
56+
#prepare DQM and ECAL Calibration files, merged from two processes, containing two metadata events
57+
cat data/run${runnumber}/run${runnumber}_ls0001_streamDQM_pid*.dat >> dqmdisk/run${runnumber}/run${runnumber}_ls0001_streamDQM_test.dat
58+
5059
find dqmdisk
5160
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
5261

62+
mkdir ecalInDir
63+
cp dqmdisk/run${runnumber}/run${runnumber}_ls0001_streamDQM_test.dat ecalInDir/
64+
65+
echo "Running DQM source"
5366
CMDLINE_STARTDQM="cmsRun test_dqmstream.py runInputDir=./dqmdisk runNumber=100101 maxLS=1 eventsPerLS=35"
5467
${CMDLINE_STARTDQM} > out_2_dqm.log 2>&1 || diedqm "${CMDLINE_STARTDQM}" $? $OUTDIR
5568

56-
rm -rf $OUTDIR/{ramdisk,data,*.log}
69+
echo "Running ECAL Calibration source"
70+
CMDLINE_STARTECAL="cmsRun testECALCalib_cfg.py"
71+
${CMDLINE_STARTECAL} > out_2_ecal.log 2>&1 || dieecal "${CMDLINE_STARTECAL}" $? $OUTDIR
72+
73+
74+
rm -rf $OUTDIR/{ramdisk,data,dqmdisk,ecalInDir,*.log}
5775

5876
###################
5977
echo "Running test with FRD file header v1 (no index JSONs) and empty files"
@@ -70,10 +88,11 @@ cat data/run${runnumber}/run${runnumber}_ls0001_streamDQM_pid*.dat >> dqmdisk/ru
7088
find dqmdisk
7189
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
7290

91+
echo "Running DQM source"
7392
CMDLINE_STARTDQM="cmsRun test_dqmstream.py runInputDir=./dqmdisk runNumber=100101 maxLS=1 eventsPerLS=0"
7493
${CMDLINE_STARTDQM} > out_2_dqm.log 2>&1 || diedqm "${CMDLINE_STARTDQM}" $? $OUTDIR
7594

76-
rm -rf $OUTDIR/{ramdisk,data,*.log}
95+
rm -rf $OUTDIR/{ramdisk,data,dqmdisk,*.log}
7796

7897
################
7998
echo "Running test with FRD file header v2"
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
process = cms.Process("TRANSFER")
4+
5+
import FWCore.Framework.test.cmsExceptionsFatal_cff
6+
process.options = FWCore.Framework.test.cmsExceptionsFatal_cff.options
7+
8+
process.load("FWCore.MessageLogger.MessageLogger_cfi")
9+
10+
process.source = cms.Source("WatcherSource",
11+
inputDir = cms.string("."),
12+
filePatterns = cms.vstring("ecalInDir/.*\.dat"),
13+
inprocessDir = cms.string("process"),
14+
processedDir = cms.string("processed"),
15+
corruptedDir = cms.string("corrupt"),
16+
tokenFile = cms.untracked.string("watcherSourceToken"),
17+
timeOutInSec = cms.int32(10),
18+
verbosity = cms.untracked.int32(1)
19+
)
20+

0 commit comments

Comments
 (0)