From 608a6196a0ce1bebf66c5ac0cc38a20bfddede9b Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Wed, 2 Nov 2022 19:46:32 -0400 Subject: python 3.11: suppress an incorrect EncodingWarning python 3.11 adds a warning that in 3.15, UTF-8 mode will be default. This is fantastic news, we'd love that. Less fantastic: this warning is silly, we *want* these checks to be affected. Plus, the recommended alternative API would (in addition to warning people when UTF-8 mode removed the problem) also require using a minimum python version of 3.11 (in which the warning was added) or add verbose if/else soup. The simple, and obvious, approach is to add a warnings filter to hide it. --- run_tests.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'run_tests.py') diff --git a/run_tests.py b/run_tests.py index ead5865..b03cbac 100755 --- a/run_tests.py +++ b/run_tests.py @@ -76,6 +76,15 @@ else: os.environ['PYTHONWARNDEFAULTENCODING'] = '1' # work around https://bugs.python.org/issue34624 os.environ['MESON_RUNNING_IN_PROJECT_TESTS'] = '1' +# python 3.11 adds a warning that in 3.15, UTF-8 mode will be default. +# This is fantastic news, we'd love that. Less fantastic: this warning is silly, +# we *want* these checks to be affected. Plus, the recommended alternative API +# would (in addition to warning people when UTF-8 mode removed the problem) also +# require using a minimum python version of 3.11 (in which the warning was added) +# or add verbose if/else soup. +if sys.version_info >= (3, 10): + import warnings + warnings.filterwarnings('ignore', message="UTF-8 Mode affects .*getpreferredencoding", category=EncodingWarning) def guess_backend(backend_str: str, msbuild_exe: str) -> T.Tuple['Backend', T.List[str]]: # Auto-detect backend if unspecified -- cgit v1.1