Files
pytest2/py/test/plugin/pytest_hooklog.py
holger krekel d1f24aa251 plugin cleanups
* make pytest_eventlog.py work again by adding a hack to the registry, rename
* disable resultdb hook plugin, it needs merging with resultlog
* add some docstrings, streamline bits

--HG--
branch : trunk
2009-05-20 23:12:37 +02:00

37 lines
1.1 KiB
Python

""" log calling of plugin hooks to a file. """
import py
def pytest_addoption(parser):
parser.addoption("--hooklog", dest="hooklog", default=None,
help="write hook calls to the given file.")
def pytest_configure(config):
hooklog = config.getvalue("hooklog")
if hooklog:
assert not config.pluginmanager.comregistry.logfile
config.pluginmanager.comregistry.logfile = open(hooklog, 'w')
def pytest_unconfigure(config):
f = config.pluginmanager.comregistry.logfile
if f:
f.close()
config.pluginmanager.comregistry.logfile = None
# ===============================================================================
# plugin tests
# ===============================================================================
def test_generic(plugintester):
plugintester.hookcheck()
def test_functional(testdir):
testdir.makepyfile("""
def test_pass():
pass
""")
testdir.runpytest("--hooklog=hook.log")
s = testdir.tmpdir.join("hook.log").read()
assert s.find("pytest_testrunstart") != -1
assert s.find("ItemTestReport") != -1
assert s.find("testrunfinish") != -1