Skip to content

Commit c4688da

Browse files
authored
Merge pull request #47565 from wddgit/removeSubProcessConfigAndTestSupport
Remove configuration support for SubProcess and its tests
2 parents adb40c1 + b623924 commit c4688da

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

+10-5
Original file line numberDiff line numberDiff line change
@@ -855,11 +855,16 @@ namespace edm {
855855

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

FWCore/Framework/test/run_module_delete_tests.sh

-2
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

-2
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

+5-8
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

-10
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

+4-162
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)