classification
Title: teach distutils "upload" to exit with code != 0 when error occurs
Type: behavior Stage: resolved
Components: Distutils, Library (Lib) Versions: Python 3.5, Python 3.4, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: dstufft, eric.araujo, mdengler, pitrou, python-dev
Priority: normal Keywords: patch

Created on 2014-06-11 15:13 by mdengler, last changed 2014-06-19 03:15 by pitrou. This issue is now closed.

Files
File name Uploaded Description Edit
cpython-patch-Lib-distutils-command-upload.py.patch mdengler, 2014-06-11 23:24 review
cpython2-patch-Lib-distutils-command-upload.py.patch mdengler, 2014-06-11 23:24 review
cpython-patch-Lib-distutils-command-upload.py.patch mdengler, 2014-06-12 00:38 review
cpython2-patch-Lib-distutils-command-upload.py.patch mdengler, 2014-06-12 00:39 review
Messages (14)
msg220276 - (view) Author: Martin Dengler (mdengler) * Date: 2014-06-11 15:13
This patch teaches distutils/command/upload.py to return a non-zero exit code when uploading fails.  Currently a zero error code is returned (specifically, no Exception is raised by upload.run(...)) regardless of the HTTP response from the server or any socket error during that conversation.

Should be applied against tip.

Thanks.
msg220277 - (view) Author: Martin Dengler (mdengler) * Date: 2014-06-11 15:13
The attached file is a patch for backporting this fix to 2.7.7.
msg220314 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2014-06-11 22:18
Thanks you for the patch. It may be good to add a unit test for this.
Also, for development, it is probably better to use a Mercurial clone instead of trying to generate diffs by hand. See the devguide for more information: https://docs.python.org/devguide/
msg220320 - (view) Author: Martin Dengler (mdengler) * Date: 2014-06-11 23:24
Here is the patch against hg tip.
msg220321 - (view) Author: Martin Dengler (mdengler) * Date: 2014-06-11 23:24
Here is the patch against hg 2.7.
msg220322 - (view) Author: Martin Dengler (mdengler) * Date: 2014-06-11 23:26
I will submit patches with tests as soon as the before & after tests finish.
msg220323 - (view) Author: Martin Dengler (mdengler) * Date: 2014-06-12 00:38
Here is the patch against tip, including a new test case.
msg220324 - (view) Author: Martin Dengler (mdengler) * Date: 2014-06-12 00:39
Here is the patch against 2.7, including a new test case.
msg220325 - (view) Author: Martin Dengler (mdengler) * Date: 2014-06-12 00:39
If you'd like me to change anything about the test case please let me know.
msg220909 - (view) Author: Martin Dengler (mdengler) * Date: 2014-06-17 22:42
I've got the contrib form bit now.
msg220946 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2014-06-18 18:07
Thank you Martin. I will take a look soon at the patch.
msg220957 - (view) Author: Roundup Robot (python-dev) Date: 2014-06-19 03:09
New changeset d86214c98a9c by Antoine Pitrou in branch '3.4':
Issue #21722: The distutils "upload" command now exits with a non-zero return code when uploading fails.
http://hg.python.org/cpython/rev/d86214c98a9c

New changeset 979aaa08c067 by Antoine Pitrou in branch 'default':
Issue #21722: The distutils "upload" command now exits with a non-zero return code when uploading fails.
http://hg.python.org/cpython/rev/979aaa08c067
msg220958 - (view) Author: Roundup Robot (python-dev) Date: 2014-06-19 03:15
New changeset cf70f030a744 by Antoine Pitrou in branch '2.7':
Issue #21722: The distutils "upload" command now exits with a non-zero return code when uploading fails.
http://hg.python.org/cpython/rev/cf70f030a744
msg220959 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2014-06-19 03:15
I've now committed the fix. Thank you for your contribution!
History
Date User Action Args
2014-06-19 03:15:56pitrousetstatus: open -> closed
versions: + Python 3.4
type: behavior
messages: + msg220959

resolution: fixed
stage: resolved
2014-06-19 03:15:06python-devsetmessages: + msg220958
2014-06-19 03:09:26python-devsetnosy: + python-dev
messages: + msg220957
2014-06-18 18:07:15pitrousetmessages: + msg220946
2014-06-17 22:42:24mdenglersetmessages: + msg220909
2014-06-12 00:39:59mdenglersetmessages: + msg220325
2014-06-12 00:39:09mdenglersetfiles: + cpython2-patch-Lib-distutils-command-upload.py.patch

messages: + msg220324
2014-06-12 00:38:44mdenglersetfiles: + cpython-patch-Lib-distutils-command-upload.py.patch

messages: + msg220323
2014-06-11 23:26:56mdenglersetmessages: + msg220322
2014-06-11 23:25:14mdenglersetfiles: - cpython2-patch-Lib-distutils-command-upload.py.patch
2014-06-11 23:25:07mdenglersetfiles: - cpython-patch-Lib-distutils-command-upload.py.patch
2014-06-11 23:24:53mdenglersetfiles: + cpython2-patch-Lib-distutils-command-upload.py.patch

messages: + msg220321
2014-06-11 23:24:30mdenglersetfiles: + cpython-patch-Lib-distutils-command-upload.py.patch

messages: + msg220320
2014-06-11 22:18:59pitrousetnosy: + pitrou
messages: + msg220314
2014-06-11 20:17:02ned.deilysetnosy: + eric.araujo, dstufft
components: + Distutils
2014-06-11 15:13:53mdenglersetfiles: + cpython2-patch-Lib-distutils-command-upload.py.patch

messages: + msg220277
2014-06-11 15:13:10mdenglercreate