Skip to content

Commit d96f052

Browse files
committed
only assert exact matches on tmux 2.1 and up
1 parent 4c22a76 commit d96f052

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

libtmux/server.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
from . import exc, formats
1414
from .common import EnvironmentMixin, TmuxRelationalObject, tmux_cmd, \
15-
session_check_name
15+
session_check_name, has_gte_version
1616
from .session import Session
1717

1818
logger = logging.getLogger(__name__)
@@ -321,15 +321,15 @@ def has_session(self, target_session, exact=True):
321321
:type target_session: str
322322
:param exact: match the session name exactly.
323323
tmux uses fnmatch by default. Internally prepends ``=`` to the
324-
session in ``$ tmux has-session``.
324+
session in ``$ tmux has-session``. tmux 2.1 and up only.
325325
:type exact: bool
326326
:raises: :exc:`exc.BadSessionName`
327327
:rtype: bool
328328
329329
"""
330330
session_check_name(target_session)
331331

332-
if exact:
332+
if exact and has_gte_version('2.1'):
333333
target_session = '={}'.format(target_session)
334334

335335
proc = self.cmd('has-session', '-t%s' % target_session)

tests/test_session.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ def test_has_session(server, session):
1717
"""Server.has_session returns True if has session_name exists."""
1818
TEST_SESSION_NAME = session.get('session_name')
1919
assert server.has_session(TEST_SESSION_NAME)
20-
assert not server.has_session(TEST_SESSION_NAME[:-2])
21-
assert server.has_session(TEST_SESSION_NAME[:-2], exact=False)
20+
if has_gte_version('2.1'):
21+
assert not server.has_session(TEST_SESSION_NAME[:-2])
22+
assert server.has_session(TEST_SESSION_NAME[:-2], exact=False)
2223
assert not server.has_session('asdf2314324321')
2324

2425

0 commit comments

Comments
 (0)