From c22a3f8e0f8995e6a5ece56c4661be885c1b304c Mon Sep 17 00:00:00 2001 From: Aliaksandr Nikitsin Date: Wed, 12 Feb 2025 19:52:31 +0100 Subject: [PATCH] prevent mqtt sending messages when test is not running --- framework/python/src/core/session.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/framework/python/src/core/session.py b/framework/python/src/core/session.py index 4df431502..df21178c2 100644 --- a/framework/python/src/core/session.py +++ b/framework/python/src/core/session.py @@ -50,6 +50,12 @@ LOGGER = logger.get_logger('session') +STATUSES_COMPLETE = (TestrunStatus.CANCELLED, + TestrunStatus.COMPLETE, + TestrunStatus.DO_NOT_PROCEED, + TestrunStatus.PROCEED, + TestrunStatus.IDLE + ) def session_tracker(method): """Session changes tracker.""" @@ -57,11 +63,13 @@ def wrapper(self, *args, **kwargs): result = method(self, *args, **kwargs) - if self.get_status() != TestrunStatus.IDLE: + if self.get_status() != TestrunStatus.IDLE and not self.pause_message: self.get_mqtt_client().send_message( STATUS_TOPIC, jsonable_encoder(self.to_json()) ) + if self.get_status() in STATUSES_COMPLETE: + self.pause_message = True return result return wrapper @@ -84,6 +92,7 @@ class TestrunSession(): def __init__(self, root_dir): self._root_dir = root_dir + self.pause_message = False self._status = TestrunStatus.IDLE self._result = None self._description = None @@ -162,6 +171,7 @@ def __init__(self, root_dir): def start(self): self.reset() self._status = TestrunStatus.STARTING + self.pause_message = False self._started = datetime.datetime.now() def get_started(self): @@ -815,6 +825,7 @@ def delete_profile(self, profile): def reset(self): self.set_status(TestrunStatus.IDLE) + self.pause_message = False self.set_result(None) self.set_description(None) self.set_target_device(None)