From 949dbf97ba09da3cfb243d5ad7f90967ad15f354 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Mon, 23 May 2022 17:04:26 +0100 Subject: gh-93005: Fixes launcher test when no Python install is available (GH-93007) --- Lib/test/test_launcher.py | 10 +++++----- PC/launcher2.c | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Lib/test/test_launcher.py b/Lib/test/test_launcher.py index aeacbbe..8d9de68 100644 --- a/Lib/test/test_launcher.py +++ b/Lib/test/test_launcher.py @@ -245,7 +245,7 @@ class RunPyMixin: file.unlink() @contextlib.contextmanager - def test_venv(self): + def fake_venv(self): venv = Path.cwd() / "Scripts" venv.mkdir(exist_ok=True, parents=True) venv_exe = (venv / Path(sys.executable).name) @@ -462,7 +462,7 @@ class TestLauncher(unittest.TestCase, RunPyMixin): self.assertEqual("PythonTestSuite/3.100", default) def test_virtualenv_in_list(self): - with self.test_venv() as (venv_exe, env): + with self.fake_venv() as (venv_exe, env): data = self.run_py(["-0p"], env=env) for line in data["stdout"].splitlines(): m = re.match(r"\s*\*\s+(.+)$", line) @@ -482,9 +482,9 @@ class TestLauncher(unittest.TestCase, RunPyMixin): self.fail("did not find active venv entry") def test_virtualenv_with_env(self): - with self.test_venv() as (venv_exe, env): - data1 = self.run_py([], env={**env, "PY_PYTHON": "-3"}) - data2 = self.run_py(["-3"], env={**env, "PY_PYTHON": "-3"}) + with self.fake_venv() as (venv_exe, env): + data1 = self.run_py([], env={**env, "PY_PYTHON": "PythonTestSuite/3"}) + data2 = self.run_py(["-3"], env={**env, "PY_PYTHON": "PythonTestSuite/3"}) # Compare stdout, because stderr goes via ascii self.assertEqual(data1["stdout"].strip(), str(venv_exe)) self.assertEqual(data1["SearchInfo.lowPriorityTag"], "True") diff --git a/PC/launcher2.c b/PC/launcher2.c index 763bc13..ae11f4f 100644 --- a/PC/launcher2.c +++ b/PC/launcher2.c @@ -972,9 +972,6 @@ checkDefaults(SearchInfo *search) if (!slash) { search->tag = tag; search->tagLength = n; - // gh-92817: allow a high priority env to be selected even if it - // doesn't match the tag - search->lowPriorityTag = true; } else { search->company = tag; search->companyLength = (int)(slash - tag); @@ -982,6 +979,9 @@ checkDefaults(SearchInfo *search) search->tagLength = n - (search->companyLength + 1); search->oldStyleTag = false; } + // gh-92817: allow a high priority env to be selected even if it + // doesn't match the tag + search->lowPriorityTag = true; } return 0; -- cgit v0.12