Hello,
Is there a way to access a test's fixtures from the pytest_runtest_call
hook?
Specifically, I'd like to access the capfd and caplog fixtures to take a
peek at the captured output and cause the test to fail if there is
anything suspicious.
At the moment, I am checking the captured output by using a autouse
yield fixture but this has the drawback that the failure is reported in
the teardown rather than the test, and that test is reported twice:
first as passed, and then as failed, e.g.:
$ py.test-3 tests/mytest.py
============================================ test session starts
============================================
platform linux -- Python 3.4.2, pytest-2.8.7, py-1.4.31, pluggy-0.3.1 --
/usr/bin/python3
cachedir: tests/.cache
rootdir: /home/nikratio/in-progress/s3ql/tests, inifile: pytest.ini
plugins: catchlog-1.2.1
collected 1 items
tests/mytest.py::test_log PASSED
tests/mytest.py::test_log ERROR
================================================== ERRORS
===================================================
_______________________________________ ERROR at teardown of test_log
_______________________________________
Traceback (most recent call last):
File "/home/nikratio/in-progress/s3ql/tests/conftest.py", line 48, in
check_test_output
raise AssertionError('Suspicious output to stderr')
AssertionError: Suspicious output to stderr
Best,
-Nikolaus
--
GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F
Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F
»Time flies like an arrow, fruit flies like a Banana.«
_______________________________________________
pytest-dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pytest-dev