def METHOD_NAME(self):
    from gevent import events
    from gevent.testing import verify
    all_events = self.all_events
    def veto(event):
        if isinstance(event, events.GeventWillPatchModuleEvent) and event.module_name == 'ssl':
            raise events.DoNotPatch
    self.addSubscriber(veto)
    monkey.saved = {} # Reset
    monkey.patch_all(thread=False, select=False, extra_kwarg=42) # Go again
    self.assertIsInstance(all_events[0], events.GeventWillPatchAllEvent)
    self.assertEqual({'extra_kwarg': 42}, all_events[0].patch_all_kwargs)
    verify.verifyObject(events.IGeventWillPatchAllEvent, all_events[0])
    self.assertIsInstance(all_events[1], events.GeventWillPatchModuleEvent)
    verify.verifyObject(events.IGeventWillPatchModuleEvent, all_events[1])
    self.assertIsInstance(all_events[2], events.GeventDidPatchModuleEvent)
    verify.verifyObject(events.IGeventWillPatchModuleEvent, all_events[1])
    self.assertIsInstance(all_events[-2], events.GeventDidPatchBuiltinModulesEvent)
    verify.verifyObject(events.IGeventDidPatchBuiltinModulesEvent, all_events[-2])
    self.assertIsInstance(all_events[-1], events.GeventDidPatchAllEvent)
    verify.verifyObject(events.IGeventDidPatchAllEvent, all_events[-1])
    for e in all_events:
        self.assertFalse(isinstance(e, events.GeventDidPatchModuleEvent)
                         and e.module_name == 'ssl')