# uses internal doctest module parsing mechanism
finder = DocTestFinderPlus()
- runner = doctest.DebugRunner(verbose=False, optionflags=opts)
+ runner = doctest.DebugRunner(verbose=False, optionflags=opts,
+ checker=AstropyOutputChecker())
for test in finder.find(module):
if test.examples: # skip empty doctests
if config.getvalue("remote_data") != 'any':
yield doctest_plugin.DoctestItem(
test.name, self, runner, test)
- # This is for py.test prior to 2.4.0
- def runtest(self):
- return
-
- class DocTestTextfilePlus(doctest_plugin.DoctestTextfile):
+ class DocTestTextfilePlus(doctest_plugin.DoctestItem, pytest.Module):
def runtest(self):
# satisfy `FixtureRequest` constructor...
self.funcargs = {}
- try:
- self._fixtureinfo = doctest_plugin.FuncFixtureInfo((), [], {})
- fixture_request = doctest_plugin.FixtureRequest(self)
- except AttributeError: # pytest >= 2.8.0
- python_plugin = config.pluginmanager.getplugin('python')
- self._fixtureinfo = python_plugin.FuncFixtureInfo((), [], {})
- fixture_request = python_plugin.FixtureRequest(self)
+ fixture_request = doctest_plugin._setup_fixtures(self)
failed, tot = doctest.testfile(
str(self.fspath), module_relative=False,
-from astropy.tests.runner import TestRunner, TestRunnerBase, keyword
+from astropy.tests.runner import TestRunner as T_Runner
+from astropy.tests.runner import TestRunnerBase as T_RunnerBase
+from astropy.tests.runner import keyword
from astropy.tests.helper import pytest
def test_disable_kwarg():
- class no_remote_data(TestRunner):
+ class no_remote_data(T_Runner):
@keyword()
def remote_data(self, remote_data, kwargs):
return NotImplemented
def test_wrong_kwarg():
- r = TestRunner('.')
+ r = T_Runner('.')
with pytest.raises(TypeError):
r.run_tests(spam='eggs')
def test_invalid_kwarg():
- class bad_return(TestRunnerBase):
+ class bad_return(T_RunnerBase):
@keyword()
def remote_data(self, remote_data, kwargs):
return 'bob'
def test_new_kwarg():
- class Spam(TestRunnerBase):
+ class Spam(T_RunnerBase):
@keyword()
def spam(self, spam, kwargs):
return [spam]
def test_priority():
- class Spam(TestRunnerBase):
+ class Spam(T_RunnerBase):
@keyword()
def spam(self, spam, kwargs):
return [spam]
def test_docs():
- class Spam(TestRunnerBase):
+ class Spam(T_RunnerBase):
@keyword()
def spam(self, spam, kwargs):
"""