Commit 02b07135 authored by Éric Araujo's avatar Éric Araujo

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

Patch by Ralf Schmitt.
parent 760bf348
...@@ -262,7 +262,7 @@ class bdist_msi (Command): ...@@ -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:
......
"""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, ...@@ -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)
......
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