Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:47:27

0001 #!/bin/bash
0002 
0003 test=testSwitchProducer
0004 
0005 function die { echo Failure $1: status $2 ; exit $2 ; }
0006 
0007 # Running on multiple threads and streams to test any behavior that
0008 # occurs when there are many of them
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