mirror of https://github.com/python/cpython.git
Fix setup.py register failure with invalid rst in description (#13614).
Original patch by Julien Courteau and Pierre Paul Lefebvre.
This commit is contained in:
parent
9bc9ab5f85
commit
8b503c0a4e
|
@ -23,6 +23,9 @@ def __init__(self, source, report_level, halt_level, stream=None,
|
|||
|
||||
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 Exception:
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
"""Tests for distutils.command.register."""
|
||||
import sys
|
||||
import os
|
||||
import unittest
|
||||
import getpass
|
||||
|
@ -10,11 +9,14 @@
|
|||
|
||||
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]
|
||||
|
@ -193,6 +195,7 @@ def test_password_reset(self):
|
|||
self.assertEqual(headers['Content-length'], '290')
|
||||
self.assertTrue((b'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
|
||||
|
@ -205,13 +208,6 @@ def test_strict(self):
|
|||
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': 'éxéxé',
|
||||
|
@ -265,6 +261,22 @@ def test_strict(self):
|
|||
finally:
|
||||
del register_module.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 = Inputs('2', 'tarek', 'tarek@ziade.org')
|
||||
register_module.input = inputs
|
||||
self.addCleanup(delattr, register_module, 'input')
|
||||
|
||||
self.assertRaises(DistutilsSetupError, cmd.run)
|
||||
|
||||
def test_check_metadata_deprecated(self):
|
||||
# makes sure make_metadata is deprecated
|
||||
cmd = self._get_cmd()
|
||||
|
|
|
@ -222,6 +222,7 @@ David Costanzo
|
|||
Scott Cotton
|
||||
Greg Couch
|
||||
David Cournapeau
|
||||
Julien Courteau
|
||||
Steve Cousins
|
||||
Alex Coventry
|
||||
Matthew Dixon Cowles
|
||||
|
@ -621,6 +622,7 @@ Thomas Lee
|
|||
Christopher Lee
|
||||
Tennessee Leeuwenburg
|
||||
Luc Lefebvre
|
||||
Pierre Paul Lefebvre
|
||||
Glyph Lefkowitz
|
||||
Vincent Legoll
|
||||
Kip Lehman
|
||||
|
|
|
@ -177,6 +177,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 #13512: Create ~/.pypirc securely (CVE-2011-4944). Initial patch by
|
||||
Philip Jenvey, tested by Mageia and Debian.
|
||||
|
||||
|
|
Loading…
Reference in New Issue