From 545ba99f8c4ddcc1f8b291ee6dcd18659d3baf99 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Fri, 25 Sep 2026 09:46:21 +0100 Subject: [PATCH] Tests for 5636. --- regress/renumber-window-limit.sh | 49 ++++++++++++++++++++++++++++++++ regress/window-index-limit.sh | 26 +++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 regress/renumber-window-limit.sh create mode 100644 regress/window-index-limit.sh diff --git a/regress/renumber-window-limit.sh b/regress/renumber-window-limit.sh new file mode 100644 index 000000000..6224df7ff --- /dev/null +++ b/regress/renumber-window-limit.sh @@ -0,0 +1,49 @@ +#!/bin/sh + +# renumber-windows with more windows than fit above base-index + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -LtestRWL$$" +$TMUX kill-server 2>/dev/null + +TMP=$(mktemp) +CONF=$(mktemp) +trap "rm -f $TMP $CONF" 0 1 15 + +cat <$CONF +set -g base-index 10 +set -g renumber-windows on +EOF + +$TMUX -f$CONF new -d -s a +$TMUX neww -d -t a +$TMUX neww -d -t a +echo $($TMUX lsw -t a -F'#{window_index}') >$TMP +(echo "10 11 12"|cmp -s - $TMP) || exit 1 +$TMUX killw -t a:11 +echo $($TMUX lsw -t a -F'#{window_index}') >$TMP +(echo "10 11"|cmp -s - $TMP) || exit 1 +$TMUX kill-server 2>/dev/null + +cat <$CONF +set -g base-index 2147483646 +set -g renumber-windows on +EOF + +$TMUX -f$CONF new -d -s a +$TMUX neww -d -t a +$TMUX neww -d -t a +$TMUX neww -d -t a +echo $($TMUX lsw -t a -F'#{window_index}') >$TMP +(echo "0 1 2147483646 2147483647"|cmp -s - $TMP) || exit 1 + +# Three windows do not fit from 2147483646, so the indexes stay as they are. +$TMUX killw -t a:2147483647 +echo $($TMUX lsw -t a -F'#{window_index}') >$TMP +(echo "0 1 2147483646"|cmp -s - $TMP) || exit 1 +$TMUX kill-server 2>/dev/null + +exit 0 diff --git a/regress/window-index-limit.sh b/regress/window-index-limit.sh new file mode 100644 index 000000000..6467adfe3 --- /dev/null +++ b/regress/window-index-limit.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +# inserting a window next to the highest index + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -LtestWIL$$ -f/dev/null" +$TMUX kill-server 2>/dev/null + +TMP=$(mktemp) +trap "rm -f $TMP" 0 1 15 + +$TMUX new -d -s one +$TMUX set -g base-index 2147483647 +$TMUX neww -d -t one + +$TMUX neww -d -a -t one:2147483647 +$TMUX neww -d -b -t one:2147483647 + +echo $($TMUX lsw -t one -F'#{window_index}') >$TMP +(echo "0 2147483647"|cmp -s - $TMP) || exit 1 +$TMUX kill-server 2>/dev/null + +exit 0