gh-109566: Fix regrtest Python options for WASM/WASI (#109954)

WASM and WASI buildbots use multiple PYTHON environment variables
such as PYTHONPATH and _PYTHON_HOSTRUNNER. Don't use -E if the
--python=COMMAND option is used.
This commit is contained in:
Victor Stinner 2023-09-27 12:01:16 +02:00 committed by GitHub
parent b1aebf1e65
commit 91fb8daa24
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 8 deletions

View file

@ -1965,16 +1965,20 @@ class ArgsTestCase(BaseTestCase):
self.check_executed_tests(output, tests,
stats=len(tests), parallel=True)
def check_reexec(self, option):
def check_add_python_opts(self, option):
# --fast-ci and --slow-ci add "-u -W default -bb -E" options to Python
code = textwrap.dedent(r"""
import sys
import unittest
from test import support
try:
from _testinternalcapi import get_config
except ImportError:
get_config = None
# WASI/WASM buildbots don't use -E option
use_environment = (support.is_emscripten or support.is_wasi)
class WorkerTests(unittest.TestCase):
@unittest.skipUnless(get_config is None, 'need get_config()')
def test_config(self):
@ -1986,7 +1990,7 @@ class ArgsTestCase(BaseTestCase):
# -bb option
self.assertTrue(config['bytes_warning'], 2)
# -E option
self.assertTrue(config['use_environment'], 0)
self.assertTrue(config['use_environment'], use_environment)
def test_python_opts(self):
# -u option
@ -2000,7 +2004,8 @@ class ArgsTestCase(BaseTestCase):
self.assertEqual(sys.flags.bytes_warning, 2)
# -E option
self.assertTrue(sys.flags.ignore_environment)
self.assertEqual(not sys.flags.ignore_environment,
use_environment)
""")
testname = self.create_test(code=code)
@ -2018,7 +2023,7 @@ class ArgsTestCase(BaseTestCase):
def test_add_python_opts(self):
for opt in ("--fast-ci", "--slow-ci"):
with self.subTest(opt=opt):
self.check_reexec(opt)
self.check_add_python_opts(opt)
class TestUtils(unittest.TestCase):