diff --git a/regress/format-fuzzy.sh b/regress/format-fuzzy.sh index 00bc28bd4..e4cf3de15 100644 --- a/regress/format-fuzzy.sh +++ b/regress/format-fuzzy.sh @@ -7,6 +7,8 @@ TERM=screen [ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) TMUX="$TEST_TMUX -LtestA$$ -f/dev/null" +trap '$TMUX kill-server 2>/dev/null' 0 +trap 'exit 1' 1 2 15 # test_format $format $expected_result test_format() diff --git a/regress/format-modifiers.sh b/regress/format-modifiers.sh index 58c02af7c..475feb524 100644 --- a/regress/format-modifiers.sh +++ b/regress/format-modifiers.sh @@ -18,6 +18,24 @@ export TZ LANG LC_ALL [ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) TMUX="$TEST_TMUX -LtestA$$ -f/dev/null" +FIFO1="${TMPDIR:-/tmp}/fmt-l-$$-1" +FIFO2="${TMPDIR:-/tmp}/fmt-l-$$-2" +HOLD1= +HOLD2= +CC1= +CC2= + +cleanup() +{ + for pid in $HOLD1 $HOLD2 $CC1 $CC2; do + kill "$pid" 2>/dev/null + wait "$pid" 2>/dev/null + done + $TMUX kill-server 2>/dev/null + rm -f "$FIFO1" "$FIFO2" +} +trap cleanup 0 +trap 'exit 1' 1 2 15 ESC=$(printf '\033') @@ -579,8 +597,6 @@ assert_alive "verbose loop expansion" # L loops over attached clients. Attach two control-mode clients, each held # open by a background process keeping a FIFO's write end open. -FIFO1="${TMPDIR:-/tmp}/fmt-l-$$-1" -FIFO2="${TMPDIR:-/tmp}/fmt-l-$$-2" rm -f "$FIFO1" "$FIFO2" mkfifo "$FIFO1" "$FIFO2" || exit 1 # Hold the write ends open so the control clients stay attached. @@ -605,9 +621,9 @@ test_format "#{L/nr:x}" "xx" test_format "#{L/r:x}" "xx" # Now detach one and confirm the count drops to one. kill $HOLD2 2>/dev/null +wait $HOLD2 2>/dev/null +HOLD2= sleep 1 test_format "#{L:x}" "x" -kill $HOLD1 $CC1 $CC2 2>/dev/null -rm -f "$FIFO1" "$FIFO2" exit 0 diff --git a/regress/format-strings.sh b/regress/format-strings.sh index 877e18fec..c06c340e3 100644 --- a/regress/format-strings.sh +++ b/regress/format-strings.sh @@ -7,6 +7,8 @@ TERM=screen [ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) TMUX="$TEST_TMUX -LtestA$$ -f/dev/null" +trap '$TMUX kill-server 2>/dev/null' 0 +trap 'exit 1' 1 2 15 # test_format $format $expected_result test_format() diff --git a/regress/if-shell-error.sh b/regress/if-shell-error.sh index 3b2dac753..968e0508c 100644 --- a/regress/if-shell-error.sh +++ b/regress/if-shell-error.sh @@ -12,7 +12,8 @@ $TMUX kill-server 2>/dev/null TMP=$(mktemp) OUT=$(mktemp) -trap "rm -f $TMP $OUT" 0 1 15 +trap 'rm -f "$TMP" "$OUT"; $TMUX kill-server 2>/dev/null' 0 +trap 'exit 1' 1 2 15 cat <$TMP if 'true' 'wibble wobble'