Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-execnet for openSUSE:Factory checked in at 2026-08-09 21:32:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-execnet (Old) and /work/SRC/openSUSE:Factory/.python-execnet.new.16738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-execnet" Sun Aug 9 21:32:37 2026 rev:19 rq:1370109 version:2.1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-execnet/python-execnet.changes 2024-04-29 17:57:33.565654035 +0200 +++ /work/SRC/openSUSE:Factory/.python-execnet.new.16738/python-execnet.changes 2026-08-09 21:33:41.974825186 +0200 @@ -1,0 +2,6 @@ +Thu Aug 6 20:10:19 UTC 2026 - Dirk Müller <[email protected]> + +- update to 2.1.2: + * fix artifact building - pin minimal version of hatch. + +------------------------------------------------------------------- Old: ---- execnet-2.1.1.tar.gz New: ---- _scmsync.obsinfo build.specials.obscpio execnet-2.1.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-execnet.spec ++++++ --- /var/tmp/diff_new_pack.QZsirK/_old 2026-08-09 21:33:42.842854684 +0200 +++ /var/tmp/diff_new_pack.QZsirK/_new 2026-08-09 21:33:42.846854820 +0200 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-execnet -Version: 2.1.1 +Version: 2.1.2 Release: 0 Summary: Rapid multi-Python deployment License: MIT ++++++ _scmsync.obsinfo ++++++ mtime: 1786047035 commit: 747565723c4a225856d0be168d2aa300667c00e421b48081a519a364f5e22ad7 url: https://src.opensuse.org/python-pytest/python-execnet revision: 747565723c4a225856d0be168d2aa300667c00e421b48081a519a364f5e22ad7 projectscmsync: https://src.opensuse.org/python-pytest/_ObsPrj.git ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-08-06 22:10:35.000000000 +0200 @@ -0,0 +1 @@ +.osc ++++++ execnet-2.1.1.tar.gz -> execnet-2.1.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/PKG-INFO new/execnet-2.1.2/PKG-INFO --- old/execnet-2.1.1/PKG-INFO 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/PKG-INFO 2025-11-11 15:23:51.000000000 +0100 @@ -1,6 +1,6 @@ -Metadata-Version: 2.3 +Metadata-Version: 2.4 Name: execnet -Version: 2.1.1 +Version: 2.1.2 Summary: execnet: rapid multi-Python deployment Project-URL: Homepage, https://execnet.readthedocs.io/en/latest/ Author: holger krekel and others diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/doc/example/sysinfo.py new/execnet-2.1.2/doc/example/sysinfo.py --- old/execnet-2.1.1/doc/example/sysinfo.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/doc/example/sysinfo.py 2025-11-11 15:23:51.000000000 +0100 @@ -19,8 +19,7 @@ action="store", dest="ssh_config", default=None, - help="use given ssh config file," - " and add info all contained hosts for getting info", + help="use given ssh config file, and add info all contained hosts for getting info", ) parser.add_option( "-i", @@ -28,7 +27,7 @@ action="store", dest="ignores", default=None, - help="ignore hosts " "(useful if the list of hostnames come from a file list)", + help="ignore hosts (useful if the list of hostnames come from a file list)", ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/pyproject.toml new/execnet-2.1.2/pyproject.toml --- old/execnet-2.1.1/pyproject.toml 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/pyproject.toml 2025-11-11 15:23:51.000000000 +0100 @@ -1,6 +1,6 @@ [build-system] requires = [ - "hatchling", + "hatchling>=1.26", "hatch-vcs", ] build-backend = "hatchling.build" @@ -74,6 +74,7 @@ "PLW0120", # remove the else and dedent its contents "PLW2901", # for loop variable overwritten by assignment target "PLR5501", # Use `elif` instead of `else` then `if` + "UP031", # Use format specifiers instead of percent format ] [tool.ruff.lint.isort] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/src/execnet/__init__.py new/execnet-2.1.2/src/execnet/__init__.py --- old/execnet-2.1.1/src/execnet/__init__.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/src/execnet/__init__.py 2025-11-11 15:23:51.000000000 +0100 @@ -29,24 +29,24 @@ from .xspec import XSpec __all__ = [ - "__version__", - "makegateway", - "set_execmodel", - "HostNotFound", - "RemoteError", - "TimeoutError", - "XSpec", + "Channel", + "DataFormatError", + "DumpError", "Gateway", "Group", + "HostNotFound", + "LoadError", "MultiChannel", "RSync", + "RemoteError", + "TimeoutError", + "XSpec", + "__version__", "default_group", - "Channel", - "dumps", "dump", - "DumpError", - "loads", + "dumps", "load", - "LoadError", - "DataFormatError", + "loads", + "makegateway", + "set_execmodel", ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/src/execnet/_version.py new/execnet-2.1.2/src/execnet/_version.py --- old/execnet-2.1.1/src/execnet/_version.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/src/execnet/_version.py 2025-11-11 15:23:51.000000000 +0100 @@ -1,16 +1,34 @@ -# file generated by setuptools_scm +# file generated by setuptools-scm # don't change, don't track in version control + +__all__ = [ + "__version__", + "__version_tuple__", + "version", + "version_tuple", + "__commit_id__", + "commit_id", +] + TYPE_CHECKING = False if TYPE_CHECKING: - from typing import Tuple, Union + from typing import Tuple + from typing import Union + VERSION_TUPLE = Tuple[Union[int, str], ...] + COMMIT_ID = Union[str, None] else: VERSION_TUPLE = object + COMMIT_ID = object version: str __version__: str __version_tuple__: VERSION_TUPLE version_tuple: VERSION_TUPLE +commit_id: COMMIT_ID +__commit_id__: COMMIT_ID + +__version__ = version = '2.1.2' +__version_tuple__ = version_tuple = (2, 1, 2) -__version__ = version = '2.1.1' -__version_tuple__ = version_tuple = (2, 1, 1) +__commit_id__ = commit_id = None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/src/execnet/gateway.py new/execnet-2.1.2/src/execnet/gateway.py --- old/execnet-2.1.1/src/execnet/gateway.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/src/execnet/gateway.py 2025-11-11 15:23:51.000000000 +0100 @@ -40,7 +40,7 @@ def __repr__(self) -> str: """A string representing gateway type and status.""" try: - r: str = self.hasreceiver() and "receive-live" or "not-receiving" + r: str = (self.hasreceiver() and "receive-live") or "not-receiving" i = str(len(self._channelfactory.channels())) except AttributeError: r = "uninitialized" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/src/execnet/gateway_base.py new/execnet-2.1.2/src/execnet/gateway_base.py --- old/execnet-2.1.1/src/execnet/gateway_base.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/src/execnet/gateway_base.py 2025-11-11 15:23:51.000000000 +0100 @@ -760,7 +760,7 @@ callback(olditem) def __repr__(self) -> str: - flag = self.isclosed() and "closed" or "open" + flag = (self.isclosed() and "closed") or "open" return "<Channel id=%d %s>" % (self.id, flag) def __del__(self) -> None: @@ -1007,7 +1007,7 @@ except KeyError: pass try: - callback, endmarker, strconfig = self._callbacks.pop(id) + callback, endmarker, _strconfig = self._callbacks.pop(id) except KeyError: pass else: @@ -1037,7 +1037,7 @@ # executes in receiver thread channel = self._channels.get(id) try: - callback, endmarker, strconfig = self._callbacks[id] + callback, _endmarker, strconfig = self._callbacks[id] except KeyError: queue = channel._items if channel is not None else None if queue is None: @@ -1079,7 +1079,7 @@ self.channel.close() def __repr__(self) -> str: - state = self.channel.isclosed() and "closed" or "open" + state = (self.channel.isclosed() and "closed") or "open" return "<ChannelFile %d %s>" % (self.channel.id, state) @@ -1237,7 +1237,7 @@ self._trace("shutting down execution pool") self._execpool.trigger_shutdown() if not self._execpool.waitall(5.0): - self._trace("execution ongoing after 5 secs," " trying interrupt_main") + self._trace("execution ongoing after 5 secs, trying interrupt_main") # We try hard to terminate execution based on the assumption # that there is only one gateway object running per-process. if sys.platform != "win32": @@ -1248,7 +1248,7 @@ interrupt_main() if not self._execpool.waitall(10.0): self._trace( - "execution did not finish in another 10 secs, " "calling os._exit()" + "execution did not finish in another 10 secs, calling os._exit()" ) os._exit(1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/src/execnet/multi.py new/execnet-2.1.2/src/execnet/multi.py --- old/execnet-2.1.1/src/execnet/multi.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/src/execnet/multi.py 2025-11-11 15:23:51.000000000 +0100 @@ -82,7 +82,7 @@ """ if self._gateways: raise ValueError( - "can not set execution models if " "gateways have been created already" + "can not set execution models if gateways have been created already" ) if remote_execmodel is None: remote_execmodel = execmodel @@ -177,7 +177,7 @@ os.environ[name] = value """ ) - nice = spec.nice and int(spec.nice) or 0 + nice = (spec.nice and int(spec.nice)) or 0 channel.send((spec.chdir, nice, spec.env)) channel.waitclose() return gw diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/src/execnet/rsync.py new/execnet-2.1.2/src/execnet/rsync.py --- old/execnet-2.1.1/src/execnet/rsync.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/src/execnet/rsync.py 2025-11-11 15:23:51.000000000 +0100 @@ -125,7 +125,7 @@ if not self._channels: if raises: raise OSError( - "no targets available, maybe you " "are trying call send() twice?" + "no targets available, maybe you are trying call send() twice?" ) return # normalize a trailing '/' away diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/src/execnet/script/shell.py new/execnet-2.1.2/src/execnet/script/shell.py --- old/execnet-2.1.1/src/execnet/script/shell.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/src/execnet/script/shell.py 2025-11-11 15:23:51.000000000 +0100 @@ -26,7 +26,7 @@ inputlist = [sock, sys.stdin] try: while 1: - r, w, e = select.select(inputlist, [], []) + r, _w, _e = select.select(inputlist, [], []) if sys.stdin in r: line = input() sock.sendall((line + "\n").encode()) @@ -45,7 +45,7 @@ class promptagent(Thread): def __init__(self, clientsock) -> None: print("server side starting") - super.__init__() # type: ignore[call-overload] + super().__init__() # type: ignore[call-overload] self.clientsock = clientsock def run(self) -> None: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/src/execnet/script/socketserver.py new/execnet-2.1.2/src/execnet/script/socketserver.py --- old/execnet-2.1.1/src/execnet/script/socketserver.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/src/execnet/script/socketserver.py 2025-11-11 15:23:51.000000000 +0100 @@ -80,7 +80,7 @@ if hasattr(fcntl, "FD_CLOEXEC"): old = fcntl.fcntl(serversock.fileno(), fcntl.F_GETFD) fcntl.fcntl(serversock.fileno(), fcntl.F_SETFD, old | fcntl.FD_CLOEXEC) - # allow the address to be re-used in a reasonable amount of time + # allow the address to be reused in a reasonable amount of time if os.name == "posix" and sys.platform != "cygwin": serversock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/src/execnet/script/socketserverservice.py new/execnet-2.1.2/src/execnet/script/socketserverservice.py --- old/execnet-2.1.1/src/execnet/script/socketserverservice.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/src/execnet/script/socketserverservice.py 2025-11-11 15:23:51.000000000 +0100 @@ -39,7 +39,7 @@ win32evtlogutil.AddSourceToRegistry( self._svc_display_name_, servicemanager.__file__, "Application" ) - super.__init__(args) + super().__init__(args) self.hWaitStop = win32event.CreateEvent(None, 0, 0, None) self.WAIT_TIME = 1000 # in milliseconds diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/testing/conftest.py new/execnet-2.1.2/testing/conftest.py --- old/execnet-2.1.1/testing/conftest.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/testing/conftest.py 2025-11-11 15:23:51.000000000 +0100 @@ -7,8 +7,9 @@ from typing import Generator from typing import Iterator -import execnet import pytest + +import execnet from execnet.gateway import Gateway from execnet.gateway_base import ExecModel from execnet.gateway_base import WorkerPool @@ -161,8 +162,7 @@ proxygw = group.makegateway("popen//id=%s" % pname) # assert group['proxygw'].remote_status().receiving gw = group.makegateway( - f"socket//id=socket//installvia={pname}" - f"//execmodel={execmodel.backend}" + f"socket//id=socket//installvia={pname}//execmodel={execmodel.backend}" ) # TODO(typing): Clarify this assignment. gw.proxygw = proxygw # type: ignore[attr-defined] @@ -175,8 +175,7 @@ elif request.param == "proxy": group.makegateway("popen//id=proxy-transport") gw = group.makegateway( - "popen//via=proxy-transport//id=proxy" - "//execmodel=%s" % execmodel.backend + "popen//via=proxy-transport//id=proxy//execmodel=%s" % execmodel.backend ) else: assert 0, f"unknown execmodel: {request.param}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/testing/test_basics.py new/execnet-2.1.2/testing/test_basics.py --- old/execnet-2.1.1/testing/test_basics.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/testing/test_basics.py 2025-11-11 15:23:51.000000000 +0100 @@ -12,8 +12,9 @@ from typing import Any from typing import Callable -import execnet import pytest + +import execnet from execnet import gateway from execnet import gateway_base from execnet import gateway_io diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/testing/test_channel.py new/execnet-2.1.2/testing/test_channel.py --- old/execnet-2.1.1/testing/test_channel.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/testing/test_channel.py 2025-11-11 15:23:51.000000000 +0100 @@ -7,6 +7,7 @@ import time import pytest + from execnet.gateway import Gateway from execnet.gateway_base import Channel diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/testing/test_gateway.py new/execnet-2.1.2/testing/test_gateway.py --- old/execnet-2.1.1/testing/test_gateway.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/testing/test_gateway.py 2025-11-11 15:23:51.000000000 +0100 @@ -12,8 +12,9 @@ from textwrap import dedent from typing import Callable -import execnet import pytest + +import execnet from execnet import gateway_base from execnet import gateway_io from execnet.gateway import Gateway @@ -502,15 +503,15 @@ monkeypatch.setenv("EXECNET_DEBUG", "2") gw = makegateway("popen") pid = gw.remote_exec("import os ; channel.send(os.getpid())").receive() - out, err = capfd.readouterr() + _out, err = capfd.readouterr() worker_line = "[%s] creating workergateway" % pid assert worker_line in err gw.exit() def test_no_tracing_by_default(self): - assert ( - gateway_base.trace == gateway_base.notrace - ), "trace does not to default to empty tracing" + assert gateway_base.trace == gateway_base.notrace, ( + "trace does not to default to empty tracing" + ) @pytest.mark.parametrize( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/testing/test_multi.py new/execnet-2.1.2/testing/test_multi.py --- old/execnet-2.1.1/testing/test_multi.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/testing/test_multi.py 2025-11-11 15:23:51.000000000 +0100 @@ -8,8 +8,9 @@ from time import sleep from typing import Callable -import execnet import pytest + +import execnet from execnet import XSpec from execnet.gateway import Gateway from execnet.gateway_base import Channel diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/testing/test_rsync.py new/execnet-2.1.2/testing/test_rsync.py --- old/execnet-2.1.1/testing/test_rsync.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/testing/test_rsync.py 2025-11-11 15:23:51.000000000 +0100 @@ -4,8 +4,9 @@ import sys import types -import execnet import pytest + +import execnet from execnet import RSync from execnet.gateway import Gateway @@ -141,7 +142,7 @@ rsync = RSync(source) rsync.add_target(gw1, dirs.dest1) rsync.send() - out, err = capsys.readouterr() + out, _err = capsys.readouterr() assert out.find("hello") != -1 def test_rsync_non_verbose( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/testing/test_serializer.py new/execnet-2.1.2/testing/test_serializer.py --- old/execnet-2.1.1/testing/test_serializer.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/testing/test_serializer.py 2025-11-11 15:23:51.000000000 +0100 @@ -5,9 +5,10 @@ import sys from pathlib import Path -import execnet import pytest +import execnet + # We use the execnet folder in order to avoid triggering a missing apipkg. pyimportdir = os.fspath(Path(execnet.__file__).parent) @@ -154,7 +155,7 @@ def test_none(dump, load) -> None: p = dump("None") - tp, s = load(p) + _tp, s = load(p) assert s == "None" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/testing/test_termination.py new/execnet-2.1.2/testing/test_termination.py --- old/execnet-2.1.1/testing/test_termination.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/testing/test_termination.py 2025-11-11 15:23:51.000000000 +0100 @@ -6,12 +6,13 @@ import sys from typing import Callable -import execnet import pytest +from test_gateway import TESTTIMEOUT + +import execnet from execnet.gateway import Gateway from execnet.gateway_base import ExecModel from execnet.gateway_base import WorkerPool -from test_gateway import TESTTIMEOUT execnetdir = pathlib.Path(execnet.__file__).parent.parent @@ -101,7 +102,7 @@ popen = subprocess.Popen( [anypython, str(p), str(execnetdir)], stdout=None, stderr=subprocess.PIPE ) - out, err = popen.communicate() + _out, err = popen.communicate() print(err) errstr = err.decode("utf8") lines = [x for x in errstr.splitlines() if "*sys-package" not in x] @@ -150,6 +151,6 @@ popen.stdout.readline() reply = pool.spawn(popen.communicate) reply.get(timeout=50) - out, err = capfd.readouterr() + _out, err = capfd.readouterr() lines = [x for x in err.splitlines() if "*sys-package" not in x] assert not lines or "Killed" in err diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/testing/test_threadpool.py new/execnet-2.1.2/testing/test_threadpool.py --- old/execnet-2.1.1/testing/test_threadpool.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/testing/test_threadpool.py 2025-11-11 15:23:51.000000000 +0100 @@ -2,6 +2,7 @@ from pathlib import Path import pytest + from execnet.gateway_base import ExecModel from execnet.gateway_base import WorkerPool @@ -163,7 +164,7 @@ pool.execmodel.start(wait_then_put) assert pool.waitall() - out, err = capfd.readouterr() + _out, err = capfd.readouterr() assert err == "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/testing/test_xspec.py new/execnet-2.1.2/testing/test_xspec.py --- old/execnet-2.1.1/testing/test_xspec.py 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/testing/test_xspec.py 2025-11-11 15:23:51.000000000 +0100 @@ -7,8 +7,9 @@ from pathlib import Path from typing import Callable -import execnet import pytest + +import execnet from execnet import XSpec from execnet.gateway import Gateway from execnet.gateway_io import popen_args @@ -41,7 +42,7 @@ assert spec.chdir is None assert spec.nice == "3" - spec = XSpec("ssh=user@host" "//chdir=/hello/this//python=/usr/bin/python2.5") + spec = XSpec("ssh=user@host//chdir=/hello/this//python=/usr/bin/python2.5") assert spec.ssh == "user@host" assert spec.python == "/usr/bin/python2.5" assert spec.chdir == "/hello/this" @@ -55,8 +56,7 @@ assert spec.python == "python3" spec = XSpec( - "ssh=-i ~/.ssh/id_rsa-passwordless_login -p 22100 user@host" - "//python=python3" + "ssh=-i ~/.ssh/id_rsa-passwordless_login -p 22100 user@host//python=python3" ) assert spec.ssh == "-i ~/.ssh/id_rsa-passwordless_login -p 22100 user@host" assert spec.python == "python3" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/execnet-2.1.1/tox.ini new/execnet-2.1.2/tox.ini --- old/execnet-2.1.1/tox.ini 2024-04-07 22:33:21.000000000 +0200 +++ new/execnet-2.1.2/tox.ini 2025-11-11 15:23:51.000000000 +0100 @@ -1,5 +1,5 @@ [tox] -envlist=py{38,39,310,311,312,pypy38},docs,linting +envlist=py{38,39,310,311,312,pypy311},docs,linting isolated_build = true [testenv]
