|
19 | 19 | IMPORTPREFIX = "pytest_"
|
20 | 20 |
|
21 | 21 | class TagTracer:
|
22 |
| - def __init__(self): |
| 22 | + def __init__(self, prefix="[pytest] "): |
23 | 23 | self._tag2proc = {}
|
24 | 24 | self.writer = None
|
| 25 | + self.indent = 0 |
| 26 | + self.prefix = prefix |
25 | 27 |
|
26 | 28 | def get(self, name):
|
27 | 29 | return TagTracerSub(self, (name,))
|
28 | 30 |
|
29 | 31 | def processmessage(self, tags, args):
|
30 | 32 | if self.writer is not None:
|
31 |
| - prefix = ":".join(tags) |
32 |
| - content = " ".join(map(str, args)) |
33 |
| - self.writer("[%s] %s\n" %(prefix, content)) |
| 33 | + if args: |
| 34 | + indent = " " * self.indent |
| 35 | + content = " ".join(map(str, args)) |
| 36 | + self.writer("%s%s%s\n" %(self.prefix, indent, content)) |
34 | 37 | try:
|
35 | 38 | self._tag2proc[tags](tags, args)
|
36 | 39 | except KeyError:
|
@@ -62,7 +65,7 @@ def __init__(self, load=False):
|
62 | 65 | self._name2plugin = {}
|
63 | 66 | self._plugins = []
|
64 | 67 | self._hints = []
|
65 |
| - self.trace = TagTracer().get("pytest") |
| 68 | + self.trace = TagTracer().get("pluginmanage") |
66 | 69 | if os.environ.get('PYTEST_DEBUG'):
|
67 | 70 | self.trace.root.setwriter(sys.stderr.write)
|
68 | 71 | self.hook = HookRelay([hookspec], pm=self)
|
@@ -340,6 +343,7 @@ def __init__(self, hookspecs, pm, prefix="pytest_"):
|
340 | 343 | hookspecs = [hookspecs]
|
341 | 344 | self._hookspecs = []
|
342 | 345 | self._pm = pm
|
| 346 | + self.trace = pm.trace.root.get("hook") |
343 | 347 | for hookspec in hookspecs:
|
344 | 348 | self._addhooks(hookspec, prefix)
|
345 | 349 |
|
@@ -376,6 +380,7 @@ def __call__(self, **kwargs):
|
376 | 380 | return mc.execute()
|
377 | 381 |
|
378 | 382 | def pcall(self, plugins, **kwargs):
|
| 383 | + self.hookrelay.trace(self.name, kwargs) |
379 | 384 | methods = self.hookrelay._pm.listattr(self.name, plugins=plugins)
|
380 | 385 | mc = MultiCall(methods, kwargs, firstresult=self.firstresult)
|
381 | 386 | return mc.execute()
|
|
0 commit comments