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