From ef231d3edd01df4d3e0f55ccc6f1c683f1bb112f Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Fri, 10 Aug 2018 10:32:28 -0400 Subject: Add --fatal-meson-warnings command line option This makes any warning message printed by meson raise an exception, intended to be used by CI and developpers to easily catch deprecation warnings and other potential issues. --- mesonbuild/mlog.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'mesonbuild/mlog.py') diff --git a/mesonbuild/mlog.py b/mesonbuild/mlog.py index b8d3ccc..095b8fd 100644 --- a/mesonbuild/mlog.py +++ b/mesonbuild/mlog.py @@ -46,11 +46,13 @@ log_file = None log_fname = 'meson-log.txt' log_depth = 0 log_timestamp_start = None +log_fatal_warnings = False -def initialize(logdir): - global log_dir, log_file +def initialize(logdir, fatal_warnings=False): + global log_dir, log_file, log_fatal_warnings log_dir = logdir log_file = open(os.path.join(logdir, log_fname), 'w', encoding='utf8') + log_fatal_warnings = fatal_warnings def set_timestamp_start(start): global log_timestamp_start @@ -145,6 +147,7 @@ def log(*args, **kwargs): def _log_error(severity, *args, **kwargs): from .mesonlib import get_error_location_string from .environment import build_filename + from .mesonlib import MesonException if severity == 'warning': args = (yellow('WARNING:'),) + args elif severity == 'error': @@ -162,6 +165,10 @@ def _log_error(severity, *args, **kwargs): log(*args, **kwargs) + global log_fatal_warnings + if log_fatal_warnings: + raise MesonException("Fatal warnings enabled, aborting") + def error(*args, **kwargs): return _log_error('error', *args, **kwargs) -- cgit v1.1