Commit 6d9f15b9 authored by Tarek Ziadé's avatar Tarek Ziadé

complementary fix for #7115

parent c22811e5
...@@ -628,8 +628,10 @@ class build_ext (Command): ...@@ -628,8 +628,10 @@ class build_ext (Command):
The file is located in `build_lib` or directly in the package The file is located in `build_lib` or directly in the package
(inplace option). (inplace option).
""" """
if os.sep in ext_name: # makes sure the extension name is only using dots
ext_name = ext_name.replace(os.sep, '.') all_dots = string.maketrans('/'+os.sep, '..')
ext_name = ext_name.translate(all_dots)
fullname = self.get_ext_fullname(ext_name) fullname = self.get_ext_fullname(ext_name)
modpath = fullname.split('.') modpath = fullname.split('.')
filename = self.get_ext_filename(ext_name) filename = self.get_ext_filename(ext_name)
......
...@@ -373,6 +373,19 @@ class BuildExtTestCase(support.TempdirManager, ...@@ -373,6 +373,19 @@ class BuildExtTestCase(support.TempdirManager,
wanted = os.path.join(cmd.build_lib, 'UpdateManager', 'fdsend' + ext) wanted = os.path.join(cmd.build_lib, 'UpdateManager', 'fdsend' + ext)
self.assertEquals(ext_path, wanted) self.assertEquals(ext_path, wanted)
def test_build_ext_path_cross_platform(self):
if sys.platform != 'win32':
return
dist = Distribution({'name': 'UpdateManager'})
cmd = build_ext(dist)
cmd.ensure_finalized()
ext = sysconfig.get_config_var("SO")
# this needs to work even under win32
ext_name = 'UpdateManager/fdsend'
ext_path = cmd.get_ext_fullpath(ext_name)
wanted = os.path.join(cmd.build_lib, 'UpdateManager', 'fdsend' + ext)
self.assertEquals(ext_path, wanted)
def test_suite(): def test_suite():
if not sysconfig.python_build: if not sysconfig.python_build:
if test_support.verbose: if test_support.verbose:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment