Skip to content

Commit b623924

Browse files
committed
Remove configuration support for SubProcess and its tests
This leaves SubProcess completely disabled so it can no longer be run. Subsequent PRs will remove other parts of the SubProcess related from the Framework C++ code. Everything except the support for module sharing in EventSetup will eventually be removed.
1 parent 5cd2f2d commit b623924

File tree

54 files changed

+104
-14606
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+104
-14606
lines changed

FWCore/Framework/src/SubProcess.cc

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -856,11 +856,16 @@ namespace edm {
856856

857857
// free function
858858
std::vector<ParameterSet> popSubProcessVParameterSet(ParameterSet& parameterSet) {
859-
std::vector<std::string> subProcesses =
860-
parameterSet.getUntrackedParameter<std::vector<std::string>>("@all_subprocesses");
861-
if (!subProcesses.empty()) {
862-
return parameterSet.popVParameterSet("subProcesses");
863-
}
859+
// We're going to delete everything related to SubProcesses soon, but as a first
860+
// step we are just deleting the part implementing the configuration support in
861+
// ParameterSet. Temporarily, we need to have this function return an empty vector
862+
// so everything continues to work on the C++ side.
863+
864+
//std::vector<std::string> subProcesses =
865+
// parameterSet.getUntrackedParameter<std::vector<std::string>>("@all_subprocesses");
866+
//if (!subProcesses.empty()) {
867+
// return parameterSet.popVParameterSet("subProcesses");
868+
//}
864869
return {};
865870
}
866871
} // namespace edm

FWCore/Framework/test/run_module_delete_tests.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ TEST_DIR=$CMSSW_BASE/src/FWCore/Framework/test
77

88
cmsRun $TEST_DIR/test_module_delete_cfg.py || die "module deletion test failed" $?
99
echo "module deletion test succeeded"
10-
cmsRun $TEST_DIR/test_module_delete_subprocess_cfg.py || die "module deletion test with subprocess failed" $?
11-
echo "module deletion test with subprocess succeeded"
1210
cmsRun $TEST_DIR/test_module_delete_improperDependencies_cfg.py && die "module deletion with improper module ordering test failed" 1
1311
echo "module deletion test with improper module ordering succeeded"
1412
cmsRun $TEST_DIR/test_module_delete_looper_cfg.py || die "module deletetion test with looper failed" $?

FWCore/Framework/test/stubs/ToyAnalyzers.cc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,6 @@ namespace edmtest {
236236
const bool shouldBeMissing_;
237237
};
238238
using GenericIntsAnalyzer = GenericAnalyzerT<IntProduct>;
239-
using GenericUInt64Analyzer = GenericAnalyzerT<UInt64Product>;
240239

241240
//--------------------------------------------------------------------
242241
//
@@ -465,7 +464,6 @@ DEFINE_FWK_MODULE(NonAnalyzer);
465464
DEFINE_FWK_MODULE(IntTestAnalyzer);
466465
DEFINE_FWK_MODULE(MultipleIntsAnalyzer);
467466
DEFINE_FWK_MODULE(edmtest::GenericIntsAnalyzer);
468-
DEFINE_FWK_MODULE(edmtest::GenericUInt64Analyzer);
469467
DEFINE_FWK_MODULE(IntConsumingAnalyzer);
470468
DEFINE_FWK_MODULE(edmtest::IntFromRunConsumingAnalyzer);
471469
DEFINE_FWK_MODULE(ConsumingStreamAnalyzer);

FWCore/Framework/test/test_deleteEarly.sh

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@ F2=${LOCAL_TEST_DIR}/test_simpleDeleteEarly_cfg.py
99
F3=${LOCAL_TEST_DIR}/test_referencingDeleteEarly_cfg.py
1010
F4=${LOCAL_TEST_DIR}/test_multiPathEarlyDelete_cfg.py
1111
F5=${LOCAL_TEST_DIR}/test_multiPathMultiModuleEarlyDelete_cfg.py
12-
F6=${LOCAL_TEST_DIR}/test_subProcessDeleteEarly_cfg.py
13-
F7=${LOCAL_TEST_DIR}/test_consumeAfterEarlyDeleteTask_cfg.py
14-
F8=${LOCAL_TEST_DIR}/test_consumeAfterEarlyDeletePath_cfg.py
15-
F9=${LOCAL_TEST_DIR}/test_nonConsumedModuleEarlyDelete_cfg.py
16-
F10=${LOCAL_TEST_DIR}/test_referencingDeleteEarly_fail_cfg.py
12+
F6=${LOCAL_TEST_DIR}/test_consumeAfterEarlyDeleteTask_cfg.py
13+
F7=${LOCAL_TEST_DIR}/test_consumeAfterEarlyDeletePath_cfg.py
14+
F8=${LOCAL_TEST_DIR}/test_nonConsumedModuleEarlyDelete_cfg.py
15+
F9=${LOCAL_TEST_DIR}/test_referencingDeleteEarly_fail_cfg.py
1716

1817
(cmsRun $F1 ) || die "Failure using $F1" $?
1918
(cmsRun $F2 ) || die "Failure using $F2" $?
@@ -23,6 +22,4 @@ F10=${LOCAL_TEST_DIR}/test_referencingDeleteEarly_fail_cfg.py
2322
(cmsRun $F6 ) || die "Failure using $F6" $?
2423
(cmsRun $F7 ) || die "Failure using $F7" $?
2524
(cmsRun $F8 ) || die "Failure using $F8" $?
26-
(cmsRun $F9 ) || die "Failure using $F9" $?
27-
!(cmsRun $F10 ) || die "Failure using $F10" $?
28-
25+
!(cmsRun $F9 ) || die "Failure using $F9" $?

FWCore/Framework/test/test_exceptionAtGlobalBeginRun_cfg.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,3 @@
1616
process.p = cms.Path(process.fail+process.tstStream+process.tstGlobal)
1717

1818
process.add_(cms.Service("Tracer"))
19-
20-
process2 = cms.Process("Test2")
21-
process2.tstStreamSub = cms.EDAnalyzer("edmtest::global::StreamIntAnalyzer",
22-
transitions=cms.int32(2),
23-
nLumis = cms.untracked.uint32(0))
24-
process2.tstGlobalSub = cms.EDAnalyzer("edmtest::global::RunIntAnalyzer",
25-
transitions=cms.int32(2),
26-
cachevalue = cms.int32(0))
27-
process2.p2 = cms.Path(process2.tstStreamSub+process2.tstGlobalSub)
28-
process.addSubProcess(cms.SubProcess(process2))

FWCore/Framework/test/test_module_delete_dependencygraph_cfg.py

Lines changed: 4 additions & 162 deletions
Original file line numberDiff line numberDiff line change
@@ -8,179 +8,21 @@
88
process.load("FWCore.Services.DependencyGraph_cfi")
99
process.DependencyGraph.fileName = "test_module_delete_dependencygraph.gv"
1010

11-
intEventProducer = cms.EDProducer("IntProducer", ivalue = cms.int32(1))
12-
intEventProducerMustRun = cms.EDProducer("edmtest::MustRunIntProducer", ivalue = cms.int32(1), mustRunEvent = cms.bool(True))
13-
intEventConsumer = cms.EDAnalyzer("IntTestAnalyzer",
14-
moduleLabel = cms.untracked.InputTag("producerEventConsumed"),
15-
valueMustMatch = cms.untracked.int32(1)
16-
)
17-
intGenericConsumer = cms.EDAnalyzer("edmtest::GenericIntsAnalyzer",
18-
srcEvent = cms.untracked.VInputTag(),
19-
inputShouldExist = cms.untracked.bool(True)
20-
)
21-
22-
process.producerAEventConsumedInB = intEventProducer.clone(ivalue = 1)
23-
process.producerAEventConsumedInBA = intEventProducer.clone(ivalue = 10)
24-
11+
# Each of these modules declares it produces a product that is not consumed.
12+
# The TestModuleDeleteAnalyzer will test in its beginJob transition that the
13+
# producer module was deleted.
2514
process.producerEventNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteProducer")
2615
process.producerBeginLumiNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteInLumiProducer")
2716
process.producerBeginRunNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteInRunProducer")
2817
process.producerBeginProcessNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteInProcessProducer")
2918

30-
# These producers do not get the event transitions for the events
31-
# where the same-name producers in the SubProcesses produce a product.
32-
# Nevertheless, these producers must not be deleted early, because
33-
# their event transitions might get called.
34-
process.producerEventMaybeConsumedInB = intEventProducerMustRun.clone(mustRunEvent=False)
35-
process.producerEventMaybeConsumedInBA = intEventProducerMustRun.clone(mustRunEvent=False)
36-
37-
process.producerAEventNotConsumedInB = cms.EDProducer("edmtest::TestModuleDeleteProducer")
38-
process.producerAEventNotConsumedInBA = cms.EDProducer("edmtest::TestModuleDeleteProducer")
39-
40-
process.producerEventConsumedInB1 = intEventProducerMustRun.clone()
41-
process.producerEventConsumedInB2 = intEventProducerMustRun.clone()
42-
process.producerEventConsumedInBA1 = intEventProducerMustRun.clone()
43-
process.producerEventConsumedInBA2 = intEventProducerMustRun.clone()
44-
4519
process.intAnalyzerDelete = cms.EDAnalyzer("edmtest::TestModuleDeleteAnalyzer")
4620

4721
process.t = cms.Task(
48-
process.producerAEventConsumedInB,
49-
#
50-
process.producerAEventConsumedInBA,
51-
#
5222
process.producerEventNotConsumed,
5323
process.producerBeginLumiNotConsumed,
5424
process.producerBeginRunNotConsumed,
55-
process.producerBeginProcessNotConsumed,
56-
#
57-
process.producerEventMaybeConsumedInB,
58-
process.producerEventMaybeConsumedInBA,
59-
#
60-
process.producerAEventNotConsumedInB,
61-
process.producerAEventNotConsumedInBA,
62-
#
63-
process.producerEventConsumedInB1,
64-
process.producerEventConsumedInB2,
65-
process.producerEventConsumedInBA1,
66-
process.producerEventConsumedInBA2,
25+
process.producerBeginProcessNotConsumed
6726
)
6827

6928
process.p = cms.Path(process.intAnalyzerDelete, process.t)
70-
71-
####################
72-
subprocessB = cms.Process("B")
73-
process.addSubProcess( cms.SubProcess(
74-
process = subprocessB,
75-
SelectEvents = cms.untracked.PSet(),
76-
outputCommands = cms.untracked.vstring()
77-
) )
78-
79-
subprocessB.consumerEventFromA = intEventConsumer.clone(moduleLabel = "producerAEventConsumedInB", valueMustMatch = 1)
80-
81-
subprocessB.producerEventNotConsumed = cms.EDProducer("edmtest::TestModuleDeleteProducer")
82-
83-
subprocessB.producerEventMaybeConsumedInB = intEventProducerMustRun.clone()
84-
subprocessB.producerEventMaybeConsumedInBA = intEventProducerMustRun.clone(mustRunEvent=False)
85-
subprocessB.consumerEventMaybeInB = intGenericConsumer.clone(srcEvent = ["producerEventMaybeConsumedInB"])
86-
87-
subprocessB.producerAEventNotConsumedInB = intEventProducerMustRun.clone()
88-
subprocessB.producerAEventNotConsumedInBA = cms.EDProducer("edmtest::TestModuleDeleteProducer")
89-
subprocessB.consumerAEventNotConsumedInB = intGenericConsumer.clone(srcEvent = ["producerAEventNotConsumedInB::B"])
90-
91-
subprocessB.producerEventConsumedInB1 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
92-
subprocessB.producerEventConsumedInB2 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
93-
subprocessB.consumerEventNotConsumedInB1 = intGenericConsumer.clone(srcEvent = ["producerEventConsumedInB1::A"])
94-
subprocessB.consumerEventNotConsumedInB2 = intGenericConsumer.clone(srcEvent = [cms.InputTag("producerEventConsumedInB2", "", cms.InputTag.skipCurrentProcess())])
95-
subprocessB.producerBEventConsumedInBA1 = intEventProducerMustRun.clone()
96-
subprocessB.producerBEventConsumedInBA2 = intEventProducerMustRun.clone()
97-
98-
subprocessB.producerBEventConsumedInB1 = intEventProducerMustRun.clone()
99-
subprocessB.producerBEventConsumedInB2 = intEventProducerMustRun.clone()
100-
subprocessB.producerBEventConsumedInB3 = intEventProducerMustRun.clone()
101-
subprocessB.consumerBEventConsumedInB1 = intGenericConsumer.clone(srcEvent = ["producerBEventConsumedInB1"])
102-
subprocessB.consumerBEventConsumedInB2 = intGenericConsumer.clone(srcEvent = ["producerBEventConsumedInB2::B"])
103-
subprocessB.consumerBEventConsumedInB3 = intGenericConsumer.clone(srcEvent = [cms.InputTag("producerBEventConsumedInB3", "", cms.InputTag.currentProcess())])
104-
105-
106-
subprocessB.t = cms.Task(
107-
subprocessB.producerEventNotConsumed,
108-
#
109-
subprocessB.producerEventMaybeConsumedInB,
110-
subprocessB.producerEventMaybeConsumedInBA,
111-
#
112-
subprocessB.producerAEventNotConsumedInB,
113-
subprocessB.producerAEventNotConsumedInBA,
114-
#
115-
subprocessB.producerEventConsumedInB1,
116-
subprocessB.producerEventConsumedInB2,
117-
subprocessB.producerBEventConsumedInBA1,
118-
subprocessB.producerBEventConsumedInBA2,
119-
#
120-
subprocessB.producerBEventConsumedInB1,
121-
subprocessB.producerBEventConsumedInB2,
122-
subprocessB.producerBEventConsumedInB3,
123-
)
124-
subprocessB.p = cms.Path(
125-
subprocessB.consumerEventFromA+
126-
#
127-
subprocessB.consumerEventMaybeInB+
128-
#
129-
subprocessB.consumerAEventNotConsumedInB+
130-
subprocessB.consumerEventNotConsumedInB1+
131-
subprocessB.consumerEventNotConsumedInB2+
132-
#
133-
subprocessB.consumerBEventConsumedInB1+
134-
subprocessB.consumerBEventConsumedInB2+
135-
subprocessB.consumerBEventConsumedInB3
136-
,subprocessB.t
137-
)
138-
139-
####################
140-
subprocessBA = cms.Process("BA")
141-
subprocessB.addSubProcess( cms.SubProcess(
142-
process = subprocessBA,
143-
SelectEvents = cms.untracked.PSet(),
144-
outputCommands = cms.untracked.vstring()
145-
) )
146-
147-
subprocessBA.consumerEventFromA = intEventConsumer.clone(moduleLabel = "producerAEventConsumedInBA", valueMustMatch = 10)
148-
149-
subprocessBA.producerEventMaybeConsumedInBA = intEventProducerMustRun.clone()
150-
subprocessBA.consumerEventMaybeInBA = intGenericConsumer.clone(srcEvent = ["producerEventMaybeConsumedInBA"])
151-
152-
subprocessBA.producerAEventNotConsumedInBA = intEventProducerMustRun.clone()
153-
subprocessBA.consumerAEventNotConsumedInBA = intGenericConsumer.clone(srcEvent = ["producerAEventNotConsumedInBA::BA"])
154-
155-
subprocessBA.producerEventConsumedInBA1 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
156-
subprocessBA.producerEventConsumedInBA2 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
157-
subprocessBA.producerBEventConsumedInBA1 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
158-
subprocessBA.producerBEventConsumedInBA2 = cms.EDProducer("edmtest::TestModuleDeleteProducer")
159-
subprocessBA.consumerEventNotConsumedInBA1 = intGenericConsumer.clone(srcEvent = ["producerEventConsumedInBA1::A",
160-
"producerBEventConsumedInBA1::B"])
161-
subprocessBA.consumerEventNotConsumedInBA2 = intGenericConsumer.clone(srcEvent = [
162-
cms.InputTag("producerEventConsumedInBA2", "", cms.InputTag.skipCurrentProcess()),
163-
cms.InputTag("producerBEventConsumedInBA2", "", cms.InputTag.skipCurrentProcess())
164-
])
165-
166-
subprocessBA.t = cms.Task(
167-
subprocessBA.producerEventMaybeConsumedInBA,
168-
#
169-
subprocessBA.producerAEventNotConsumedInBA,
170-
#
171-
subprocessBA.producerEventConsumedInBA1,
172-
subprocessBA.producerEventConsumedInBA2,
173-
subprocessBA.producerBEventConsumedInBA1,
174-
subprocessBA.producerBEventConsumedInBA2,
175-
)
176-
subprocessBA.p = cms.Path(
177-
subprocessBA.consumerEventFromA+
178-
#
179-
subprocessBA.consumerEventMaybeInBA+
180-
#
181-
subprocessBA.consumerAEventNotConsumedInBA+
182-
#
183-
subprocessBA.consumerEventNotConsumedInBA1+
184-
subprocessBA.consumerEventNotConsumedInBA2
185-
, subprocessBA.t
186-
)

0 commit comments

Comments
 (0)