]> granicus.if.org Git - python/commitdiff
Make distutils’ upload command work with bdist_msi products (#13719).
authorÉric Araujo <merwok@netwok.org>
Mon, 5 Mar 2012 15:47:33 +0000 (16:47 +0100)
committerÉric Araujo <merwok@netwok.org>
Mon, 5 Mar 2012 15:47:33 +0000 (16:47 +0100)
Patch by Ralf Schmitt.

Lib/distutils/command/bdist_msi.py
Lib/distutils/tests/test_bdist_msi.py
Misc/NEWS

index 703f873b164e895988ef100de8561ed7dd7e6f41..09c6a89851d9310c6c06c4916ef2ff20725bb656 100644 (file)
@@ -262,7 +262,7 @@ class bdist_msi (Command):
         self.db.Commit()
 
         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)
 
         if not self.keep_temp:
index 1c897ab04d6ab2f160c174394a32fd79e99efab5..f175ed442b609168531931771c3149de84fd4520 100644 (file)
@@ -1,12 +1,11 @@
 """Tests for distutils.command.bdist_msi."""
-import unittest
 import sys
-
+import unittest
 from test.test_support import run_unittest
-
 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,
                        support.LoggingSilencer,
                        unittest.TestCase):
@@ -14,9 +13,18 @@ class BDistMSITestCase(support.TempdirManager,
     def test_minimal(self):
         # minimal test XXX need more tests
         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.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():
     return unittest.makeSuite(BDistMSITestCase)
index 89b647170fb70ae7c7c8a017beab9a2a21a5a47b..4fe056dc7e49001904c5ec7bf9846facfe7c9b8d 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -101,6 +101,8 @@ Core and Builtins
 Library
 -------
 
+- Issue #13719: Make the distutils upload command aware of bdist_msi products.
+
 - 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
   fixed.