Merged revisions 71413 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r71413 | tarek.ziade | 2009-04-09 23:36:44 +0200 (Thu, 09 Apr 2009) | 1 line Fixed #5731: Distutils bdist_wininst no longer worked on non-Windows platforms ........
This commit is contained in:
parent
107740ff0c
commit
b9f1a0c2f6
|
@ -344,10 +344,15 @@ class bdist_wininst (Command):
|
||||||
directory = os.path.dirname(__file__)
|
directory = os.path.dirname(__file__)
|
||||||
# we must use a wininst-x.y.exe built with the same C compiler
|
# we must use a wininst-x.y.exe built with the same C compiler
|
||||||
# used for python. XXX What about mingw, borland, and so on?
|
# used for python. XXX What about mingw, borland, and so on?
|
||||||
if self.plat_name == 'win32':
|
|
||||||
sfix = ''
|
# if plat_name starts with "win" but is not "win32"
|
||||||
|
# we want to strip "win" and leave the rest (e.g. -amd64)
|
||||||
|
# for all other cases, we don't want any suffix
|
||||||
|
if self.plat_name != 'win32' and self.plat_name[:3] == 'win':
|
||||||
|
sfix = self.plat_name[3:]
|
||||||
else:
|
else:
|
||||||
sfix = self.plat_name[3:] # strip 'win' - leaves eg '-amd64'
|
sfix = ''
|
||||||
|
|
||||||
filename = os.path.join(directory, "wininst-%.1f%s.exe" % (bv, sfix))
|
filename = os.path.join(directory, "wininst-%.1f%s.exe" % (bv, sfix))
|
||||||
return open(filename, "rb").read()
|
return open(filename, "rb").read()
|
||||||
# class bdist_wininst
|
# class bdist_wininst
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
"""Tests for distutils.command.bdist_wininst."""
|
||||||
|
import unittest
|
||||||
|
import os
|
||||||
|
|
||||||
|
from distutils.dist import Distribution
|
||||||
|
from distutils.command.bdist_wininst import bdist_wininst
|
||||||
|
from distutils.tests import support
|
||||||
|
|
||||||
|
class BuildWinInstTestCase(support.TempdirManager,
|
||||||
|
unittest.TestCase):
|
||||||
|
|
||||||
|
def test_get_exe_bytes(self):
|
||||||
|
|
||||||
|
# issue5731: command was broken on non-windows platforms
|
||||||
|
# this test makes sure it works now for every platform
|
||||||
|
# let's create a command
|
||||||
|
tmp_dir = self.mkdtemp()
|
||||||
|
pkg_dir = os.path.join(tmp_dir, 'foo')
|
||||||
|
os.mkdir(pkg_dir)
|
||||||
|
dist = Distribution()
|
||||||
|
cmd = bdist_wininst(dist)
|
||||||
|
cmd.ensure_finalized()
|
||||||
|
|
||||||
|
# let's run the code that finds the right wininst*.exe file
|
||||||
|
# and make sure it finds it and returns its content
|
||||||
|
# no matter what platform we have
|
||||||
|
exe_file = cmd.get_exe_bytes()
|
||||||
|
self.assert_(len(exe_file) > 10)
|
||||||
|
|
||||||
|
def test_suite():
|
||||||
|
return unittest.makeSuite(BuildWinInstTestCase)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
test_support.run_unittest(test_suite())
|
|
@ -103,6 +103,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #5731: Distutils bdist_wininst no longer worked on non-Windows
|
||||||
|
platforms. Initial patch by Paul Moore.
|
||||||
|
|
||||||
- Issue #1491431: Fixed distutils.filelist.glob_to_re for edge cases.
|
- Issue #1491431: Fixed distutils.filelist.glob_to_re for edge cases.
|
||||||
Initial fix by Wayne Davison.
|
Initial fix by Wayne Davison.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue