bpo-45582: Fix getpath_isxfile() and test_embed on Windows by neonene · Pull Request #29930 · python/cpython (original) (raw)

Current getpath_isxfile() in getpath.c always returns false.
After the function is fixed, test_embed.py needs a workaround to pass the following tests that have the same error in the release build.

FAIL: test_init_pybuilddir_win32 (test.test_embed.InitConfigTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\cp\Lib\test\test_embed.py", line 1322, in test_init_pybuilddir_win32
    self.check_all_configs("test_init_compat_config", config,
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\cp\Lib\test\test_embed.py", line 728, in check_all_configs
    self.check_config(configs, expected_config)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\cp\Lib\test\test_embed.py", line 654, in check_config
    self.assertEqual(config, expected)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: {'_co[316 chars]embed.exe', ...
    ...
-  'program_name': './_testembed.exe',
?                               ----
+  'program_name': './_testembed',
    ...

The debug build passes them using the default program_name, and the PGO build does not due to another issue.