| #!/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 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 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 |