From: Tim Peters Date: Wed, 4 Aug 2004 20:04:32 +0000 (+0000) Subject: Example.__init__: this cannot use assert, because that fails to trigger X-Git-Tag: v2.4a2~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9b625d3037815a6753fca21ad19711a92bebec54;p=python Example.__init__: this cannot use assert, because that fails to trigger in a -O run, and so test_doctest was failing under -O. Simple cause, simple cure. --- diff --git a/Lib/doctest.py b/Lib/doctest.py index ecf0e1ac6d..86d1782021 100644 --- a/Lib/doctest.py +++ b/Lib/doctest.py @@ -478,8 +478,11 @@ class Example: """ def __init__(self, source, want, lineno): # Check invariants. - assert (source[-1:] == '\n') == ('\n' in source[:-1]) - assert want == '' or want[-1] == '\n' + if (source[-1:] == '\n') != ('\n' in source[:-1]): + raise AssertionError("source must end with newline iff " + "source contains more than one line") + if want and want[-1] != '\n': + raise AssertionError("non-empty want must end with newline") # Store properties. self.source = source self.want = want diff --git a/Lib/test/test_doctest.py b/Lib/test/test_doctest.py index 68ac44c6e6..1062942ca2 100644 --- a/Lib/test/test_doctest.py +++ b/Lib/test/test_doctest.py @@ -132,13 +132,13 @@ than one line: >>> e = doctest.Example('print 1', '1\n', 0) >>> e = doctest.Example('print 1\n', '1\n', 0) Traceback (most recent call last): - AssertionError + AssertionError: source must end with newline iff source contains more than one line >>> # Source spans multiple lines: require terminating newline. >>> e = doctest.Example('print 1;\nprint 2\n', '1\n2\n', 0) >>> e = doctest.Example('print 1;\nprint 2', '1\n2\n', 0) Traceback (most recent call last): - AssertionError + AssertionError: source must end with newline iff source contains more than one line The `want` string should be terminated by a newline, unless it's the empty string: @@ -146,7 +146,7 @@ empty string: >>> e = doctest.Example('print 1', '1\n', 0) >>> e = doctest.Example('print 1', '1', 0) Traceback (most recent call last): - AssertionError + AssertionError: non-empty want must end with newline >>> e = doctest.Example('print', '', 0) """