summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Leduc-Hamel <mlhamel@mtlpy.org>2012-05-12 16:02:50 -0400
committerMathieu Leduc-Hamel <mlhamel@mtlpy.org>2012-05-12 16:02:50 -0400
commit2b5aa0b53138c5366851db22f70e9574fcbddfbb (patch)
tree01267b112afe8578f0770388abbd81038664d92b
parent6fe308727334111de435a4ed5f547cc3a1a7f68d (diff)
downloaddisutils2-2b5aa0b53138c5366851db22f70e9574fcbddfbb.tar.gz
#13614: Merge changes from julien_courteau and PierrePaul regarding bad rst
-rw-r--r--distutils2/metadata.py4
-rw-r--r--distutils2/tests/fake_dists/python-pager-readme.rst65
-rw-r--r--distutils2/tests/test_command_register.py15
3 files changed, 10 insertions, 74 deletions
diff --git a/distutils2/metadata.py b/distutils2/metadata.py
index a16b2be..7b66ba6 100644
--- a/distutils2/metadata.py
+++ b/distutils2/metadata.py
@@ -36,7 +36,7 @@ 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)
+ levels[level], *children, **kwargs)
_HAS_DOCUTILS = True
@@ -279,7 +279,7 @@ class Metadata(object):
document.note_source(source_path, -1)
try:
parser.parse(data, document)
- except (AttributeError, TypeError):
+ except AttributeError:
reporter.messages.append((-1, 'Could not finish the parsing.',
'', {}))
diff --git a/distutils2/tests/fake_dists/python-pager-readme.rst b/distutils2/tests/fake_dists/python-pager-readme.rst
deleted file mode 100644
index c01f53f..0000000
--- a/distutils2/tests/fake_dists/python-pager-readme.rst
+++ /dev/null
@@ -1,65 +0,0 @@
-
-Python module to page screen output and get dimensions
-of available console space.
-
-It is meant to be finally included into standard library
-http://bugs.python.org/issue8408
-
-| Author: anatoly techtonik <techtonik@gmail.com>
-| License: Public Domain (or MIT if a license is required)
-
-
-Status
-------
-
-0.1 (stable)
- - shows content page by page
- - allows to get console/terminal dimensions
- - works on Windows
- - works on Linux
-
-
-API
----
-
-..function:: getwidth()
-
- Return width of available window in characters. If detection fails,
- return value of standard width 80. Coordinate of the last character
- on a line is -1 from returned value.
-
-
-..function:: getheight()
-
- Return available window height in characters or 25 if detection fails.
- Coordinate of the last line is -1 from returned value.
-
-
-..function:: getch()
-
- Wait for keypress and return character in a cross-platform way.
- Credits: Danny Yoo, Python Cookbook
-
-
-..function:: page(content, [pagecallback=prompt])
-
- Output `content` iterable, calling `pagecallback` function after each
- page. Default :func:`prompt` callback shows 'Press any key . . . ' prompt
- and waits for keypress.
-
-
-References
-----------
-
-Excellent tutorials for Win32 Console by Adrian Worley
-http://www.adrianxw.dk/SoftwareSite/index.html
-Console Reference on MSDN
-http://msdn.microsoft.com/en-us/library/ms682087%28VS.85%29.aspx
-
-Public Domain Curses library maintained by William McBrine
-http://pdcurses.sourceforge.net/
-
-Ioctl (input/output control) introduction from Wikipedia
-http://en.wikipedia.org/wiki/Ioctl
-Linux Programmer's Manual - ioctls for terminals and serial lines
-http://www.kernel.org/doc/man-pages/online/pages/man4/tty_ioctl.4.html
diff --git a/distutils2/tests/test_command_register.py b/distutils2/tests/test_command_register.py
index 7deb6e4..5fc8e99 100644
--- a/distutils2/tests/test_command_register.py
+++ b/distutils2/tests/test_command_register.py
@@ -10,7 +10,7 @@ except ImportError:
DOCUTILS_SUPPORT = False
from distutils2.tests import unittest, support
-from distutils2.tests.support import Inputs
+from distutils2.tests.support import (Inputs, requires_docutils)
from distutils2.command import register as register_module
from distutils2.command.register import register
from distutils2.errors import PackagingSetupError
@@ -253,12 +253,10 @@ class RegisterTestCase(support.TempdirManager,
self.assertEqual(data['metadata_version'], '1.2')
self.assertEqual(data['requires_dist'], ['lxml'])
+ @requires_docutils
def test_register_invalid_long_description(self):
- readme_file = os.path.join(os.path.dirname(__file__),
- 'fake_dists', 'python-pager-readme.rst')
-
- # Contains :func: which break the rst format
- data = "".join(open(readme_file).readlines())
+ # Contains :func: which break the rst format
+ data = "Default :func:`prompt` callback shows"
metadata = {'Home-page': 'xxx', 'Author': 'xxx',
'Author-email': 'xxx',
@@ -270,7 +268,10 @@ class RegisterTestCase(support.TempdirManager,
cmd.strict = True
inputs = Inputs('2', 'tarek', 'tarek@ziade.org')
register_module.raw_input = inputs
- self.assertRaises(PackagingSetupError, cmd.run)
+ with self.assertRaises(PackagingSetupError) as e:
+ cmd.run()
+ self.assertIsNotNone(e)
+ self.assertIn('func', repr(e.exception))
def test_suite():
return unittest.makeSuite(RegisterTestCase)