diff options
Diffstat (limited to 'regress')
-rw-r--r-- | regress/Makefile | 9 | ||||
-rw-r--r-- | regress/capture-pane-sgr0.sh | 24 | ||||
-rw-r--r-- | regress/control-client-size.sh | 49 | ||||
-rw-r--r-- | regress/format-strings.sh | 183 | ||||
-rw-r--r-- | regress/has-session-return.sh | 19 | ||||
-rw-r--r-- | regress/if-shell-TERM.sh | 30 | ||||
-rw-r--r-- | regress/if-shell-error.sh | 26 | ||||
-rw-r--r-- | regress/if-shell-nested.sh | 25 | ||||
-rw-r--r-- | regress/kill-session-process-exit.sh | 21 | ||||
-rw-r--r-- | regress/new-session-base-index.sh | 27 | ||||
-rw-r--r-- | regress/new-session-command.sh | 25 | ||||
-rw-r--r-- | regress/new-session-environment.sh | 66 | ||||
-rw-r--r-- | regress/new-session-no-client.sh | 25 | ||||
-rw-r--r-- | regress/new-session-size.sh | 27 | ||||
-rw-r--r-- | regress/new-window-command.sh | 26 |
15 files changed, 582 insertions, 0 deletions
diff --git a/regress/Makefile b/regress/Makefile new file mode 100644 index 00000000..3775a711 --- /dev/null +++ b/regress/Makefile @@ -0,0 +1,9 @@ +TESTS!= echo *.sh + +.PHONY: all $(TESTS) +.NOTPARALLEL: all $(TESTS) + +all: $(TESTS) + +$(TESTS): + sh $*.sh diff --git a/regress/capture-pane-sgr0.sh b/regress/capture-pane-sgr0.sh new file mode 100644 index 00000000..79d96a38 --- /dev/null +++ b/regress/capture-pane-sgr0.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +# 884 +# capture-pane should send colours after SGR 0 + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" +$TMUX kill-server 2>/dev/null + +TMP=$(mktemp) +trap "rm -f $TMP" 0 1 15 + +$TMUX -f/dev/null new -d \ + "printf '\033[31;42;1mabc\033[0;31mdef'; $TMUX capturep -peS0 -E0 >$TMP" +sleep 1 +printf '\033[1m\033[31m\033[42mabc\033[0m\033[31m\033[49mdef\033[39m\n'| \ + cmp - $TMP || exit 1 + +$TMUX has 2>/dev/null && exit 1 + +exit 0 diff --git a/regress/control-client-size.sh b/regress/control-client-size.sh new file mode 100644 index 00000000..55f7eed1 --- /dev/null +++ b/regress/control-client-size.sh @@ -0,0 +1,49 @@ +#!/bin/sh + +# 947 +# size in control mode should change after refresh-client -C, and -x and -y +# should work without -d for control clients + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" +$TMUX kill-server 2>/dev/null + +TMP=$(mktemp) +OUT=$(mktemp) +#trap "rm -f $TMP $OUT" 0 1 15 + +$TMUX -f/dev/null new -d || exit 1 +sleep 1 +cat <<EOF|$TMUX -C a >$TMP +ls -F':#{session_width} #{session_height}' +refresh -C 100,50 +ls -F':#{session_width} #{session_height}' +EOF +grep ^: $TMP >$OUT +printf ":80 24\n:100 50\n"|cmp -s $OUT - || exit 1 +$TMUX kill-server 2>/dev/null + +$TMUX -f/dev/null new -d || exit 1 +sleep 1 +cat <<EOF|$TMUX -C a >$TMP +ls -F':#{session_width} #{session_height}' +refresh -C 80,24 +ls -F':#{session_width} #{session_height}' +EOF +grep ^: $TMP >$OUT +printf ":80 24\n:80 24\n"|cmp -s $OUT - || exit 1 +$TMUX kill-server 2>/dev/null + +cat <<EOF|$TMUX -C new -x 100 -y 50 >$TMP +ls -F':#{session_width} #{session_height}' +refresh -C 80,24 +ls -F':#{session_width} #{session_height}' +EOF +grep ^: $TMP >$OUT +printf ":100 50\n:80 24\n"|cmp -s $OUT - || exit 1 +$TMUX kill-server 2>/dev/null + +exit 0 diff --git a/regress/format-strings.sh b/regress/format-strings.sh new file mode 100644 index 00000000..726b46bc --- /dev/null +++ b/regress/format-strings.sh @@ -0,0 +1,183 @@ +#!/bin/sh + +# Tests of formats as described in tmux(1) FORMATS + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" + +# test_format $format $expected_result +test_format() +{ + fmt="$1" + exp="$2" + + out=$($TMUX display-message -p "$fmt") + + if [ "$out" != "$exp" ]; then + echo "Format test failed for '$fmt'." + echo "Expected: '$exp'" + echo "But got '$out'" + exit 1 + fi +} + +# test_conditional_with_pane_in_mode $format $exp1 $exp2 +# +# Tests the format string $format to yield $exp1 if #{pane_in_mode} is true and +# $exp2 when #{pane_in_mode} is false. +test_conditional_with_pane_in_mode() +{ + fmt="$1" + exp_true="$2" + exp_false="$3" + + $TMUX copy-mode # enter copy mode + test_format "$fmt" "$exp_true" + $TMUX send-keys -X cancel # leave copy mode + test_format "$fmt" "$exp_false" +} + +# test_conditional_with_session_name #format $exp_summer $exp_winter +# +# Tests the format string $format to yield $exp_summer if the session name is +# 'Summer' and $exp_winter if the session name is 'Winter'. +test_conditional_with_session_name() +{ + fmt="$1" + exp_summer="$2" + exp_winter="$3" + + $TMUX rename-session "Summer" + test_format "$fmt" "$exp_summer" + $TMUX rename-session "Winter" + test_format "$fmt" "$exp_winter" + $TMUX rename-session "Summer" # restore default +} + + +$TMUX kill-server 2>/dev/null +$TMUX -f/dev/null new-session -d || exit 1 +$TMUX rename-session "Summer" || exit 1 # used later in conditionals + +# Plain string without substitutions et al +test_format "abc xyz" "abc xyz" + +# Test basic escapes for "#", "{", "#{" "}", "#}", "," +test_format "##" "#" +test_format "#," "," +test_format "{" "{" +test_format "##{" "#{" +test_format "#}" "}" +test_format "###}" "#}" # not a "basic" one but interesting nevertheless + +# Simple expansion +test_format "#{pane_in_mode}" "0" + +# Simple conditionals +test_conditional_with_pane_in_mode "#{?pane_in_mode,abc,xyz}" "abc" "xyz" + +# Expansion in conditionals +test_conditional_with_pane_in_mode "#{?pane_in_mode,#{session_name},xyz}" "Summer" "xyz" + +# Basic escapes in conditionals +# First argument +test_conditional_with_pane_in_mode "#{?pane_in_mode,##,xyz}" "#" "xyz" +test_conditional_with_pane_in_mode "#{?pane_in_mode,#,,xyz}" "," "xyz" +test_conditional_with_pane_in_mode "#{?pane_in_mode,{,xyz}" "{" "xyz" +test_conditional_with_pane_in_mode "#{?pane_in_mode,##{,xyz}" "#{" "xyz" +test_conditional_with_pane_in_mode "#{?pane_in_mode,#},xyz}" "}" "xyz" +# not a "basic" one but interesting nevertheless +test_conditional_with_pane_in_mode "#{?pane_in_mode,###},xyz}" "#}" "xyz" +# Second argument +test_conditional_with_pane_in_mode "#{?pane_in_mode,abc,##}" "abc" "#" +test_conditional_with_pane_in_mode "#{?pane_in_mode,abc,#,}" "abc" "," +test_conditional_with_pane_in_mode "#{?pane_in_mode,abc,{}" "abc" "{" +test_conditional_with_pane_in_mode "#{?pane_in_mode,abc,##{}" "abc" "#{" +test_conditional_with_pane_in_mode "#{?pane_in_mode,abc,#}}" "abc" "}" +# not a "basic" one but interesting nevertheless +test_conditional_with_pane_in_mode "#{?pane_in_mode,abc,###}}" "abc" "#}" +# mixed +test_conditional_with_pane_in_mode "#{?pane_in_mode,{,#}}" "{" "}" +test_conditional_with_pane_in_mode "#{?pane_in_mode,#},{}" "}" "{" +test_conditional_with_pane_in_mode "#{?pane_in_mode,##{,###}}" "#{" "#}" +test_conditional_with_pane_in_mode "#{?pane_in_mode,###},##{}" "#}" "#{" + +# Conditionals split on the second comma (this is not documented) +test_conditional_with_pane_in_mode "#{?pane_in_mode,abc,xyz,bonus}" "abc" "xyz,bonus" + +# Curly brackets {...} do not capture a comma inside of conditionals as the +# conditional ends on the first '}' +test_conditional_with_pane_in_mode "#{?pane_in_mode,{abc,xyz},bonus}" "{abc,bonus}" "xyz,bonus}" + +# Substitutions '#{...}' capture the comma +# invalid format: #{abc,xyz} is not a known variable name. +#test_conditional_with_pane_in_mode "#{?pane_in_mode,#{abc,xyz},bonus}" "" "bonus" + +# Parenthesis (...) do not captura a comma +test_conditional_with_pane_in_mode "#{?pane_in_mode,(abc,xyz),bonus}" "(abc" "xyz),bonus" +test_conditional_with_pane_in_mode "#{?pane_in_mode,(abc#,xyz),bonus}" "(abc,xyz)" "bonus" + +# Brackets [...] do not captura a comma +test_conditional_with_pane_in_mode "#{?pane_in_mode,[abc,xyz],bonus}" "[abc" "xyz],bonus" +test_conditional_with_pane_in_mode "#{?pane_in_mode,[abc#,xyz],bonus}" "[abc,xyz]" "bonus" + + +# Escape comma inside of #(...) +# Note: #() commands are run asynchronous and are substituted with result of the +# *previous* run or a placeholder (like "<'echo ,' not ready") if the command +# has not been run before. The format is updated as soon as the command +# finishes. As we are printing the message only once it never gets updated +# and the displayed message is "<'echo ,' not ready>" +test_format "#{?pane_in_mode,#(echo #,),xyz}" "xyz" +test_conditional_with_pane_in_mode "#{?pane_in_mode,#(echo #,),xyz}" "<'echo ,' not ready>" "xyz" +# This caching does not work :-( +#$TMUX display-message -p "#(echo #,)" > /dev/null +#test_conditional_with_pane_in_mode "#{?pane_in_mode,#(echo #,),xyz}" "," "xyz" +#test_conditional_with_pane_in_mode "#{?pane_in_mode,#(echo #,),xyz}" "," "xyz" + +# invalid format: '#(' is not closed in the first argument of #{?,,}. +#test_conditional_with_pane_in_mode "#{?pane_in_mode,#(echo ,),xyz}" "" "),xyz" + +# Escape comma inside of #[...] +test_conditional_with_pane_in_mode "#{?pane_in_mode,#[fg=default#,bg=default]abc,xyz}" "#[fg=default,bg=default]abc" "xyz" +# invalid format: '#[' is not closed in the first argument of #{?,,} +#test_conditional_with_pane_in_mode "#{?pane_in_mode,#[fg=default,bg=default]abc,xyz}" "" "bg=default]abc,xyz" + +# Conditionals with comparison +test_conditional_with_session_name "#{?#{==:#{session_name},Summer},abc,xyz}" "abc" "xyz" +# Conditionals with comparison and escaped commas +$TMUX rename-session "," +test_format "#{?#{==:#,,#{session_name}},abc,xyz}" "abc" +$TMUX rename-session "Summer" # reset to default + +# Conditional in conditional +test_conditional_with_pane_in_mode "#{?pane_in_mode,#{?#{==:#{session_name},Summer},ABC,XYZ},xyz}" "ABC" "xyz" +test_conditional_with_session_name "#{?pane_in_mode,#{?#{==:#{session_name},Summer},ABC,XYZ},xyz}" "xyz" "xyz" + +test_conditional_with_pane_in_mode "#{?pane_in_mode,abc,#{?#{==:#{session_name},Summer},ABC,XYZ}}" "abc" "ABC" +test_conditional_with_session_name "#{?pane_in_mode,abc,#{?#{==:#{session_name},Summer},ABC,XYZ}}" "ABC" "XYZ" + +# Some fancy stackings +test_conditional_with_pane_in_mode "#{?#{==:#{?pane_in_mode,#{session_name},#(echo Spring)},Summer},abc,xyz}" "abc" "xyz" + + + +# Format test for the literal option +# Note: The behavior for #{l:...} with escapes is sometimes weird as #{l:...} +# respects the escapes. +test_format "#{l:#{}}" "#{}" +test_format "#{l:#{pane_in_mode}}" "#{pane_in_mode}" +test_format "#{l:#{?pane_in_mode,#{?#{==:#{session_name},Summer},ABC,XYZ},xyz}}" "#{?pane_in_mode,#{?#{==:#{session_name},Summer},ABC,XYZ},xyz}" + +# With escapes (which escape but are returned literally) +test_format "#{l:##{}" "##{" +test_format "#{l:#{#}}}" "#{#}}" + +# Invalid formats: +#test_format "#{l:#{}" "" +#test_format "#{l:#{#}}" "" + +exit 0 diff --git a/regress/has-session-return.sh b/regress/has-session-return.sh new file mode 100644 index 00000000..5cc30f05 --- /dev/null +++ b/regress/has-session-return.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +# 971 +# has-session should return 1 on error + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" +$TMUX kill-server 2>/dev/null + +$TMUX -f/dev/null has -tfoo </dev/null 2>/dev/null && exit 1 +$TMUX -f/dev/null start\; has -tfoo </dev/null 2>/dev/null && exit 1 +$TMUX -f/dev/null new -d\; has -tfoo </dev/null 2>/dev/null && exit 1 +$TMUX -f/dev/null new -dsfoo\; has -tfoo </dev/null 2>/dev/null || exit 1 +$TMUX kill-server 2>/dev/null + +exit 0 diff --git a/regress/if-shell-TERM.sh b/regress/if-shell-TERM.sh new file mode 100644 index 00000000..5967a58f --- /dev/null +++ b/regress/if-shell-TERM.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +# 882 +# TERM should come from outside tmux for if-shell from the config file + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" +$TMUX kill-server 2>/dev/null + +TMP=$(mktemp) +trap "rm -f $TMP" 0 1 15 + +cat <<EOF >$TMP +if '[ "\$TERM" = "xterm" ]' \ + 'set -g default-terminal "vt220"' \ + 'set -g default-terminal "ansi"' +EOF + +TERM=xterm $TMUX -f$TMP new -d "echo \"#\$TERM\" >>$TMP" || exit 1 +sleep 1 && [ "$(tail -1 $TMP)" = "#vt220" ] || exit 1 + +TERM=screen $TMUX -f$TMP new -d "echo \"#\$TERM\" >>$TMP" || exit 1 +sleep 1 && [ "$(tail -1 $TMP)" = "#ansi" ] || exit 1 + +$TMUX has 2>/dev/null && exit 1 + +exit 0 diff --git a/regress/if-shell-error.sh b/regress/if-shell-error.sh new file mode 100644 index 00000000..24dc578e --- /dev/null +++ b/regress/if-shell-error.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +# 883 +# if-shell with an error should not core :-) + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" +$TMUX kill-server 2>/dev/null + +TMP=$(mktemp) +trap "rm -f $TMP" 0 1 15 + +cat <<EOF >$TMP +if 'true' 'wibble wobble' +EOF + +$TMUX -f$TMP new -d || exit 1 +sleep 1 +E=$($TMUX display -p '#{pane_in_mode}') +$TMUX kill-server 2>/dev/null +[ "$E" = "1" ] || exit 1 + +exit 0 diff --git a/regress/if-shell-nested.sh b/regress/if-shell-nested.sh new file mode 100644 index 00000000..976c6738 --- /dev/null +++ b/regress/if-shell-nested.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +# 882 +# tmux inside if-shell itself should work + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" +$TMUX kill-server 2>/dev/null + +TMP=$(mktemp) +trap "rm -f $TMP" 0 1 15 + +cat <<EOF >$TMP +if '$TMUX run "true"' 'set -s @done yes' +EOF + +TERM=xterm $TMUX -f$TMP new -d "$TMUX show -vs @done >>$TMP" || exit 1 +sleep 1 && [ "$(tail -1 $TMP)" = "yes" ] || exit 1 + +$TMUX has 2>/dev/null && exit 1 + +exit 0 diff --git a/regress/kill-session-process-exit.sh b/regress/kill-session-process-exit.sh new file mode 100644 index 00000000..27d883e2 --- /dev/null +++ b/regress/kill-session-process-exit.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# when we kill a session, processes running in it should be killed + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" +$TMUX kill-server 2>/dev/null + +$TMUX new -d 'sleep 1000' || exit 1 +P=$($TMUX display -pt0:0.0 '#{pane_pid}') +$TMUX new -d || exit 1 +sleep 1 +$TMUX kill-session -t0: +sleep 1 +kill -0 $P 2>/dev/null && exit 1 +$TMUX kill-server 2>/dev/null + +exit 0 diff --git a/regress/new-session-base-index.sh b/regress/new-session-base-index.sh new file mode 100644 index 00000000..337037c3 --- /dev/null +++ b/regress/new-session-base-index.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +# new session base-index + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" +$TMUX kill-server 2>/dev/null + +TMP=$(mktemp) +trap "rm -f $TMP" 0 1 15 + +cat <<EOF >$TMP +set -g base-index 100 +new +set base-index 200 +neww +EOF + +$TMUX -f$TMP start +echo $($TMUX lsw -F'#{window_index}') >$TMP +(echo "100 200"|cmp -s - $TMP) || exit 1 +$TMUX kill-server 2>/dev/null + +exit 0 diff --git a/regress/new-session-command.sh b/regress/new-session-command.sh new file mode 100644 index 00000000..02ba55d9 --- /dev/null +++ b/regress/new-session-command.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +# new session command + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" +$TMUX kill-server 2>/dev/null + +TMP=$(mktemp) +trap "rm -f $TMP" 0 1 15 + +cat <<EOF >$TMP +new sleep 101 +new -- sleep 102 +new "sleep 103" +EOF + +$TMUX -f$TMP start +[ $($TMUX ls|wc -l) -eq 3 ] || exit 1 +$TMUX kill-server 2>/dev/null + +exit 0 diff --git a/regress/new-session-environment.sh b/regress/new-session-environment.sh new file mode 100644 index 00000000..d53f204e --- /dev/null +++ b/regress/new-session-environment.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +# new session environment + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" +$TMUX kill-server 2>/dev/null + +TMP=$(mktemp) +OUT=$(mktemp) +SCRIPT=$(mktemp) +trap "rm -f $TMP $OUT $SCRIPT" 0 1 15 + +cat <<EOF >$SCRIPT +( +echo TERM=\$TERM +echo PWD=\$(pwd) +echo PATH=\$PATH +echo SHELL=\$SHELL +echo TEST=\$TEST +) >$OUT +EOF + +cat <<EOF >$TMP +new -- /bin/sh $SCRIPT +EOF + +(cd /; env -i TERM=ansi TEST=test1 PATH=1 SHELL=/bin/sh \ + $TMUX -f$TMP start) || exit 1 +sleep 1 +(cat <<EOF|cmp -s - $OUT) || exit 1 +TERM=screen +PWD=/ +PATH=1 +SHELL=/bin/sh +TEST=test1 +EOF + +(cd /; env -i TERM=ansi TEST=test2 PATH=2 SHELL=/bin/sh \ + $TMUX -f$TMP new -d -- /bin/sh $SCRIPT) || exit 1 +sleep 1 +(cat <<EOF|cmp -s - $OUT) || exit 1 +TERM=screen +PWD=/ +PATH=2 +SHELL=/bin/sh +TEST=test2 +EOF + +(cd /; env -i TERM=ansi TEST=test3 PATH=3 SHELL=/bin/sh \ + $TMUX -f/dev/null new -d source $TMP) || exit 1 +sleep 1 +(cat <<EOF|cmp -s - $OUT) || exit 1 +TERM=screen +PWD=/ +PATH=2 +SHELL=/bin/sh +TEST=test2 +EOF + +$TMUX kill-server 2>/dev/null + +exit 0 diff --git a/regress/new-session-no-client.sh b/regress/new-session-no-client.sh new file mode 100644 index 00000000..88c064cd --- /dev/null +++ b/regress/new-session-no-client.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +# 869 +# new with no client (that is, from the config file) should imply -d and +# not attach + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" +$TMUX kill-server 2>/dev/null + +TMP=$(mktemp) +trap "rm -f $TMP" 0 1 15 + +cat <<EOF >$TMP +new -stest +EOF + +$TMUX -f$TMP start || exit 1 +sleep 1 && $TMUX has -t=test: || exit 1 +$TMUX kill-server 2>/dev/null + +exit 0 diff --git a/regress/new-session-size.sh b/regress/new-session-size.sh new file mode 100644 index 00000000..5493054b --- /dev/null +++ b/regress/new-session-size.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +# new-session without clients should be the right size + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" +$TMUX kill-server 2>/dev/null + +TMP=$(mktemp) +trap "rm -f $TMP" 0 1 15 + +$TMUX -f/dev/null new -d </dev/null || exit 1 +sleep 1 +$TMUX ls -F "#{session_width} #{session_height}" >$TMP +printf "80 24\n"|cmp -s $TMP - || exit 1 +$TMUX kill-server 2>/dev/null + +$TMUX -f/dev/null new -d -x 100 -y 50 </dev/null || exit 1 +sleep 1 +$TMUX ls -F "#{session_width} #{session_height}" >$TMP +printf "100 50\n"|cmp -s $TMP - || exit 1 +$TMUX kill-server 2>/dev/null + +exit 0 diff --git a/regress/new-window-command.sh b/regress/new-window-command.sh new file mode 100644 index 00000000..176bffb5 --- /dev/null +++ b/regress/new-window-command.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +# new session command + +PATH=/bin:/usr/bin +TERM=screen + +[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) +TMUX="$TEST_TMUX -Ltest" +$TMUX kill-server 2>/dev/null + +TMP=$(mktemp) +trap "rm -f $TMP" 0 1 15 + +cat <<EOF >$TMP +new +neww sleep 101 +neww -- sleep 102 +neww "sleep 103" +EOF + +$TMUX -f$TMP start +[ $($TMUX lsw|wc -l) -eq 4 ] || exit 1 +$TMUX kill-server 2>/dev/null + +exit 0 |