run doctests in .txt/.rst files directly specified on command line irrespective of "test*.txt" pattern.

This commit is contained in:
holger krekel 2010-11-17 14:33:21 +01:00
parent fb102a2ddb
commit acd286f82f
4 changed files with 7 additions and 6 deletions

View File

@ -19,7 +19,8 @@ def pytest_collect_file(path, parent):
if path.ext == ".py":
if config.option.doctestmodules:
return DoctestModule(path, parent)
elif path.check(fnmatch=config.getvalue("doctestglob")):
elif (path.ext in ('.txt', '.rst') and parent.session.isinitpath(path)) or \
path.check(fnmatch=config.getvalue("doctestglob")):
return DoctestTextfile(path, parent)
class ReprFailDoctest(TerminalRepr):

View File

@ -5,7 +5,7 @@ py.test: no-boilerplate testing with Python
.. note::
version 2.0 introduces ``pytest`` as the main Python import name
but for compatibility reasons you may continue to use ``py.test``
but for compatibility reasons you can continue to use ``py.test``
in your test code.
Welcome to ``py.test`` documentation:

View File

@ -1,12 +1,10 @@
from _pytest.doctest import DoctestModule, DoctestTextfile
import py
pytest_plugins = ["pytest_doctest"]
class TestDoctests:
def test_collect_testtextfile(self, testdir):
testdir.maketxtfile(whatever="")
w = testdir.maketxtfile(whatever="")
checkfile = testdir.maketxtfile(test_something="""
alskdjalsdk
>>> i = 5
@ -18,6 +16,8 @@ class TestDoctests:
items, reprec = testdir.inline_genitems(x)
assert len(items) == 1
assert isinstance(items[0], DoctestTextfile)
items, reprec = testdir.inline_genitems(w)
assert len(items) == 1
def test_collect_module(self, testdir):
path = testdir.makepyfile(whatever="#")

View File

@ -57,6 +57,6 @@ commands=
[pytest]
minversion=2.0
plugins=pytester
#addopts= -rxf --pyargs
addopts= -rxf --pyargs
rsyncdirs=tox.ini pytest.py _pytest testing