From 50882871932bb3c1680d4172b3112956fb1610f7 Mon Sep 17 00:00:00 2001 From: neonene <53406459+neonene@users.noreply.github.com> Date: Fri, 17 Jun 2022 19:06:49 +0900 Subject: [PATCH] gh-89745: Avoid exact match when comparing program_name in test_embed on Windows (GH-93888) (cherry picked from commit ffc228dd4e409336f2c2ad54125de384bf1a767b) Co-authored-by: neonene <53406459+neonene@users.noreply.github.com> --- Lib/test/test_embed.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/Lib/test/test_embed.py b/Lib/test/test_embed.py index 5ba6e3a43fdc6e..c863805d0fefa9 100644 --- a/Lib/test/test_embed.py +++ b/Lib/test/test_embed.py @@ -630,7 +630,7 @@ def _get_expected_config(self): return configs def get_expected_config(self, expected_preconfig, expected, - env, api, modify_path_cb=None, cwd=None): + env, api, modify_path_cb=None): configs = self._get_expected_config() pre_config = configs['pre_config'] @@ -673,14 +673,6 @@ def get_expected_config(self, expected_preconfig, expected, expected['base_executable'] = default_executable if expected['program_name'] is self.GET_DEFAULT_CONFIG: expected['program_name'] = './_testembed' - if MS_WINDOWS: - # follow the calculation in getpath.py - tmpname = expected['program_name'] + '.exe' - if cwd: - tmpname = os.path.join(cwd, tmpname) - if os.path.isfile(tmpname): - expected['program_name'] += '.exe' - del tmpname config = configs['config'] for key, value in expected.items(): @@ -710,6 +702,11 @@ def check_pre_config(self, configs, expected): def check_config(self, configs, expected): config = dict(configs['config']) + if MS_WINDOWS: + value = config.get(key := 'program_name') + if value and isinstance(value, str): + ext = '_d.exe' if debug_build(sys.executable) else '.exe' + config[key] = value[:len(value.lower().removesuffix(ext))] for key, value in list(expected.items()): if value is self.IGNORE_CONFIG: config.pop(key, None) @@ -774,7 +771,7 @@ def check_all_configs(self, testname, expected_config=None, self.get_expected_config(expected_preconfig, expected_config, env, - api, modify_path_cb, cwd) + api, modify_path_cb) out, err = self.run_embedded_interpreter(testname, env=env, cwd=cwd)
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: