summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorÉric Araujo <aeric@mtlpy.org>2012-12-09 03:45:09 (GMT)
committerÉric Araujo <aeric@mtlpy.org>2012-12-09 03:45:09 (GMT)
commit367efc254ddd6b1e40c36d702bc727b9c26dcdcb (patch)
tree7a5314e908fb909f6f15d9bbd928fe57e3d172a0
parentd38c990bb73f47a6293e5f783131b709e7ef0982 (diff)
parent9e06e8d5dec7b2f4ca28f9a50c16467dfcebee7f (diff)
downloadcpython-367efc254ddd6b1e40c36d702bc727b9c26dcdcb.zip
cpython-367efc254ddd6b1e40c36d702bc727b9c26dcdcb.tar.gz
cpython-367efc254ddd6b1e40c36d702bc727b9c26dcdcb.tar.bz2
Branch merge
-rw-r--r--Doc/distutils/apiref.rst3
-rw-r--r--Lib/distutils/command/check.py3
-rw-r--r--Lib/distutils/config.py5
-rw-r--r--Lib/distutils/tests/test_register.py33
-rw-r--r--Misc/ACKS2
-rw-r--r--Misc/NEWS3
6 files changed, 33 insertions, 16 deletions
diff --git a/Doc/distutils/apiref.rst b/Doc/distutils/apiref.rst
index 60c0dd8..76567ad 100644
--- a/Doc/distutils/apiref.rst
+++ b/Doc/distutils/apiref.rst
@@ -991,6 +991,9 @@ directories.
these files is available in answer D2 of the `NFS FAQ page
<http://nfs.sourceforge.net/#section_d>`_.
+ .. versionchanged:: 2.7.4
+ NFS files are ignored.
+
.. function:: remove_tree(directory[, verbose=0, dry_run=0])
diff --git a/Lib/distutils/command/check.py b/Lib/distutils/command/check.py
index 4b64e45..152bf0de 100644
--- a/Lib/distutils/command/check.py
+++ b/Lib/distutils/command/check.py
@@ -26,6 +26,9 @@ try:
def system_message(self, level, message, *children, **kwargs):
self.messages.append((level, message, children, kwargs))
+ return nodes.system_message(message, level=level,
+ type=self.levels[level],
+ *children, **kwargs)
HAS_DOCUTILS = True
except ImportError:
diff --git a/Lib/distutils/config.py b/Lib/distutils/config.py
index 9d8b30e..1d32714 100644
--- a/Lib/distutils/config.py
+++ b/Lib/distutils/config.py
@@ -47,11 +47,6 @@ class PyPIRCCommand(Command):
f.write(DEFAULT_PYPIRC % (username, password))
finally:
f.close()
- try:
- os.chmod(rc, 0600)
- except OSError:
- # should do something better here
- pass
def _read_pypirc(self):
"""Reads the .pypirc file."""
diff --git a/Lib/distutils/tests/test_register.py b/Lib/distutils/tests/test_register.py
index aa9bc43..4f34b18 100644
--- a/Lib/distutils/tests/test_register.py
+++ b/Lib/distutils/tests/test_register.py
@@ -1,6 +1,5 @@
# -*- encoding: utf8 -*-
"""Tests for distutils.command.register."""
-import sys
import os
import unittest
import getpass
@@ -11,11 +10,14 @@ from test.test_support import check_warnings, run_unittest
from distutils.command import register as register_module
from distutils.command.register import register
-from distutils.core import Distribution
from distutils.errors import DistutilsSetupError
-from distutils.tests import support
-from distutils.tests.test_config import PYPIRC, PyPIRCCommandTestCase
+from distutils.tests.test_config import PyPIRCCommandTestCase
+
+try:
+ import docutils
+except ImportError:
+ docutils = None
PYPIRC_NOPASSWORD = """\
[distutils]
@@ -192,6 +194,7 @@ class RegisterTestCase(PyPIRCCommandTestCase):
self.assertEqual(headers['Content-length'], '290')
self.assertTrue('tarek' in req.data)
+ @unittest.skipUnless(docutils is not None, 'needs docutils')
def test_strict(self):
# testing the script option
# when on, the register command stops if
@@ -204,13 +207,6 @@ class RegisterTestCase(PyPIRCCommandTestCase):
cmd.strict = 1
self.assertRaises(DistutilsSetupError, cmd.run)
- # we don't test the reSt feature if docutils
- # is not installed
- try:
- import docutils
- except ImportError:
- return
-
# metadata are OK but long_description is broken
metadata = {'url': 'xxx', 'author': 'xxx',
'author_email': u'éxéxé',
@@ -264,6 +260,21 @@ class RegisterTestCase(PyPIRCCommandTestCase):
finally:
del register_module.raw_input
+ @unittest.skipUnless(docutils is not None, 'needs docutils')
+ def test_register_invalid_long_description(self):
+ description = ':funkie:`str`' # mimic Sphinx-specific markup
+ metadata = {'url': 'xxx', 'author': 'xxx',
+ 'author_email': 'xxx',
+ 'name': 'xxx', 'version': 'xxx',
+ 'long_description': description}
+ cmd = self._get_cmd(metadata)
+ cmd.ensure_finalized()
+ cmd.strict = True
+ inputs = RawInputs('2', 'tarek', 'tarek@ziade.org')
+ register_module.raw_input = inputs
+ self.addCleanup(delattr, register_module, 'raw_input')
+ self.assertRaises(DistutilsSetupError, cmd.run)
+
def test_check_metadata_deprecated(self):
# makes sure make_metadata is deprecated
cmd = self._get_cmd()
diff --git a/Misc/ACKS b/Misc/ACKS
index 5e4c03a..d9ea742 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -201,6 +201,7 @@ David Costanzo
Scott Cotton
Greg Couch
David Cournapeau
+Julien Courteau
Steve Cousins
Alex Coventry
Matthew Dixon Cowles
@@ -572,6 +573,7 @@ Inyeol Lee
Thomas Lee
Christopher Lee
Luc Lefebvre
+Pierre Paul Lefebvre
Glyph Lefkowitz
Vincent Legoll
Kip Lehman
diff --git a/Misc/NEWS b/Misc/NEWS
index 9934212..ecf0aa3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -162,6 +162,9 @@ Library
- Issue #16628: Fix a memory leak in ctypes.resize().
+- Issue #13614: Fix setup.py register failure with invalid rst in description.
+ Patch by Julien Courteau and Pierre Paul Lefebvre.
+
- Issue #10182: The re module doesn't truncate indices to 32 bits anymore.
Patch by Serhiy Storchaka.