File indexing completed on 2023-10-25 09:47:27
0001
0002
0003 test=testSwitchProducer
0004
0005 function die { echo Failure $1: status $2 ; exit $2 ; }
0006
0007
0008
0009 NUMTHREADS=4
0010 LOCAL_TEST_DIR=${SCRAM_TEST_PATH}
0011
0012 echo "*************************************************"
0013 echo "SwitchProducer in a Task"
0014 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}Task_cfg.py || die "cmsRun ${test}Task_cfg.py" $?
0015
0016 echo "*************************************************"
0017 echo "SwitchProducer in a Task, case test2 disabled"
0018 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}Task_cfg.py --disableTest2 || die "cmsRun ${test}Task_cfg.py --disableTest2" $?
0019
0020 echo "*************************************************"
0021 echo "SwitchProducer in a Task, SwitchProducers have same labels as products in input file"
0022 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}Task_cfg.py --input|| die "cmsRun ${test}Task_cfg.py --input" $?
0023
0024 echo "*************************************************"
0025 echo "SwitchProducer in a Task, SwitchProducers have same labels as products in input file, case test2 disabled"
0026 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}Task_cfg.py --input --disableTest2 || die "cmsRun ${test}TaskInput_cfg.py --input --disableTest2" $?
0027
0028 echo "*************************************************"
0029 echo "Merge outputs (Task)"
0030 cmsRun ${LOCAL_TEST_DIR}/${test}Merge_cfg.py outputFile=testSwitchProducerTaskMerge1.root inputFiles=file:testSwitchProducerTask1.root inputFiles=file:testSwitchProducerTask2.root || die "Merge Task1: order 1 2" $?
0031 echo "*************************************************"
0032 echo "Merge outputs in reverse order (Task)"
0033 cmsRun ${LOCAL_TEST_DIR}/${test}Merge_cfg.py outputFile=testSwitchProducerTaskMerge2.root inputFiles=file:testSwitchProducerTask2.root inputFiles=file:testSwitchProducerTask1.root || die "Merge Task2: order 2 1" $?
0034
0035 echo "*************************************************"
0036 echo "Test provenance of merged output (Task)"
0037 cmsRun ${LOCAL_TEST_DIR}/${test}ProvenanceAnalyzer_cfg.py testSwitchProducerTaskMerge1.root || die "cmsRun ${test}ProvenanceAnalyzer_cfg.py Task1" $?
0038 echo "*************************************************"
0039 echo "Test provenance of reversely merged output (Task)"
0040 cmsRun ${LOCAL_TEST_DIR}/${test}ProvenanceAnalyzer_cfg.py testSwitchProducerTaskMerge2.root || die "cmsRun ${test}ProvenanceAnalyzer_cfg.py Task2" $?
0041
0042
0043 echo "*************************************************"
0044 echo "SwitchProducer in a ConditionalTask"
0045 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}Task_cfg.py --conditionalTask || die "cmsRun ${test}Task_cfg.py --conditionalTask" $?
0046
0047 echo "*************************************************"
0048 echo "SwitchProducer in a ConditionalTask, case test2 disabled"
0049 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}Task_cfg.py --conditionalTask --disableTest2 || die "cmsRun ${test}Task_cfg.py --conditionalTask --disableTest2" $?
0050
0051 echo "*************************************************"
0052 echo "Merge outputs (ConditionalTask)"
0053 cmsRun ${LOCAL_TEST_DIR}/${test}Merge_cfg.py outputFile=testSwitchProducerConditionalTaskMerge1.root inputFiles=file:testSwitchProducerConditionalTask1.root inputFiles=file:testSwitchProducerConditionalTask2.root || die "Merge ConditionalTask1: order 1 2" $?
0054 echo "*************************************************"
0055 echo "Merge outputs in reverse order (ConditionalTask)"
0056 cmsRun ${LOCAL_TEST_DIR}/${test}Merge_cfg.py outputFile=testSwitchProducerConditionalTaskMerge2.root inputFiles=file:testSwitchProducerConditionalTask2.root inputFiles=file:testSwitchProducerConditionalTask1.root || die "Merge ConditionalTask2: order 2 1" $?
0057
0058 echo "*************************************************"
0059 echo "Test provenance of merged output (ConditionalTask)"
0060 cmsRun ${LOCAL_TEST_DIR}/${test}ProvenanceAnalyzer_cfg.py testSwitchProducerConditionalTaskMerge1.root || die "cmsRun ${test}ProvenanceAnalyzer_cfg.py ConditionalTask1" $?
0061 echo "*************************************************"
0062 echo "Test provenance of reversely merged output (ConditionalTask)"
0063 cmsRun ${LOCAL_TEST_DIR}/${test}ProvenanceAnalyzer_cfg.py testSwitchProducerConditionalTaskMerge2.root || die "cmsRun ${test}ProvenanceAnalyzer_cfg.py ConditionalTask2" $?
0064
0065 echo "*************************************************"
0066 echo "SwitchProducer in a ConditionalTask, more extensive EDAlias tests"
0067 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}ConditionalTaskEDAlias_cfg.py || die "cmsRun ${test}ConditionalTaskEDAlias_cfg.py 1" $?
0068
0069 echo "*************************************************"
0070 echo "SwitchProducer in a ConditionalTask, more extensive EDAlias tests, case test2 disabled"
0071 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}ConditionalTaskEDAlias_cfg.py disableTest2 || die "cmsRun ${test}ConditionalTaskEDAlias_cfg.py 2" $?
0072
0073 echo "*************************************************"
0074 echo "SwitchProducer in a ConditionalTask, test EDAlias with all cases being explicitly consumed"
0075 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}ConditionalTaskEDAliasConsumeAllCases_cfg.py || die "cmsRun ${test}ConditionalTaskEDAliasConsumeAllCases_cfg.py 1" $?
0076
0077 echo "*************************************************"
0078 echo "SwitchProducer in a ConditionalTask, test EDAlias with all cases being explicitly consumed, case test2 disabled"
0079 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}ConditionalTaskEDAliasConsumeAllCases_cfg.py disableTest2 || die "cmsRun ${test}ConditionalTaskEDAliasConsumeAllCases_cfg.py 2" $?
0080
0081 echo "*************************************************"
0082 echo "SwitchProducer in a ConditionalTask, test EDAlias with a wildcard"
0083 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}ConditionalTaskEDAliasWildcard_cfg.py || die "cmsRun ${test}ConditionalTaskEDAliasWildcard_cfg.py" $?
0084
0085 echo "*************************************************"
0086 echo "SwitchProducer in a ConditionalTask, test EDAlias with a wildcard pattern, other module having the wildcard"
0087 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}ConditionalTaskEDAliasWildcard_cfg.py --wildcardOnOtherModule || die "cmsRun ${test}ConditionalTaskEDAliasWildcard_cfg.py --wildcardOnOtherModule" $?
0088
0089 echo "*************************************************"
0090 echo "SwitchProducer in a ConditionalTask, test EDAlias with an a wildcard, case test2 disabled"
0091 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}ConditionalTaskEDAliasWildcard_cfg.py --disableTest2 || die "cmsRun ${test}ConditionalTaskEDAliasWildcard_cfg.py --disableTest2" $?
0092
0093
0094
0095 echo "*************************************************"
0096 echo "SwitchProducer in a Path"
0097 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}Path_cfg.py || die "cmsRun ${test}Path_cfg.py 1" $?
0098
0099 echo "*************************************************"
0100 echo "SwitchProducer in a Path, case test2 disabled"
0101 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}Path_cfg.py disableTest2 || die "cmsRun ${test}Path_cfg.py 2" $?
0102
0103 echo "*************************************************"
0104 echo "Merge outputs (Path)"
0105 cmsRun ${LOCAL_TEST_DIR}/${test}Merge_cfg.py outputFile=testSwitchProducerPathMerge1.root inputFiles=file:testSwitchProducerPath1.root inputFiles=file:testSwitchProducerPath2.root || die "Merge Path1: order 1 2" $?
0106 echo "*************************************************"
0107 echo "Merge outputs in reverse order (Path)"
0108 cmsRun ${LOCAL_TEST_DIR}/${test}Merge_cfg.py outputFile=testSwitchProducerPathMerge2.root inputFiles=file:testSwitchProducerPath2.root inputFiles=file:testSwitchProducerPath1.root || die "Merge Path2: order 2 1" $?
0109
0110 echo "*************************************************"
0111 echo "Test provenance of merged output (Path)"
0112 cmsRun ${LOCAL_TEST_DIR}/${test}ProvenanceAnalyzer_cfg.py testSwitchProducerPathMerge1.root || die "cmsRun ${test}ProvenanceAnalyzer_cfg.py Path1" $?
0113 echo "*************************************************"
0114 echo "Test provenance of reversely merged output (Path)"
0115 cmsRun ${LOCAL_TEST_DIR}/${test}ProvenanceAnalyzer_cfg.py testSwitchProducerPathMerge2.root || die "cmsRun ${test}ProvenanceAnalyzer_cfg.py Path2" $?
0116
0117
0118 echo "*************************************************"
0119 echo "SwitchProducer in a Path after a failing filter"
0120 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}PathFilter_cfg.py || die "cmsRun ${test}PathFilter_cfg.py 1" $?
0121
0122 echo "*************************************************"
0123 echo "SwitchProducer in a Path after a failing filter, case test2 disabled"
0124 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}PathFilter_cfg.py disableTest2 || die "cmsRun ${test}PathFilter_cfg.py 2" $?
0125
0126
0127 echo "*************************************************"
0128 echo "Keeping SwitchProducer-with-EDAlias and the aliased-for product should fail"
0129 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}AliasOutput_cfg.py && die "cmsRun ${test}AliasOutput_cfg.py did not throw an exception" 1
0130
0131 echo "*************************************************"
0132 echo "Alias to non-existent product should fail only when a corresponding product is accessed"
0133 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}AliasToNonExistent_cfg.py || die "cmsRun ${test}AliasToNonExistent_cfg.py" $?
0134 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}AliasToNonExistent_cfg.py includeFilter && die "cmsRun ${test}AliasToNonExistent_cfg.py includeFilter did not throw an exception" 1
0135
0136 echo "*************************************************"
0137 echo "SwitchProducer-with-EDAlias being before the aliased-for producer in a Path should fail"
0138 cmsRun -n ${NUMTHREADS} ${LOCAL_TEST_DIR}/${test}PathWrongOrder_cfg.py && die "cmsRun ${test}PathWrongOrder_cfg.py did not throw an exception" 1
0139
0140 echo "SwitchProducer tests succeeded"
0141 echo "*************************************************"
0142
0143 exit 0