Skip to content

Commit dad903c

Browse files
author
goodboy
authored
Merge pull request #156 from blueyed/repr
Add HookImpl.__repr__
2 parents 76232fa + df14939 commit dad903c

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

pluggy/hooks.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,3 +315,9 @@ def __init__(self, plugin, plugin_name, function, hook_impl_opts):
315315
self.opts = hook_impl_opts
316316
self.plugin_name = plugin_name
317317
self.__dict__.update(hook_impl_opts)
318+
319+
def __repr__(self):
320+
return "<HookImpl plugin_name=%r, plugin=%r>" % (
321+
self.plugin_name,
322+
self.plugin,
323+
)

testing/test_details.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,3 +117,20 @@ def myhook(self, arg1):
117117
warning = warns[-1]
118118
assert issubclass(warning.category, Warning)
119119
assert "Argument(s) ('arg2',)" in str(warning.message)
120+
121+
122+
def test_repr():
123+
class Plugin:
124+
@hookimpl
125+
def myhook():
126+
raise NotImplementedError()
127+
128+
pm = PluginManager(hookspec.project_name)
129+
130+
plugin = Plugin()
131+
pname = pm.register(plugin)
132+
assert repr(pm.hook.myhook._nonwrappers[0]) == (
133+
"<HookImpl plugin_name=%r, plugin=%r>" % (
134+
pname,
135+
plugin,
136+
))

0 commit comments

Comments
 (0)