summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorneonene <53406459+neonene@users.noreply.github.com>2022-06-17 10:06:49 (GMT)
committerGitHub <noreply@github.com>2022-06-17 10:06:49 (GMT)
commitffc228dd4e409336f2c2ad54125de384bf1a767b (patch)
treeb8e8d6c8ab1f61805784bf474e9f3bd0382e3ce6
parent4beee0c7b0c2cc78a893dde88fd8e34099dcf877 (diff)
downloadcpython-ffc228dd4e409336f2c2ad54125de384bf1a767b.zip
cpython-ffc228dd4e409336f2c2ad54125de384bf1a767b.tar.gz
cpython-ffc228dd4e409336f2c2ad54125de384bf1a767b.tar.bz2
gh-89745: Avoid exact match when comparing program_name in test_embed on Windows (GH-93888)
-rw-r--r--Lib/test/test_embed.py17
1 files changed, 7 insertions, 10 deletions
diff --git a/Lib/test/test_embed.py b/Lib/test/test_embed.py
index 0229cf3..b2a1eba3 100644
--- a/Lib/test/test_embed.py
+++ b/Lib/test/test_embed.py
@@ -629,7 +629,7 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
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']
@@ -672,14 +672,6 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
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():
@@ -709,6 +701,11 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
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)
@@ -773,7 +770,7 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
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)