1- # $OpenBSD: ssh-tty.sh,v 1.6 2025/10/22 05 :22:31 djm Exp $
1+ # $OpenBSD: ssh-tty.sh,v 1.7 2025/10/22 06 :22:58 djm Exp $
22# Placed in the Public Domain.
33
44# Basic TTY smoke test
@@ -88,13 +88,23 @@ not_in_term() {
8888 fatal " $error "
8989}
9090
91+ # Shut down tmux session and Wait for it to terminate.
92+ kill_tmux () {
93+ $TMUX_TEST kill-session -t $sess 2> /dev/null
94+ for x in 1 2 3 4 5 6 7 8 9 10; do
95+ $TMUX_TEST has-session -t $sess > /dev/null 2>&1 || return
96+ sleep 1
97+ done
98+ fatal " tmux session didn't terminate"
99+ }
100+
91101trap " $TMUX_TEST kill-session -t $sess 2>/dev/null" EXIT
92102
93103run_test () {
94104 tag=" $1 "
95105 ssh_args=" $2 "
96106 # Prepare a tmux session.
97- $TMUX_TEST kill-session -t $sess 2> /dev/null
107+ kill_tmux
98108 $TMUX_TEST new-session -d -s $sess
99109 # echo XXXXXXXXXX $TMUX_TEST attach -t $sess; sleep 10
100110
@@ -143,7 +153,7 @@ run_test() {
143153}
144154
145155# Make sure tmux is working as expected before we start.
146- $TMUX_TEST kill-session -t $sess 2> /dev/null
156+ kill_tmux
147157$TMUX_TEST new-session -d -s $sess
148158# Make sure the session doesn't contain the magic strings we will use
149159# for signalling or any #? output.
@@ -155,7 +165,7 @@ not_in_term "$MAGIC5" "terminal already contains magic5 string" fatal
155165not_in_term " ^Supported escape" " terminal already contains escape help" fatal
156166$TMUX_TEST send-keys -t $sess " printf '$MAGIC1_OCTAL \n'" ENTER
157167wait_for_regex " $MAGIC1 " fatal
158- $TMUX_TEST kill-session -t $sess 2> /dev/null
168+ kill_tmux
159169
160170run_test " basic" " -oControlMaster=yes"
161171run_test " ControlPersist" " -oControlMaster=auto -oControlPersist=1s"
0 commit comments