From a045eaebad7676feb7ab7c0c46d8dec66d13791f Mon Sep 17 00:00:00 2001 From: Felix Behnke Date: Thu, 8 May 2025 15:57:30 +0200 Subject: [PATCH] fix: twister: quit-on-failure use public queue methods to clear queue on failure -s Felix Behnke felixbeiderarbeit@gmail.com Signed-off-by: Felix Behnke --- scripts/pylib/twister/twisterlib/runner.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/scripts/pylib/twister/twisterlib/runner.py b/scripts/pylib/twister/twisterlib/runner.py index ad3158dac50..5b1a782eca9 100644 --- a/scripts/pylib/twister/twisterlib/runner.py +++ b/scripts/pylib/twister/twisterlib/runner.py @@ -2003,9 +2003,11 @@ class TwisterRunner: pb.process(pipeline, done_queue, task, lock, results) if self.env.options.quit_on_failure and \ pb.instance.status in [TwisterStatus.FAIL, TwisterStatus.ERROR]: - with pipeline.mutex: - pipeline.queue.clear() - break + try: + while True: + pipeline.get_nowait() + except queue.Empty: + pass return True else: @@ -2021,9 +2023,11 @@ class TwisterRunner: pb.process(pipeline, done_queue, task, lock, results) if self.env.options.quit_on_failure and \ pb.instance.status in [TwisterStatus.FAIL, TwisterStatus.ERROR]: - with pipeline.mutex: - pipeline.queue.clear() - break + try: + while True: + pipeline.get_nowait() + except queue.Empty: + pass return True except Exception as e: logger.error(f"General exception: {e}\n{traceback.format_exc()}")