From 9b625d3037815a6753fca21ad19711a92bebec54 Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Wed, 4 Aug 2004 20:04:32 +0000 Subject: 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. --- Lib/doctest.py | 7 +++++-- Lib/test/test_doctest.py | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Lib/doctest.py b/Lib/doctest.py index ecf0e1a..86d1782 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 68ac44c..1062942 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) """ -- cgit v0.12