From 7213771cc9fb41e4b40672f3b1f50ca6106bc6b5 Mon Sep 17 00:00:00 2001 From: hpk Date: Wed, 7 Feb 2007 22:31:13 +0100 Subject: [PATCH] [svn r38122] fix parsing of extra lines (to be executed) --HG-- branch : trunk --- py/doc/conftest.py | 1 + py/doc/test_conftest.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/py/doc/conftest.py b/py/doc/conftest.py index 2ce214df3..d26d9ad56 100644 --- a/py/doc/conftest.py +++ b/py/doc/conftest.py @@ -74,6 +74,7 @@ class DoctestText(py.test.Item): prefix = '.. >>> ' mod = py.std.types.ModuleType(self.fspath.purebasename) for line in s.split('\n'): + line = line.strip() if line.startswith(prefix): exec py.code.Source(line[len(prefix):]).compile() in \ mod.__dict__ diff --git a/py/doc/test_conftest.py b/py/doc/test_conftest.py index 0bf8fcdec..dda49870a 100644 --- a/py/doc/test_conftest.py +++ b/py/doc/test_conftest.py @@ -5,6 +5,21 @@ from py.__.test.outcome import Skipped, Failed, Passed def setup_module(mod): mod.tmpdir = py.test.ensuretemp('docdoctest') +def test_doctest_extra_exec(): + # XXX get rid of the next line: + py.magic.autopath().dirpath('conftest.py').copy(tmpdir.join('conftest.py')) + xtxt = tmpdir.join('y.txt') + xtxt.write(py.code.Source(""" + hello:: + .. >>> raise ValueError + >>> None + """)) + config = py.test.config._reparse([xtxt]) + session = config.initsession() + session.main() + l = session.getitemoutcomepairs(Failed) + assert len(l) == 1 + def test_doctest_basic(): # XXX get rid of the next line: py.magic.autopath().dirpath('conftest.py').copy(tmpdir.join('conftest.py'))