mirror of
https://github.com/tmux/tmux.git
synced 2026-08-24 15:41:36 +00:00
Test for socket error from Rayan Salhab.
This commit is contained in:
49
regress/server-socket-error.sh
Executable file
49
regress/server-socket-error.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Server socket creation failures must produce a nonzero client exit status.
|
||||
|
||||
PATH=/bin:/usr/bin
|
||||
TERM=screen
|
||||
export TERM
|
||||
|
||||
[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux)
|
||||
|
||||
# Root bypasses directory mode bits, so it cannot trigger this failure.
|
||||
[ "$(id -u)" -eq 0 ] && exit 0
|
||||
|
||||
TMP=$(mktemp -d) || exit 1
|
||||
SOCKET="$TMP/ro/socket"
|
||||
|
||||
cleanup()
|
||||
{
|
||||
chmod 700 "$TMP/ro" 2>/dev/null
|
||||
rm -rf "$TMP"
|
||||
}
|
||||
|
||||
fail()
|
||||
{
|
||||
echo "$1" >&2
|
||||
cleanup
|
||||
exit 1
|
||||
}
|
||||
|
||||
mkdir "$TMP/ro" || exit 1
|
||||
chmod 500 "$TMP/ro" || exit 1
|
||||
trap cleanup 0 1 15
|
||||
|
||||
check_failure()
|
||||
{
|
||||
output=$($TEST_TMUX -S "$SOCKET" -f/dev/null "$@" 2>&1)
|
||||
retval=$?
|
||||
|
||||
[ "$retval" -ne 0 ] || fail "tmux $* exited zero: $output"
|
||||
case "$output" in
|
||||
"error creating $SOCKET ("*) ;;
|
||||
*) fail "tmux $* produced unexpected error: $output" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
check_failure start-server
|
||||
check_failure new-session -d
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user