aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mtest.py
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 /mesonbuild/mtest.py
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.
Diffstat (limited to 'mesonbuild/mtest.py')
-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: