Bump min execnet to 2.1.0
This version adds typing which we want to utilize.
This commit is contained in:
@@ -30,4 +30,5 @@ repos:
|
|||||||
args: []
|
args: []
|
||||||
additional_dependencies:
|
additional_dependencies:
|
||||||
- pytest>=7.0.0
|
- pytest>=7.0.0
|
||||||
|
- execnet>=2.1.0
|
||||||
- py>=1.10.0
|
- py>=1.10.0
|
||||||
|
|||||||
@@ -1 +1,3 @@
|
|||||||
pytest>=7.0.0 is now required.
|
pytest>=7.0.0 is now required.
|
||||||
|
|
||||||
|
execnet>=2.1.0 is now required.
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ classifiers = [
|
|||||||
]
|
]
|
||||||
requires-python = ">=3.8"
|
requires-python = ">=3.8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"execnet>=1.1",
|
"execnet>=2.1",
|
||||||
"pytest>=7.0.0",
|
"pytest>=7.0.0",
|
||||||
]
|
]
|
||||||
dynamic = ["version"]
|
dynamic = ["version"]
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ class NodeManager:
|
|||||||
# XXX This changes the calling behaviour of
|
# XXX This changes the calling behaviour of
|
||||||
# pytest_xdist_rsyncstart and pytest_xdist_rsyncfinish to
|
# pytest_xdist_rsyncstart and pytest_xdist_rsyncfinish to
|
||||||
# be called once per rsync target.
|
# be called once per rsync target.
|
||||||
rsync = HostRSync(source, verbose=verbose, ignores=ignores)
|
rsync = HostRSync(source, verbose=verbose > 0, ignores=ignores)
|
||||||
spec = gateway.spec
|
spec = gateway.spec
|
||||||
if spec.popen and not spec.chdir:
|
if spec.popen and not spec.chdir:
|
||||||
# XXX This assumes that sources are python-packages
|
# XXX This assumes that sources are python-packages
|
||||||
@@ -175,12 +175,12 @@ class HostRSync(execnet.RSync):
|
|||||||
sourcedir: PathLike,
|
sourcedir: PathLike,
|
||||||
*,
|
*,
|
||||||
ignores: Optional[Sequence[PathLike]] = None,
|
ignores: Optional[Sequence[PathLike]] = None,
|
||||||
**kwargs: object,
|
verbose: bool = True,
|
||||||
) -> None:
|
) -> None:
|
||||||
if ignores is None:
|
if ignores is None:
|
||||||
ignores = []
|
ignores = []
|
||||||
self._ignores = [re.compile(fnmatch.translate(os.fspath(x))) for x in ignores]
|
self._ignores = [re.compile(fnmatch.translate(os.fspath(x))) for x in ignores]
|
||||||
super().__init__(sourcedir=Path(sourcedir), **kwargs)
|
super().__init__(sourcedir=Path(sourcedir), verbose=verbose)
|
||||||
|
|
||||||
def filter(self, path: PathLike) -> bool:
|
def filter(self, path: PathLike) -> bool:
|
||||||
path = Path(path)
|
path = Path(path)
|
||||||
|
|||||||
@@ -102,14 +102,14 @@ class TestNodeManagerPopen:
|
|||||||
def waitclose(self):
|
def waitclose(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
gw.remote_exec = pseudoexec
|
gw.remote_exec = pseudoexec # type: ignore[assignment]
|
||||||
notifications = []
|
notifications = []
|
||||||
for gw in hm.group:
|
for gw in hm.group:
|
||||||
hm.rsync(gw, source, notify=lambda *args: notifications.append(args))
|
hm.rsync(gw, source, notify=lambda *args: notifications.append(args))
|
||||||
assert not notifications
|
assert not notifications
|
||||||
hm.teardown_nodes()
|
hm.teardown_nodes()
|
||||||
assert not len(hm.group)
|
assert not len(hm.group)
|
||||||
assert "sys.path.insert" in gw.remote_exec.args[0]
|
assert "sys.path.insert" in gw.remote_exec.args[0] # type: ignore[attr-defined]
|
||||||
|
|
||||||
def test_rsync_popen_with_path(
|
def test_rsync_popen_with_path(
|
||||||
self, config, source: Path, dest: Path, workercontroller
|
self, config, source: Path, dest: Path, workercontroller
|
||||||
|
|||||||
Reference in New Issue
Block a user