@@ -656,6 +656,18 @@ void testEventsetup::getDataWithESGetTokenTest() {
656
656
dummyProv->setAppendToDataLabel (ps);
657
657
provider.add (dummyProv);
658
658
}
659
+ {
660
+ edm::eventsetup::ComponentDescription description (" DummyESProductResolverProvider" , " " , 100 , false );
661
+ edm::ParameterSet ps;
662
+ ps.addParameter <std::string>(" name" , " test22" );
663
+ ps.addParameter <std::string>(" appendToDataLabel" , " blahblah" );
664
+ ps.registerIt ();
665
+ description.pid_ = ps.id ();
666
+ auto dummyProv = std::make_shared<DummyESProductResolverProvider>(kGood );
667
+ dummyProv->setDescription (description);
668
+ dummyProv->setAppendToDataLabel (ps);
669
+ provider.add (dummyProv);
670
+ }
659
671
{
660
672
edm::eventsetup::ComponentDescription description (" ConsumesProducer" , " consumes" , 2 , false );
661
673
edm::ParameterSet ps;
@@ -739,6 +751,32 @@ void testEventsetup::getDataWithESGetTokenTest() {
739
751
dummyProv->setAppendToDataLabel (ps);
740
752
provider.add (dummyProv);
741
753
}
754
+ {
755
+ edm::eventsetup::ComponentDescription description (
756
+ " SetMayConsumeProducer" , " setMayConsumeWithUnlabeledModuleLabel" , 101 , false );
757
+ edm::ParameterSet ps;
758
+ ps.addParameter <std::string>(" name" , " thisIsNotUsed" );
759
+ ps.registerIt ();
760
+ description.pid_ = ps.id ();
761
+ auto dummyProv = std::make_shared<SetMayConsumeProducer>(
762
+ true , " DummyESProductResolverProvider" , " blahblah" , " productLabelForProducerWithMayConsumesUnlabeledCase" );
763
+ dummyProv->setDescription (description);
764
+ dummyProv->setAppendToDataLabel (ps);
765
+ provider.add (dummyProv);
766
+ }
767
+ {
768
+ edm::eventsetup::ComponentDescription description (
769
+ " SetMayConsumeProducer" , " setMayConsumeWithUnlabeledModuleLabel" , 102 , false );
770
+ edm::ParameterSet ps;
771
+ ps.addParameter <std::string>(" name" , " thisIsNotUsed" );
772
+ ps.registerIt ();
773
+ description.pid_ = ps.id ();
774
+ auto dummyProv = std::make_shared<SetMayConsumeProducer>(
775
+ true , " doesNotExist" , " blahblah" , " productLabelForProducerWithMayConsumesUnlabeledCaseNonexistent" );
776
+ dummyProv->setDescription (description);
777
+ dummyProv->setAppendToDataLabel (ps);
778
+ provider.add (dummyProv);
779
+ }
742
780
743
781
edm::ESParentContext pc;
744
782
controller.eventSetupForInstance (IOVSyncValue (Timestamp (2 )));
@@ -878,6 +916,24 @@ void testEventsetup::getDataWithESGetTokenTest() {
878
916
CPPUNIT_ASSERT_THROW (consumer.prefetch (provider.eventSetupImpl ()), edm::eventsetup::NoProductResolverException);
879
917
}
880
918
919
+ {
920
+ DummyDataConsumer consumer{edm::ESInputTag (" " , " productLabelForProducerWithMayConsumesUnlabeledCase" )};
921
+ consumer.updateLookup (provider.recordsToResolverIndices ());
922
+ consumer.prefetch (provider.eventSetupImpl ());
923
+ EventSetup eventSetup{provider.eventSetupImpl (),
924
+ static_cast <unsigned int >(edm::Transition::Event),
925
+ consumer.esGetTokenIndices (edm::Transition::Event),
926
+ pc};
927
+ const DummyData& data = eventSetup.getData (consumer.m_token );
928
+ CPPUNIT_ASSERT (kGood .value_ == data.value_ );
929
+ }
930
+
931
+ {
932
+ DummyDataConsumer consumer{edm::ESInputTag (" " , " productLabelForProducerWithMayConsumesUnlabeledCaseNonexistent" )};
933
+ consumer.updateLookup (provider.recordsToResolverIndices ());
934
+ CPPUNIT_ASSERT_THROW (consumer.prefetch (provider.eventSetupImpl ()), edm::eventsetup::NoProductResolverException);
935
+ }
936
+
881
937
} catch (const cms::Exception& iException) {
882
938
std::cout << " caught " << iException.explainSelf () << std::endl;
883
939
throw ;
0 commit comments