diff options
author | Paul Ganssle <paul@ganssle.io> | 2018-11-07 16:41:19 -0500 |
---|---|---|
committer | Paul Ganssle <paul@ganssle.io> | 2018-11-07 17:38:43 -0500 |
commit | 727dd60f6a11f38d165250c543ba135687fa2e61 (patch) | |
tree | bf559a3b80912b36407c47b1e796d99cf4accc9d | |
parent | b5c9c5f42db36a07dc27d39c1be2a311cc567d99 (diff) | |
download | external_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.py | 1 | ||||
-rw-r--r-- | setuptools/tests/test_upload.py | 21 |
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') + |