コード例 #1
0
 def __init__(self, interval):
     self._monitors = {}
     self._interval = interval
     # NOTE: This must be used in asynchronous mode to prevent blocking of
     # the checker event loop thread.
     self.onDomainStateChange = misc.Event(
         "Storage.DomainMonitor.onDomainStateChange", sync=False)
     self._checker = check.CheckService()
     self._checker.start()
コード例 #2
0
ファイル: misc_test.py プロジェクト: k0ste/vdsm
 def testInstanceMethod(self):
     ev = threading.Event()
     event = misc.Event("name", sync=True)
     receiver = Receiver(event, ev)
     print(event._registrar)
     event.emit()
     ev.wait(TIMEOUT)
     self.assertTrue(ev.isSet())
     receiver  # Makes pyflakes happy
コード例 #3
0
ファイル: misc_test.py プロジェクト: k0ste/vdsm
 def testUnregister(self):
     ev = threading.Event()
     callback = lambda: ev.set()
     event = misc.Event("EndOfTheWorld")
     event.register(callback)
     event.unregister(callback)
     event.emit()
     ev.wait(TIMEOUT)
     self.assertFalse(ev.isSet())
コード例 #4
0
 def testEmitStale(self):
     ev = threading.Event()
     callback = lambda: ev.set()
     event = misc.Event("EndOfTheWorld")
     event.register(callback)
     del callback
     event.emit()
     ev.wait(5)
     self.assertFalse(ev.isSet())
コード例 #5
0
ファイル: misc_test.py プロジェクト: k0ste/vdsm
 def testInstanceMethodDead(self):
     ev = threading.Event()
     event = misc.Event("name", sync=True)
     receiver = Receiver(event, ev)
     print(event._registrar)
     del receiver
     print(event._registrar)
     event.emit()
     ev.wait(TIMEOUT)
     self.assertFalse(ev.isSet())
コード例 #6
0
ファイル: misc_test.py プロジェクト: k0ste/vdsm
    def testEmit(self):
        ev = threading.Event()

        def callback():
            self.log.info("Callback called")
            ev.set()

        event = misc.Event("EndOfTheWorld")
        event.register(callback)
        event.emit()
        ev.wait(TIMEOUT)
        self.assertTrue(ev.isSet())
コード例 #7
0
ファイル: misc_test.py プロジェクト: k0ste/vdsm
    def testEmitCallbackException(self):
        ev = threading.Event()

        def callback1():
            raise Exception("AHHHHHHH!!!")

        def callback2():
            ev.set()

        event = misc.Event("EndOfTheWorld", sync=True)
        event.register(callback1)
        event.register(callback2)
        event.emit()
        ev.wait(TIMEOUT)
        self.assertTrue(ev.isSet())
コード例 #8
0
ファイル: misc_test.py プロジェクト: k0ste/vdsm
    def testOneShot(self):
        ev = threading.Event()

        def callback():
            self.log.info("Callback called")
            ev.set()

        event = misc.Event("EndOfTheWorld")
        event.register(callback, oneshot=True)
        event.emit()
        ev.wait(TIMEOUT)
        self.assertTrue(ev.isSet())
        ev.clear()
        event.emit()
        ev.wait(TIMEOUT)
        self.assertFalse(ev.isSet())