some little fixes

This commit is contained in:
Bastian Schroll 2018-09-25 10:08:00 +02:00
parent 7d2935ea0d
commit 3eac36d123
2 changed files with 14 additions and 10 deletions

View file

@ -66,13 +66,17 @@ class RepeatedTimer:
"""!Stop the timer worker thread """!Stop the timer worker thread
@return True or False""" @return True or False"""
self._event.set() try:
if self._thread is not None: self._event.set()
logging.debug("stop repeatedTimer: %s", self._thread.name) if self._thread is not None:
self._thread.join() logging.debug("stop repeatedTimer: %s", self._thread.name)
self._thread.join()
return True
logging.warning("repeatedTimer always stopped")
return True return True
logging.warning("repeatedTimer always stopped") except: # pragma: no cover
return False logging.exception("cannot stop repeatedTimer")
return False
def _target(self): def _target(self):
"""!Runs the target function with his arguments in own thread""" """!Runs the target function with his arguments in own thread"""

View file

@ -45,7 +45,7 @@ class Test_Timer:
self.testTimer = RepeatedTimer(0.1, Test_Timer.testTargetFast) self.testTimer = RepeatedTimer(0.1, Test_Timer.testTargetFast)
yield 1 # server the timer instance yield 1 # server the timer instance
if self.testTimer.isRunning: if self.testTimer.isRunning:
self.testTimer.stop() assert self.testTimer.stop()
@pytest.fixture(scope="function") @pytest.fixture(scope="function")
def useTimerSlow(self): def useTimerSlow(self):
@ -53,7 +53,7 @@ class Test_Timer:
self.testTimer = RepeatedTimer(0.1, Test_Timer.testTargetSlow) self.testTimer = RepeatedTimer(0.1, Test_Timer.testTargetSlow)
yield 1 # server the timer instance yield 1 # server the timer instance
if self.testTimer.isRunning: if self.testTimer.isRunning:
self.testTimer.stop() assert self.testTimer.stop()
# test cases starts here # test cases starts here
@ -61,13 +61,13 @@ class Test_Timer:
assert self.testTimer.start() assert self.testTimer.start()
assert self.testTimer.stop() assert self.testTimer.stop()
def test_timerDoubleSTart(self, useTimerFast): def test_timerDoubleStart(self, useTimerFast):
assert self.testTimer.start() assert self.testTimer.start()
assert self.testTimer.start() assert self.testTimer.start()
assert self.testTimer.stop() assert self.testTimer.stop()
def test_timerStopNotStarted(self, useTimerFast): def test_timerStopNotStarted(self, useTimerFast):
assert not self.testTimer.stop() assert self.testTimer.stop()
def test_timerIsRunning(self, useTimerFast): def test_timerIsRunning(self, useTimerFast):
assert self.testTimer.start() assert self.testTimer.start()