From 82d4aae571b1e5dd7684df088fcc5218dcc292b3 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Sun, 2 May 2010 17:10:38 +0200 Subject: [PATCH] some internal fixes regarding the new required hook-finding prefix --HG-- branch : trunk --- py/_plugin/pytest__pytest.py | 3 ++- testing/plugin/test_pytest__pytest.py | 28 +++++++++++++-------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/py/_plugin/pytest__pytest.py b/py/_plugin/pytest__pytest.py index 49a7f7c32..f84a0d67b 100644 --- a/py/_plugin/pytest__pytest.py +++ b/py/_plugin/pytest__pytest.py @@ -46,7 +46,8 @@ class HookRecorder: recorder = RecordCalls() self._recorders[hookspec] = recorder self._registry.register(recorder) - self.hook = HookRelay(hookspecs, registry=self._registry) + self.hook = HookRelay(hookspecs, registry=self._registry, + prefix="pytest_") def finish_recording(self): for recorder in self._recorders.values(): diff --git a/testing/plugin/test_pytest__pytest.py b/testing/plugin/test_pytest__pytest.py index 4eb7beac1..4dfa6fda0 100644 --- a/testing/plugin/test_pytest__pytest.py +++ b/testing/plugin/test_pytest__pytest.py @@ -6,25 +6,25 @@ from py._test.pluginmanager import Registry def test_hookrecorder_basic(): rec = HookRecorder(Registry()) class ApiClass: - def xyz(self, arg): - pass + def pytest_xyz(self, arg): + "x" rec.start_recording(ApiClass) - rec.hook.xyz(arg=123) - call = rec.popcall("xyz") + rec.hook.pytest_xyz(arg=123) + call = rec.popcall("pytest_xyz") assert call.arg == 123 - assert call._name == "xyz" + assert call._name == "pytest_xyz" py.test.raises(ValueError, "rec.popcall('abc')") def test_hookrecorder_basic_no_args_hook(): rec = HookRecorder(Registry()) apimod = type(os)('api') - def xyz(): - pass - apimod.xyz = xyz + def pytest_xyz(): + "x" + apimod.pytest_xyz = pytest_xyz rec.start_recording(apimod) - rec.hook.xyz() - call = rec.popcall("xyz") - assert call._name == "xyz" + rec.hook.pytest_xyz() + call = rec.popcall("pytest_xyz") + assert call._name == "pytest_xyz" def test_functional(testdir, linecomp): reprec = testdir.inline_runsource(""" @@ -33,14 +33,14 @@ def test_functional(testdir, linecomp): pytest_plugins="_pytest" def test_func(_pytest): class ApiClass: - def xyz(self, arg): pass + def pytest_xyz(self, arg): "x" hook = HookRelay([ApiClass], Registry()) rec = _pytest.gethookrecorder(hook) class Plugin: - def xyz(self, arg): + def pytest_xyz(self, arg): return arg + 1 rec._registry.register(Plugin()) - res = rec.hook.xyz(arg=41) + res = rec.hook.pytest_xyz(arg=41) assert res == [42] """) reprec.assertoutcome(passed=1)