Éric Araujo committed 692be1f

Fix register failure with invalid rst in description (#13614).

Original patch by Julien Courteau and Pierre Paul Lefebvre.

  • Participants
  • Parent commits d9fe5b5
  • Branches 2.7

Comments (0)

Files changed (4)


         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:


 # -*- encoding: utf8 -*-
 """Tests for distutils.command.register."""
-import sys
 import os
 import unittest
 import getpass
 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
+    import docutils
+except ImportError:
+    docutils = None
             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', '')
+        register_module.raw_input = inputs
+        self.addCleanup(delattr, register_module, 'raw_input')
+        self.assertRaises(DistutilsSetupError,
     def test_check_metadata_deprecated(self):
         # makes sure make_metadata is deprecated
         cmd = self._get_cmd()
 Scott Cotton
 Greg Couch
 David Cournapeau
+Julien Courteau
 Steve Cousins
 Alex Coventry
 Matthew Dixon Cowles
 Thomas Lee
 Christopher Lee
 Luc Lefebvre
+Pierre Paul Lefebvre
 Glyph Lefkowitz
 Vincent Legoll
 Kip Lehman
 - Issue #16628: Fix a memory leak in ctypes.resize().
+- Issue #13614: Fix 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.