From 69596df6850cd8478242288a9dec3f88b777cb56 Mon Sep 17 00:00:00 2001 From: Matti Kortelainen Date: Thu, 23 Apr 2020 16:05:45 +0200 Subject: [PATCH] Include EDAlias and SwitchProducer in the tests --- .../Framework/test/test_module_delete_cfg.py | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/FWCore/Framework/test/test_module_delete_cfg.py b/FWCore/Framework/test/test_module_delete_cfg.py index 652be3b701a12..791905d5e7dcf 100644 --- a/FWCore/Framework/test/test_module_delete_cfg.py +++ b/FWCore/Framework/test/test_module_delete_cfg.py @@ -15,6 +15,8 @@ # - event/lumi/run product with the same module label and instance name but with skipCurrentProcess, module deleted # - DAG of event/lumi/run producers that are not consumed by an always-running module, whole DAG deleted # - DAG of event(/lumi/run) producers that are partly consumed (kept) and partly non-consumed (delete) +# - EDAlias with one instance consumed (original producer kept) and another non-consumed (original producer deleted) +# - SwitchProducer non-chosen case deleted intEventProducer = cms.EDProducer("IntProducer", ivalue = cms.int32(1)) intNonEventProducer = cms.EDProducer("NonEventIntProducer", ivalue = cms.int32(1)) @@ -83,6 +85,42 @@ def nonEventConsumer(transition, sourcePattern, expected): srcEvent = cms.untracked.VInputTag("producerEventPartiallyConsumedChain2", "producerEventPartiallyConsumedChain4") ) +process.producerEventAliasNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteProducer") +process.producerEventAliasConsumed = intEventProducerMustRun.clone() +process.producerEventAlias = cms.EDAlias( + producerEventAliasNotConsumed = cms.VPSet( + cms.PSet( + type = cms.string("edmtestIntProduct"), + fromProductInstance = cms.string(""), + toProductInstance = cms.string("notConsumed"), + ) + ), + producerEventAliasConsumed = cms.VPSet( + cms.PSet( + type = cms.string("edmtestIntProduct"), + fromProductInstance = cms.string(""), + toProductInstance = cms.string("consumed"), + ) + ) +) +process.consumerEventAlias = cms.EDAnalyzer("edmtest::GenericIntsAnalyzer", + srcEvent = cms.untracked.VInputTag("producerEventAlias:consumed") +) + +class SwitchProducerTest(cms.SwitchProducer): + def __init__(self, **kargs): + super(SwitchProducerTest,self).__init__( + dict( + test1 = lambda: (True, -10), + test2 = lambda: (True, -9) + ), **kargs) +process.producerEventSwitchProducerNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteProducer") +process.producerEventSwitchProducerConsumed = intEventProducerMustRun.clone() +process.producerEventSwitchProducer = SwitchProducerTest( + test1 = cms.EDProducer("AddIntsProducer", labels = cms.vstring("producerEventSwitchProducerNotConsumed")), + test2 = cms.EDProducer("AddIntsProducer", labels = cms.vstring("producerEventSwitchProducerConsumed")), +) + process.consumerNotExist = cms.EDAnalyzer("edmtest::GenericIntsAnalyzer", inputShouldBeMissing = cms.untracked.bool(True), srcBeginRun = cms.untracked.VInputTag( @@ -124,6 +162,12 @@ def nonEventConsumer(transition, sourcePattern, expected): process.producerEventPartiallyConsumedChain1, process.producerEventPartiallyConsumedChain3, process.producerEventPartiallyConsumedChain4, + # + process.producerEventAliasNotConsumed, + process.producerEventAliasConsumed, + # + process.producerEventSwitchProducerNotConsumed, + process.producerEventSwitchProducerConsumed, ) process.p = cms.Path( @@ -139,6 +183,10 @@ def nonEventConsumer(transition, sourcePattern, expected): # process.producerEventPartiallyConsumedChain2+ # + process.consumerEventAlias+ + # + process.producerEventSwitchProducer+ + # process.intAnalyzerDelete , process.t