Run pre-commit: black, whitespaces, rst
This commit is contained in:
@@ -17,19 +17,22 @@ import execnet
|
||||
def pytest_addoption(parser):
|
||||
group = parser.getgroup("xdist", "distributed and subprocess testing")
|
||||
group._addoption(
|
||||
'-f', '--looponfail',
|
||||
action="store_true", dest="looponfail", default=False,
|
||||
"-f",
|
||||
"--looponfail",
|
||||
action="store_true",
|
||||
dest="looponfail",
|
||||
default=False,
|
||||
help="run tests in subprocess, wait for modified files "
|
||||
"and re-run failing test set until all pass.")
|
||||
"and re-run failing test set until all pass.",
|
||||
)
|
||||
|
||||
|
||||
def pytest_cmdline_main(config):
|
||||
|
||||
if config.getoption("looponfail"):
|
||||
usepdb = config.getoption('usepdb') # a core option
|
||||
usepdb = config.getoption("usepdb") # a core option
|
||||
if usepdb:
|
||||
raise pytest.UsageError(
|
||||
"--pdb incompatible with --looponfail.")
|
||||
raise pytest.UsageError("--pdb incompatible with --looponfail.")
|
||||
looponfail_main(config)
|
||||
return 2 # looponfail only can get stop with ctrl-C anyway
|
||||
|
||||
@@ -45,8 +48,8 @@ def looponfail_main(config):
|
||||
# the last failures passed, let's immediately rerun all
|
||||
continue
|
||||
repr_pytest_looponfailinfo(
|
||||
failreports=remotecontrol.failures,
|
||||
rootdirs=rootdirs)
|
||||
failreports=remotecontrol.failures, rootdirs=rootdirs
|
||||
)
|
||||
statrecorder.waitonchange(checkinterval=2.0)
|
||||
except KeyboardInterrupt:
|
||||
print()
|
||||
@@ -68,7 +71,7 @@ class RemoteControl(object):
|
||||
def setup(self, out=None):
|
||||
if out is None:
|
||||
out = py.io.TerminalWriter()
|
||||
if hasattr(self, 'gateway'):
|
||||
if hasattr(self, "gateway"):
|
||||
raise ValueError("already have gateway %r" % self.gateway)
|
||||
self.trace("setting up worker session")
|
||||
self.gateway = self.initgateway()
|
||||
@@ -82,15 +85,16 @@ class RemoteControl(object):
|
||||
def write(s):
|
||||
out._file.write(s)
|
||||
out._file.flush()
|
||||
|
||||
remote_outchannel.setcallback(write)
|
||||
|
||||
def ensure_teardown(self):
|
||||
if hasattr(self, 'channel'):
|
||||
if hasattr(self, "channel"):
|
||||
if not self.channel.isclosed():
|
||||
self.trace("closing", self.channel)
|
||||
self.channel.close()
|
||||
del self.channel
|
||||
if hasattr(self, 'gateway'):
|
||||
if hasattr(self, "gateway"):
|
||||
self.trace("exiting", self.gateway)
|
||||
self.gateway.exit()
|
||||
del self.gateway
|
||||
@@ -138,8 +142,9 @@ def repr_pytest_looponfailinfo(failreports, rootdirs):
|
||||
def init_worker_session(channel, args, option_dict):
|
||||
import os
|
||||
import sys
|
||||
|
||||
outchannel = channel.gateway.newchannel()
|
||||
sys.stdout = sys.stderr = outchannel.makefile('w')
|
||||
sys.stdout = sys.stderr = outchannel.makefile("w")
|
||||
channel.send(outchannel)
|
||||
# prune sys.path to not contain relative paths
|
||||
newpaths = []
|
||||
@@ -152,9 +157,11 @@ def init_worker_session(channel, args, option_dict):
|
||||
|
||||
# fullwidth, hasmarkup = channel.receive()
|
||||
from _pytest.config import Config
|
||||
|
||||
config = Config.fromdictargs(option_dict, list(args))
|
||||
config.args = args
|
||||
from xdist.looponfail import WorkerFailSession
|
||||
|
||||
WorkerFailSession(config, channel).main()
|
||||
|
||||
|
||||
@@ -181,7 +188,8 @@ class WorkerFailSession(object):
|
||||
except pytest.UsageError:
|
||||
items = session.perform_collect(None)
|
||||
hook.pytest_collection_modifyitems(
|
||||
session=session, config=session.config, items=items)
|
||||
session=session, config=session.config, items=items
|
||||
)
|
||||
hook.pytest_collection_finish(session=session)
|
||||
return True
|
||||
|
||||
@@ -207,7 +215,7 @@ class WorkerFailSession(object):
|
||||
for rep in self.recorded_failures:
|
||||
trails.append(rep.nodeid)
|
||||
loc = rep.longrepr
|
||||
loc = str(getattr(loc, 'reprcrash', loc))
|
||||
loc = str(getattr(loc, "reprcrash", loc))
|
||||
failreports.append(loc)
|
||||
self.channel.send((trails, failreports, self.collection_failed))
|
||||
|
||||
@@ -245,8 +253,10 @@ class StatRecorder(object):
|
||||
changed = True
|
||||
else:
|
||||
if oldstat:
|
||||
if oldstat.mtime != curstat.mtime or \
|
||||
oldstat.size != curstat.size:
|
||||
if (
|
||||
oldstat.mtime != curstat.mtime
|
||||
or oldstat.size != curstat.size
|
||||
):
|
||||
changed = True
|
||||
print("# MODIFIED", path)
|
||||
if removepycfiles and path.ext == ".py":
|
||||
|
||||
Reference in New Issue
Block a user