aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHemmo Nieminen <hemmo.nieminen@iki.fi>2022-02-01 00:00:00 +0200
committerEli Schwartz <eschwartz93@gmail.com>2022-06-09 18:58:33 -0400
commit657a6eeb81158e0faaf8ab07e47a4ed62d4ae338 (patch)
tree27e56f58d2f22879d3fc5041fd08a449a264a8a7
parent4304df30c2be2b0553d2e78524e90cd1918292b4 (diff)
downloadmeson-657a6eeb81158e0faaf8ab07e47a4ed62d4ae338.zip
meson-657a6eeb81158e0faaf8ab07e47a4ed62d4ae338.tar.gz
meson-657a6eeb81158e0faaf8ab07e47a4ed62d4ae338.tar.bz2
mtest: enable access to the console logger instance
Store a reference to the console logger instance in a test harness' member variable to allow accessing it (and its logging utilities) from any other functions in test harness. This added functionality will be used in future commits.
-rw-r--r--mesonbuild/mtest.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/mesonbuild/mtest.py b/mesonbuild/mtest.py
index 32c7417..4e8fcc9 100644
--- a/mesonbuild/mtest.py
+++ b/mesonbuild/mtest.py
@@ -485,7 +485,6 @@ class ConsoleLogger(TestLogger):
RTRI = "\u25B6 "
def __init__(self) -> None:
- self.update = asyncio.Event()
self.running_tests = OrderedSet() # type: OrderedSet['TestRun']
self.progress_test = None # type: T.Optional['TestRun']
self.progress_task = None # type: T.Optional[asyncio.Future]
@@ -567,7 +566,6 @@ class ConsoleLogger(TestLogger):
while not self.stop:
await self.update.wait()
self.update.clear()
-
# We may get here simply because the progress line has been
# overwritten, so do not always switch. Only do so every
# second, or if the printed test has finished
@@ -1515,7 +1513,8 @@ class TestHarness:
self.name_max_len = 0
self.is_run = False
self.loggers = [] # type: T.List[TestLogger]
- self.loggers.append(ConsoleLogger())
+ self.console_logger = ConsoleLogger()
+ self.loggers.append(self.console_logger)
self.need_console = False
self.logfile_base = None # type: T.Optional[str]
@@ -1550,6 +1549,10 @@ class TestHarness:
ss.add(s)
self.suites = list(ss)
+ def get_console_logger(self) -> 'ConsoleLogger':
+ assert self.console_logger
+ return self.console_logger
+
def load_tests(self, file_name: str) -> T.List[TestSerialisation]:
datafile = Path('meson-private') / file_name
if not datafile.is_file():
@@ -1567,6 +1570,7 @@ class TestHarness:
def close_logfiles(self) -> None:
for l in self.loggers:
l.close()
+ self.console_logger = None
def get_test_setup(self, test: T.Optional[TestSerialisation]) -> build.TestSetup:
if ':' in self.options.setup: