summaryrefslogtreecommitdiffstats
path: root/regress/new-session-environment.sh
blob: d53f204eb4b40455a4063ca0a141e48b950b5287 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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