Skip to content

Commit 063156d

Browse files
committed
!squash pytest fixture
1 parent 3181236 commit 063156d

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/libtmux/pytest_plugin.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from __future__ import annotations
44

55
import contextlib
6+
import functools
67
import getpass
78
import logging
89
import os
@@ -258,7 +259,8 @@ def session(
258259
return session
259260

260261

261-
def TempServer(socket_name: str | None = None, **kwargs: t.Any) -> Server:
262+
@pytest.fixture
263+
def TempServer(request: pytest.FixtureRequest) -> Server:
262264
"""Create a temporary tmux server that cleans up after itself.
263265
264266
This is similar to the server pytest fixture, but can be used outside of pytest.
@@ -285,15 +287,16 @@ def TempServer(socket_name: str | None = None, **kwargs: t.Any) -> Server:
285287
True
286288
>>> del server # Server is automatically killed
287289
"""
288-
if socket_name is None:
289-
socket_name = f"libtmux_test{next(namer)}"
290+
socket_name = f"libtmux_test{next(namer)}"
290291

291-
server = Server(socket_name=socket_name, **kwargs)
292+
Server_ = functools.partial(Server, socket_name=socket_name)
292293

293294
def fin() -> None:
294295
"""Kill server if it exists."""
296+
server = Server(socket_name=socket_name)
295297
if server.is_alive():
296298
server.kill()
297299

298-
server.__del__ = fin # type: ignore
299-
return server
300+
request.addfinalizer(fin)
301+
302+
return Server_

0 commit comments

Comments
 (0)