aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Ganssle <paul@ganssle.io>2018-11-07 16:41:19 -0500
committerPaul Ganssle <paul@ganssle.io>2018-11-07 17:38:43 -0500
commit727dd60f6a11f38d165250c543ba135687fa2e61 (patch)
treebf559a3b80912b36407c47b1e796d99cf4accc9d
parentb5c9c5f42db36a07dc27d39c1be2a311cc567d99 (diff)
downloadexternal_python_setuptools-727dd60f6a11f38d165250c543ba135687fa2e61.tar.gz
external_python_setuptools-727dd60f6a11f38d165250c543ba135687fa2e61.tar.bz2
external_python_setuptools-727dd60f6a11f38d165250c543ba135687fa2e61.zip
Fix bdist_rpm and bdist_dumb in upload_file
This fixes uploads when bdist_rpm or bdist_dumb are the command, both of which insert a comment about what platform they are built for.
-rw-r--r--setuptools/command/upload.py1
-rw-r--r--setuptools/tests/test_upload.py21
2 files changed, 22 insertions, 0 deletions
diff --git a/setuptools/command/upload.py b/setuptools/command/upload.py
index 1851ed28..99d86011 100644
--- a/setuptools/command/upload.py
+++ b/setuptools/command/upload.py
@@ -2,6 +2,7 @@ import io
import os
import hashlib
import getpass
+import platform
from base64 import standard_b64encode
diff --git a/setuptools/tests/test_upload.py b/setuptools/tests/test_upload.py
index 3a1bbba9..7bf8e312 100644
--- a/setuptools/tests/test_upload.py
+++ b/setuptools/tests/test_upload.py
@@ -202,3 +202,24 @@ class TestUploadTest:
# Read the 'signed' data that was transmitted
entries = patched_upload.get_uploaded_metadata()
assert entries['gpg_signature'] == 'signed-data'
+
+ @pytest.mark.parametrize('bdist', ['bdist_rpm', 'bdist_dumb'])
+ @mock.patch('setuptools.command.upload.platform')
+ def test_bdist_rpm_upload(self, platform, bdist, patched_upload):
+ # Set the upload command to include bdist_rpm
+ cmd = patched_upload.cmd
+ dist_files = cmd.distribution.dist_files
+ dist_files = [(bdist,) + dist_files[0][1:]]
+ cmd.distribution.dist_files = dist_files
+
+ # Mock out the platform commands to make this platform-independent
+ platform.dist.return_value = ('redhat', '', '')
+
+ cmd.ensure_finalized()
+ cmd.run()
+
+ entries = patched_upload.get_uploaded_metadata()
+
+ assert entries['comment'].startswith(u'built for')
+ assert len(entries['comment']) > len(u'built for')
+