File tree Expand file tree Collapse file tree 2 files changed +30
-5
lines changed Expand file tree Collapse file tree 2 files changed +30
-5
lines changed Original file line number Diff line number Diff line change @@ -534,6 +534,20 @@ def new_session(
534
534
Raises
535
535
------
536
536
:exc:`exc.BadSessionName`
537
+
538
+ Examples
539
+ --------
540
+ Sessions can be created without a session name (0.14.2+):
541
+ >>> server.new_session()
542
+ Session($2 2)
543
+
544
+ Creating them in succession will enumerate IDs (via tmux):
545
+ >>> server.new_session()
546
+ Session($3 3)
547
+
548
+ With a `session_name`:
549
+ >>> server.new_session(session_name='my session')
550
+ Session($4 my session)
537
551
"""
538
552
if session_name is not None:
539
553
session_check_name(session_name)
@@ -558,11 +572,13 @@ def new_session(
558
572
del os.environ["TMUX"]
559
573
560
574
tmux_args: t.Tuple[t.Union[str, int], ...] = (
561
- "-s%s" % session_name,
562
575
"-P",
563
576
"-F%s" % formats.FORMAT_SEPARATOR.join(tmux_formats), # output
564
577
)
565
578
579
+ if session_name is not None:
580
+ tmux_args += (f"-s{session_name}",)
581
+
566
582
if not attach:
567
583
tmux_args += ("-d",)
568
584
Original file line number Diff line number Diff line change @@ -91,10 +91,19 @@ def test_new_session(server: Server) -> None:
91
91
92
92
def test_new_session_no_name(server: Server) -> None:
93
93
"""Server.new_session works with no name"""
94
- mysession = server.new_session()
95
- session_name = mysession.get("session_name")
96
- assert session_name is not None
97
- assert server.has_session(session_name)
94
+ first_session = server.new_session()
95
+ first_session_name = first_session.get("session_name")
96
+ assert first_session_name is not None
97
+ assert server.has_session(first_session_name)
98
+
99
+ expected_session_name = str(int(first_session_name) + 1)
100
+
101
+ # When a new session is created, it should enumerate
102
+ second_session = server.new_session()
103
+ second_session_name = second_session.get("session_name")
104
+ assert expected_session_name == second_session_name
105
+ assert second_session_name is not None
106
+ assert server.has_session(second_session_name)
98
107
99
108
100
109
def test_new_session_shell(server: Server) -> None:
You can’t perform that action at this time.
0 commit comments