Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-08-06 22:16:07

0001 #!/bin/bash
0002 
0003 function die { echo Failure $1: status $2 ; exit $2 ; }
0004 
0005 LOCAL_TEST_DIR=$SCRAM_TEST_PATH
0006 CHANGINGPARTS="(version|microarchitecture|CPU models):"
0007 
0008 # Need to mock the CMSSW VERSION in order to keep the process configuration ID the same
0009 VERSION="CMSSW_15_1_0"
0010 
0011 function run {
0012     CONFIG=$1
0013     shift
0014     cmsRun ${LOCAL_TEST_DIR}/${CONFIG} --version ${VERSION} $@ || die "cmsRun ${CONFIG} $@" $?
0015 }
0016 
0017 function compareProv {
0018     OPTIONS=$1
0019     FILE=$2
0020     LOG=$3
0021     edmProvDump $OPTIONS $FILE | grep -v -E "$CHANGINGPARTS" > $LOG || die "edmProvDump $OPTIONS $FILE" $?
0022     diff ${LOCAL_TEST_DIR}/unit_test_outputs/$LOG $LOG  || die "comparing $LOG" $?
0023 }
0024 
0025 ## Simple case
0026 run testEdmProvDump_cfg.py > testEdmProvDump.log
0027 compareProv "" testEdmProvDump.root provdump_simple_default.log
0028 compareProv --excludeESModules testEdmProvDump.root provdump_simple_excludeESModules.log
0029 compareProv --showAllModules testEdmProvDump.root provdump_simple_showAllModules.log
0030 compareProv --showTopLevelPSets testEdmProvDump.root provdump_simple_showTopLevelPSets.log
0031 
0032 
0033 ## Complex case
0034 # first processes 
0035 run testEdmProvDump_cfg.py --ivalue 10 --accelerators=test-one --output testEdmProvDump_2.root
0036 run testEdmProvDump_cfg.py --lumi 2 --output testEdmProvDump_3.root
0037 run testEdmProvDump_cfg.py --lumi 2 --ivalue 10 --accelerators=test-two --output testEdmProvDump_4.root
0038 
0039 # first level of merge
0040 run testEdmProvDumpMerge_cfg.py --file testEdmProvDump.root --file testEdmProvDump_2.root --output merged1.root
0041 run testEdmProvDumpMerge_cfg.py --ivalue 10 --file testEdmProvDump_3.root --file testEdmProvDump_4.root --output merged2.root
0042 
0043 compareProv "--showAllModules --showTopLevelPSets" merged1.root provdump_complex_merge.log
0044 
0045 
0046 # second level of merge
0047 run testEdmProvDumpMerge_cfg.py --process "INTERMEDIATE" --file merged1.root --file merged2.root --output merged_intermediate.root
0048 
0049 compareProv "--showAllModules --showTopLevelPSets" merged_intermediate.root provdump_complex_intermediate.log
0050 
0051 
0052 # then split
0053 run testEdmProvDumpSplit_cfg.py --process "SPLIT" --lumi 1 --file merged_intermediate.root --output split1.root
0054 run testEdmProvDumpSplit_cfg.py --process "SPLIT" --lumi 2 --ivalue 9 --file merged_intermediate.root --output split2.root
0055 
0056 compareProv "--showAllModules --showTopLevelPSets" split2.root provdump_complex_split.log
0057 
0058 
0059 # and merge again
0060 run testEdmProvDumpMerge_cfg.py --process "FINAL" --file split1.root --file split2.root --output merged_final.root
0061 
0062 compareProv "--showAllModules --showTopLevelPSets" merged_final.root provdump_complex_final.log
0063 
0064 exit 0