From bf6386e82fcc7f0be1b15891e56d60ed818926e2 Mon Sep 17 00:00:00 2001
From: Scott Gasch <scott@gasch.org>
Date: Fri, 3 Jun 2022 17:12:38 -0700
Subject: [PATCH] Take a lock before reading cross thread.

---
 tests/run_tests.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/run_tests.py b/tests/run_tests.py
index c96f882..3e5ee07 100755
--- a/tests/run_tests.py
+++ b/tests/run_tests.py
@@ -141,6 +141,7 @@ class TestRunner(ABC, thread_utils.ThreadWithReturnValue):
             tests_timed_out=[],
         )
         self.tests_started = 0
+        self.lock = threading.Lock()
 
     @abstractmethod
     def get_name(self) -> str:
@@ -149,7 +150,8 @@ class TestRunner(ABC, thread_utils.ThreadWithReturnValue):
 
     def get_status(self) -> Tuple[int, TestResults]:
         """Ask the TestRunner for its status."""
-        return (self.tests_started, self.test_results)
+        with self.lock:
+            return (self.tests_started, self.test_results)
 
     @abstractmethod
     def begin(self, params: TestingParameters) -> TestResults:
-- 
2.49.0