[Python-checkins] cpython (2.7): Make distutils’ upload command work with bdist_msi products (#13719).

eric.araujo python-checkins at python.org
Mon Mar 5 16:48:33 CET 2012


http://hg.python.org/cpython/rev/7671932c98d3
changeset:   75435:7671932c98d3
branch:      2.7
user:        Éric Araujo <merwok at netwok.org>
date:        Mon Mar 05 16:47:33 2012 +0100
summary:
  Make distutils’ upload command work with bdist_msi products (#13719).

Patch by Ralf Schmitt.

files:
  Lib/distutils/command/bdist_msi.py    |   2 +-
  Lib/distutils/tests/test_bdist_msi.py |  18 ++++++++++----
  Misc/NEWS                             |   2 +
  3 files changed, 16 insertions(+), 6 deletions(-)


diff --git a/Lib/distutils/command/bdist_msi.py b/Lib/distutils/command/bdist_msi.py
--- a/Lib/distutils/command/bdist_msi.py
+++ b/Lib/distutils/command/bdist_msi.py
@@ -262,7 +262,7 @@
         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:
diff --git a/Lib/distutils/tests/test_bdist_msi.py b/Lib/distutils/tests/test_bdist_msi.py
--- a/Lib/distutils/tests/test_bdist_msi.py
+++ b/Lib/distutils/tests/test_bdist_msi.py
@@ -1,12 +1,11 @@
 """Tests for distutils.command.bdist_msi."""
+import sys
 import unittest
-import sys
-
 from test.test_support import run_unittest
-
 from distutils.tests import support
 
- at unittest.skipUnless(sys.platform=="win32", "These tests are only for win32")
+
+ at unittest.skipUnless(sys.platform == 'win32', 'these tests require Windows')
 class BDistMSITestCase(support.TempdirManager,
                        support.LoggingSilencer,
                        unittest.TestCase):
@@ -14,9 +13,18 @@
     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)
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -101,6 +101,8 @@
 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.

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list