Skip to content

Commit 3799b47

Browse files
committed
replace usages of py.log
1 parent e407a33 commit 3799b47

File tree

9 files changed

+30
-17
lines changed

9 files changed

+30
-17
lines changed

changelog/822.trivial.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Replace internal usage of ``py.log``.

src/xdist/dsession.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import py
21
import pytest
32

3+
from xdist.remote import Producer
44
from xdist.workermanage import NodeManager
55
from xdist.scheduler import (
66
EachScheduling,
@@ -34,9 +34,7 @@ class DSession:
3434

3535
def __init__(self, config):
3636
self.config = config
37-
self.log = py.log.Producer("dsession")
38-
if not config.option.debug:
39-
py.log.setconsumer(self.log._keywords, None)
37+
self.log = Producer("dsession", enabled=config.option.debug)
4038
self.nodemanager = None
4139
self.sched = None
4240
self.shuttingdown = False

src/xdist/remote.py

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
import sys
1010
import os
1111
import time
12+
from typing import Any
1213

13-
import py
1414
import pytest
1515
from execnet.gateway_base import dumps, DumpError
1616

@@ -24,6 +24,24 @@ def setproctitle(title):
2424
pass
2525

2626

27+
class Producer:
28+
"""this is defined here because this module can't depend on xdist"""
29+
30+
def __init__(self, name: str, *, enabled: bool = True):
31+
self.name = name
32+
self.enabled = enabled
33+
34+
def __repr__(self) -> str:
35+
return f"{type(self).__name__}({self.name!r}, enabled={self.enabled})"
36+
37+
def __call__(self, *a: Any, **k: Any) -> None:
38+
if self.enabled:
39+
print(f"[{self.name}]", *a, **k, file=sys.stderr)
40+
41+
def __getattr__(self, name: str) -> "Producer":
42+
return type(self)(name, enabled=self.enabled)
43+
44+
2745
def worker_title(title):
2846
try:
2947
setproctitle(title)
@@ -37,9 +55,7 @@ def __init__(self, config, channel):
3755
self.config = config
3856
self.workerid = config.workerinput.get("workerid", "?")
3957
self.testrunuid = config.workerinput["testrunuid"]
40-
self.log = py.log.Producer("worker-%s" % self.workerid)
41-
if not config.option.debug:
42-
py.log.setconsumer(self.log._keywords, None)
58+
self.log = Producer(f"worker-{self.workerid}", enabled=config.option.debug)
4359
self.channel = channel
4460
config.pluginmanager.register(self)
4561

src/xdist/scheduler/each.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
from py.log import Producer
2-
1+
from xdist.remote import Producer
32
from xdist.workermanage import parse_spec_config
43
from xdist.report import report_collection_diff
54

src/xdist/scheduler/load.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from itertools import cycle
22

3-
from py.log import Producer
43
from _pytest.runner import CollectReport
54

5+
from xdist.remote import Producer
66
from xdist.workermanage import parse_spec_config
77
from xdist.report import report_collection_diff
88

src/xdist/scheduler/loadfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from .loadscope import LoadScopeScheduling
2-
from py.log import Producer
2+
from xdist.remote import Producer
33

44

55
class LoadFileScheduling(LoadScopeScheduling):

src/xdist/scheduler/loadgroup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from .loadscope import LoadScopeScheduling
2-
from py.log import Producer
2+
from xdist.remote import Producer
33

44

55
class LoadGroupScheduling(LoadScopeScheduling):

src/xdist/scheduler/loadscope.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from collections import OrderedDict
22

33
from _pytest.runner import CollectReport
4-
from py.log import Producer
4+
from xdist.remote import Producer
55
from xdist.report import report_collection_diff
66
from xdist.workermanage import parse_spec_config
77

src/xdist/workermanage.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import execnet
1010

1111
import xdist.remote
12+
from xdist.remote import Producer
1213
from xdist.plugin import _sys_path
1314

1415

@@ -230,9 +231,7 @@ def __init__(self, nodemanager, gateway, config, putevent):
230231
}
231232
self._down = False
232233
self._shutdown_sent = False
233-
self.log = py.log.Producer("workerctl-%s" % gateway.id)
234-
if not self.config.option.debug:
235-
py.log.setconsumer(self.log._keywords, None)
234+
self.log = Producer(f"workerctl-{gateway.id}", enabled=config.option.debug)
236235

237236
def __repr__(self):
238237
return "<{} {}>".format(self.__class__.__name__, self.gateway.id)

0 commit comments

Comments
 (0)