Make distutils’ upload command work with bdist_msi products (#13719).

Patch by Ralf Schmitt.
This commit is contained in:
Éric Araujo 2012-03-05 16:47:33 +01:00
parent d2e19b5173
commit dcd280480f
3 changed files with 16 additions and 6 deletions

View File

@ -262,7 +262,7 @@ class bdist_msi (Command):
self.db.Commit() self.db.Commit()
if hasattr(self.distribution, 'dist_files'): if hasattr(self.distribution, 'dist_files'):
tup = 'bdist_msi', self.target_version or 'any', fullname tup = 'bdist_msi', self.target_version or 'any', installer_name
self.distribution.dist_files.append(tup) self.distribution.dist_files.append(tup)
if not self.keep_temp: if not self.keep_temp:

View File

@ -1,12 +1,11 @@
"""Tests for distutils.command.bdist_msi.""" """Tests for distutils.command.bdist_msi."""
import unittest
import sys import sys
import unittest
from test.test_support import run_unittest from test.test_support import run_unittest
from distutils.tests import support from distutils.tests import support
@unittest.skipUnless(sys.platform=="win32", "These tests are only for win32")
@unittest.skipUnless(sys.platform == 'win32', 'these tests require Windows')
class BDistMSITestCase(support.TempdirManager, class BDistMSITestCase(support.TempdirManager,
support.LoggingSilencer, support.LoggingSilencer,
unittest.TestCase): unittest.TestCase):
@ -14,9 +13,18 @@ class BDistMSITestCase(support.TempdirManager,
def test_minimal(self): def test_minimal(self):
# minimal test XXX need more tests # minimal test XXX need more tests
from distutils.command.bdist_msi import bdist_msi from distutils.command.bdist_msi import bdist_msi
pkg_pth, dist = self.create_dist() project_dir, dist = self.create_dist()
cmd = bdist_msi(dist) cmd = bdist_msi(dist)
cmd.ensure_finalized() cmd.ensure_finalized()
cmd.run()
bdists = os.listdir(os.path.join(project_dir, 'dist'))
self.assertEqual(bdists, ['foo-0.1.msi'])
# bug #13719: upload ignores bdist_msi files
self.assertEqual(dist.dist_files,
[('bdist_msi', 'any', 'dist/foo-0.1.msi')])
def test_suite(): def test_suite():
return unittest.makeSuite(BDistMSITestCase) return unittest.makeSuite(BDistMSITestCase)

View File

@ -101,6 +101,8 @@ Core and Builtins
Library Library
------- -------
- Issue #13719: Make the distutils upload command aware of bdist_msi products.
- Issue #14195: An issue that caused weakref.WeakSet instances to incorrectly - Issue #14195: An issue that caused weakref.WeakSet instances to incorrectly
return True for a WeakSet instance 'a' in both 'a < a' and 'a > a' has been return True for a WeakSet instance 'a' in both 'a < a' and 'a > a' has been
fixed. fixed.