Fix control mode error and update regression tests.

This commit is contained in:
Nicholas Marriott
2026-07-15 11:05:15 +01:00
parent 66e6b2e1c3
commit 5d2b6542b6
4 changed files with 41 additions and 17 deletions

View File

@@ -15,7 +15,9 @@ PATH=/bin:/usr/bin
TERM=screen
[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux)
TMUX="$TEST_TMUX -Ltest -f/dev/null"
SOCKET=$(mktemp -u testXXXXXX)
TMUX="$TEST_TMUX -L$SOCKET -f/dev/null"
TMUX2=
$TMUX kill-server 2>/dev/null
TMP=$(mktemp)
@@ -23,7 +25,7 @@ CONF=$(mktemp)
EXP=$(mktemp)
RT1=$(mktemp)
RT2=$(mktemp)
trap "rm -f $TMP $CONF $EXP $RT1 $RT2" 0 1 15
trap "[ -n \"\$TMUX\" ] && \$TMUX kill-server 2>/dev/null; [ -n \"\$TMUX2\" ] && \$TMUX2 kill-server 2>/dev/null; rm -f $TMP $CONF $EXP $RT1 $RT2" 0 1 15
cat <<'EOF' >$CONF
bind -T parsetest a display-message hello
@@ -82,6 +84,7 @@ $TMUX -f/dev/null start \; new-session -d 2>/dev/null || exit 1
$TMUX source-file $CONF || exit 1
$TMUX set -g default-client-command 'display-message "hi there"' || exit 1
set +x
{
$TMUX list-keys -T parsetest
echo "--- options ---"
@@ -89,6 +92,7 @@ $TMUX set -g default-client-command 'display-message "hi there"' || exit 1
echo "--- multiline ---"
$TMUX list-keys -p -T parsetest
} >$TMP 2>&1 || exit 1
set -x
cmp -s $TMP $EXP || {
echo "cmd-parse-print: output differs from expected" >&2
@@ -100,10 +104,12 @@ cmp -s $TMP $EXP || {
# identical key list.
$TMUX list-keys -T parsetest >$RT1 || exit 1
$TMUX kill-server 2>/dev/null
$TMUX -f/dev/null start \; new-session -d 2>/dev/null || exit 1
$TMUX source-file $RT1 || exit 1
$TMUX list-keys -T parsetest >$RT2 || exit 1
$TMUX kill-server 2>/dev/null
SOCKET2=$(mktemp -u testXXXXXX)
TMUX2="$TEST_TMUX -L$SOCKET2 -f/dev/null"
$TMUX2 -f/dev/null start \; new-session -d 2>/dev/null || exit 1
$TMUX2 source-file $RT1 || exit 1
$TMUX2 list-keys -T parsetest >$RT2 || exit 1
$TMUX2 kill-server 2>/dev/null
cmp -s $RT1 $RT2 || {
echo "cmd-parse-print: default form does not round-trip" >&2