From 8646a28e148c9389ddfc1ffbdd070b09ab7b9cad Mon Sep 17 00:00:00 2001 From: Harjoth Khara Date: Mon, 29 Jun 2026 06:28:18 -0700 Subject: [PATCH] gh-151096: Fix test_embed with split exec prefix (GH-151288) (cherry picked from commit b19839b40c771904b87ea35127f9fa1b8058597e) Co-authored-by: Harjoth Khara --- Lib/test/test_embed.py | 8 +++++--- .../Tests/2026-06-16-05-11-38.gh-issue-151096.Kq3Lp9.rst | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Tests/2026-06-16-05-11-38.gh-issue-151096.Kq3Lp9.rst diff --git a/Lib/test/test_embed.py b/Lib/test/test_embed.py index 7cc275adc637b88..a2198ab88528c7f 100644 --- a/Lib/test/test_embed.py +++ b/Lib/test/test_embed.py @@ -1395,7 +1395,7 @@ def module_search_paths(self, prefix=None, exec_prefix=None): if prefix is None: prefix = config['config']['prefix'] if exec_prefix is None: - exec_prefix = config['config']['prefix'] + exec_prefix = config['config']['exec_prefix'] if MS_WINDOWS: return config['config']['module_search_paths'] else: @@ -1529,8 +1529,10 @@ def test_init_is_python_build_with_home(self): expected_paths[1 if MS_WINDOWS else 2] = os.path.normpath( os.path.join(exedir, f'{f.read()}\n$'.splitlines()[0])) if not MS_WINDOWS: - # PREFIX (default) is set when running in build directory - prefix = exec_prefix = sys.prefix + # PREFIX and EXEC_PREFIX (defaults) are set when running in the + # build directory and may differ with --exec-prefix (gh-151096). + prefix = sys.prefix + exec_prefix = sys.exec_prefix # stdlib calculation (/Lib) is not yet supported expected_paths[0] = self.module_search_paths(prefix=prefix)[0] config.update(prefix=prefix, base_prefix=prefix, diff --git a/Misc/NEWS.d/next/Tests/2026-06-16-05-11-38.gh-issue-151096.Kq3Lp9.rst b/Misc/NEWS.d/next/Tests/2026-06-16-05-11-38.gh-issue-151096.Kq3Lp9.rst new file mode 100644 index 000000000000000..3251c6fb094723b --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2026-06-16-05-11-38.gh-issue-151096.Kq3Lp9.rst @@ -0,0 +1,2 @@ +Fix ``test_embed`` failing when CPython is configured with a split exec prefix +(``--exec-prefix`` differing from ``--prefix``).