mirror of
https://github.com/tmux/tmux.git
synced 2026-10-15 16:04:34 +00:00
regress: start panes with /bin/sh, not the login shell
The Makefile runs each test under env -i, so SHELL is unset and the server's default-shell is the login shell from the password file. It runs every pane that has no command, as a login shell, and every pane command given as one string, with -c. zsh takes HOME from the password file when it is unset, so it reads the user's startup files and history. Twenty-six tests type a command into such a pane and give it a fixed time: twenty-five type an attach to a second server and sleep for a second, and session-ops.sh types a script and waits five seconds for it. When the login shell is slow to give a prompt, the checks run before the command has. zsh, for one, waits until a lock on a non-empty history file is ten seconds old. Set SHELL=/bin/sh in the environment the tests run in.
This commit is contained in:
@@ -32,7 +32,7 @@ $(TESTS): prepare
|
||||
@base="$@"; base=$${base##*/}; \
|
||||
log="$(LOGDIR)/$${base%.sh}.log"; \
|
||||
start=$$(date +%s); \
|
||||
env -i LC_CTYPE=C.UTF-8 MallocNanoZone=0 \
|
||||
env -i LC_CTYPE=C.UTF-8 MallocNanoZone=0 SHELL=/bin/sh \
|
||||
sh -x "$@" >"$$log" 2>&1; \
|
||||
result=$$?; \
|
||||
end=$$(date +%s); \
|
||||
|
||||
Reference in New Issue
Block a user