GH-89858: Fix test_embed for out-of-tree builds (GH-93465)

(cherry picked from commit 96464e5401)

Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
This commit is contained in:
Miss Islington (bot) 2022-06-17 22:11:59 -07:00 committed by GitHub
parent 2b7fc1bfe6
commit 79d22694f2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 5 deletions

View file

@ -68,18 +68,16 @@ def setUp(self):
ext = ("_d" if debug_build(sys.executable) else "") + ".exe"
exename += ext
exepath = builddir
expecteddir = os.path.join(support.REPO_ROOT, builddir)
else:
exepath = os.path.join(builddir, 'Programs')
expecteddir = os.path.join(support.REPO_ROOT, 'Programs')
self.test_exe = exe = os.path.join(exepath, exename)
if exepath != expecteddir or not os.path.exists(exe):
if not os.path.exists(exe):
self.skipTest("%r doesn't exist" % exe)
# This is needed otherwise we get a fatal error:
# "Py_Initialize: Unable to get the locale encoding
# LookupError: no codec search functions registered: can't find encoding"
self.oldcwd = os.getcwd()
os.chdir(support.REPO_ROOT)
os.chdir(builddir)
def tearDown(self):
os.chdir(self.oldcwd)
@ -1316,10 +1314,11 @@ def test_init_pybuilddir(self):
with self.tmpdir_with_python() as tmpdir:
# pybuilddir.txt is a sub-directory relative to the current
# directory (tmpdir)
vpath = sysconfig.get_config_var("VPATH") or ''
subdir = 'libdir'
libdir = os.path.join(tmpdir, subdir)
# The stdlib dir is dirname(executable) + VPATH + 'Lib'
stdlibdir = os.path.join(tmpdir, 'Lib')
stdlibdir = os.path.normpath(os.path.join(tmpdir, vpath, 'Lib'))
os.mkdir(libdir)
filename = os.path.join(tmpdir, 'pybuilddir.txt')

View file

@ -0,0 +1 @@
Fix ``test_embed`` for out-of-tree builds. Patch by Kumar Aditya.