1 new commit in pytest:
https://bitbucket.org/hpk42/pytest/commits/7cc1a4514c8e/
Changeset: 7cc1a4514c8e
User: hpk42
Date: 2013-11-22 15:35:20
Summary: fix issue275 - allow usefixtures and autouse fixtures
for running doctest text files.
Affected #: 4 files
diff -r a5419e5024d9719d49f7d3fc8ff1811021a106c3 -r
7cc1a4514c8e4b8329e28c6de8a7de6174c239ec CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -29,6 +29,9 @@
- don't hide an ImportError when importing a plugin produces one.
fixes issue375.
+- fix issue275 - allow usefixtures and autouse fixtures
+ for running doctest text files.
+
- fix issue380 by making --resultlog only rely on longrepr instead
of the "reprcrash" attribute which only exists sometimes.
diff -r a5419e5024d9719d49f7d3fc8ff1811021a106c3 -r
7cc1a4514c8e4b8329e28c6de8a7de6174c239ec _pytest/doctest.py
--- a/_pytest/doctest.py
+++ b/_pytest/doctest.py
@@ -91,8 +91,13 @@
doctest = py.std.doctest
# satisfy `FixtureRequest` constructor...
self.funcargs = {}
- self._fixtureinfo = FuncFixtureInfo((), [], {})
+ fm = self.session._fixturemanager
+ def func():
+ pass
+ self._fixtureinfo = fm.getfixtureinfo(node=self, func=func,
+ cls=None, funcargs=False)
fixture_request = FixtureRequest(self)
+ fixture_request._fillfixtures()
failed, tot = doctest.testfile(
str(self.fspath), module_relative=False,
optionflags=doctest.ELLIPSIS,
diff -r a5419e5024d9719d49f7d3fc8ff1811021a106c3 -r
7cc1a4514c8e4b8329e28c6de8a7de6174c239ec doc/en/doctest.txt
--- a/doc/en/doctest.txt
+++ b/doc/en/doctest.txt
@@ -56,3 +56,7 @@
# content of example.rst
>>> tmp = getfixture('tmpdir')
>>> ...
+ >>>
+
+Also, :ref:`usefixtures` and :ref:`autouse` fixtures are supported
+when executing text doctest files.
diff -r a5419e5024d9719d49f7d3fc8ff1811021a106c3 -r
7cc1a4514c8e4b8329e28c6de8a7de6174c239ec testing/test_doctest.py
--- a/testing/test_doctest.py
+++ b/testing/test_doctest.py
@@ -209,6 +209,26 @@
reprec = testdir.inline_run(p, )
reprec.assertoutcome(passed=1)
+ @xfail_if_pdbpp_installed
+ def test_txtfile_with_usefixtures_in_ini(self, testdir):
+ testdir.makeini("""
+ [pytest]
+ usefixtures = myfixture
+ """)
+ testdir.makeconftest("""
+ import pytest
+ @pytest.fixture
+ def myfixture(monkeypatch):
+ monkeypatch.setenv("HELLO", "WORLD")
+ """)
+
+ p = testdir.maketxtfile("""
+ >>> import os
+ >>> os.environ["HELLO"]
+ 'WORLD'
+ """)
+ reprec = testdir.inline_run(p, )
+ reprec.assertoutcome(passed=1)
@xfail_if_pdbpp_installed
def test_doctestmodule_with_fixtures(self, testdir):
Repository URL: https://bitbucket.org/hpk42/pytest/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
pytest-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pytest-commit