# this test. process.rejectingFilter = cms.EDFilter("TestFilterModule", acceptValue = cms.untracked.int32(-1) ) process.allCaseGenericConsumer = cms.EDAnalyzer("GenericConsumer", eventProducts = cms.untracked.vstring( "intProducerAlias@test1", "intProducerAlias@test2" )) process.test1Consumer = cms.EDAnalyzer("edmtest::GenericIntsAnalyzer", srcEvent = cms.untracked.VInputTag("intProducerAlias@test1")) process.test2Consumer = cms.EDAnalyzer("edmtest::GenericIntsAnalyzer", srcEvent = cms.untracked.VInputTag("intProducerAlias@test2")) if enableTest2: process.test1Consumer.inputShouldBeMissing = cms.untracked.bool(True) process.test2Consumer.inputShouldExist = cms.untracked.bool(True) else: process.test1Consumer.inputShouldExist = cms.untracked.bool(True) process.test2Consumer.inputShouldBeMissing = cms.untracked.bool(True) process.ct = cms.ConditionalTask(process.intProducerAlias, process.intProducer1, process.intProducer2) # This path causes the chosen case of intProducerAlias to run process.p1 = cms.Path(process.intProducerAliasConsumer, process.ct) # This path makes the ConditionalTask system to think that all cases # of intProducerAlias would be run, but they are not run as part of # this Path because their consumer is behind an EDFilter that rejects # all events process.p2 = cms.Path(process.rejectingFilter + process.allCaseGenericConsumer, process.ct) # This path tests that only the chosen case of intProducerAlias was run process.p3 = cms.Path(process.test1Consumer + process.test2Consumer)
test1=cms.EDProducer("AddIntsProducer", labels=cms.VInputTag("intProducerDep", "intProducerAlias")), test2=cms.EDAlias(intProducer3=cms.VPSet( cms.PSet(type=cms.string("*"), fromProductInstance=cms.string(""), toProductInstance=cms.string(""))), intProducer4=cms.VPSet( cms.PSet(type=cms.string("*"), fromProductInstance=cms.string(""), toProductInstance=cms.string("other"))))) process.intProducerDepAliasDep = cms.EDProducer("AddIntsProducer", labels=cms.VInputTag( "intProducer3", "intProducer4")) if not enableTest2: process.intProducerDepAliasDep.labels = ["intProducerAlias"] process.ct = cms.ConditionalTask(process.intProducer1, process.intProducer2, process.intProducer3, process.intProducer4) process.p = cms.Path( process.intProducerAlias + process.intProducerDep + process.intProducerDepAlias + process.intProducerDepAliasDep, process.ct) process.ct2 = cms.ConditionalTask(process.intProducerAlias, process.intProducerDep, process.intProducerDepAlias, process.ct) process.p2 = cms.Path(process.intProducerDepAliasDep, process.ct2) process.ep = cms.EndPath(process.out)
process.intProducerAlias2 = SwitchProducerTest( test1=cms.EDProducer("AddIntsProducer", labels=cms.VInputTag("intProducer1")), test2=cms.EDAlias(intProducer4=cms.VPSet( cms.PSet(type=cms.string("edmtestIntProduct"), fromProductInstance=cms.string(""), toProductInstance=cms.string(""))), intProducer3=cms.VPSet( cms.PSet(type=cms.string("edmtestIntProduct"), fromProductInstance=cms.string("foo"), toProductInstance=cms.string("other"))))) # Test multiple consumers of a SwitchProducer process.intProducerDep1 = cms.EDProducer("AddIntsProducer", labels=cms.VInputTag("intProducer")) process.intProducerDep2 = cms.EDProducer("AddIntsProducer", labels=cms.VInputTag("intProducer")) process.intProducerDep3 = cms.EDProducer("AddIntsProducer", labels=cms.VInputTag("intProducer")) process.ct = cms.ConditionalTask(process.intProducer, process.intProducerOther, process.intProducerAlias, process.intProducerAlias2, process.intProducer1, process.intProducer2, process.intProducer3, process.intProducer4) process.p = cms.Path( process.intProducerDep1 + process.intProducerDep2 + process.intProducerDep3, process.ct) process.e = cms.EndPath(process.out)
producttype = "edmtestSimplesOwned" else: process.f = cms.EDProducer("IntProducer", ivalue=cms.int32(3)) process.f3 = cms.EDFilter("IntProductFilter", label=cms.InputTag("f")) producttype = "edmtestIntProduct" if args.testAlias: if args.aliasWithStar: producttype = "*" process.f3.label = "aliasToF" process.aliasToF = cms.EDAlias( f=cms.VPSet(cms.PSet(type=cms.string(producttype), ))) process.p = cms.Path( process.f1 + process.prodOnPath + process.f2 + process.f3, cms.ConditionalTask(process.a, process.b, process.c, process.d, process.e, process.f)) process.tst = cms.EDAnalyzer( "IntTestAnalyzer", moduleLabel=cms.untracked.InputTag("f"), valueMustMatch=cms.untracked.int32(3), valueMustBeMissing=cms.untracked.bool(not args.filterSucceeds and not args.testConsumesMany)) process.endp = cms.EndPath(process.tst) #process.add_(cms.Service("Tracer")) #process.options.wantSummary=True