Fix most shell hygiene issues found by shellcheck
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
This commit is contained in:
committed by
John Hood
parent
3b21cd2425
commit
8a8f2b29ca
+3
-3
@@ -88,11 +88,11 @@ done
|
|||||||
# Build fat binaries
|
# Build fat binaries
|
||||||
# XXX will break with spaces in pathname
|
# XXX will break with spaces in pathname
|
||||||
for prog in local/bin/mosh-client local/bin/mosh-server; do
|
for prog in local/bin/mosh-client local/bin/mosh-server; do
|
||||||
archprogs=
|
archprogs=()
|
||||||
for arch in $BUILT_ARCHS; do
|
for arch in $BUILT_ARCHS; do
|
||||||
archprogs="$archprogs ${PREFIX}_${arch}/$prog"
|
archprogs+=("${PREFIX}_${arch}/$prog")
|
||||||
done
|
done
|
||||||
lipo -create $archprogs -output "${PREFIX}/$prog"
|
lipo -create "${archprogs[@]}" -output "${PREFIX}/$prog"
|
||||||
done
|
done
|
||||||
|
|
||||||
perl -wlpi -e 's{#!/usr/bin/env perl}{#!/usr/bin/perl}' "$PREFIX/local/bin/mosh"
|
perl -wlpi -e 's{#!/usr/bin/env perl}{#!/usr/bin/perl}' "$PREFIX/local/bin/mosh"
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
# Ideally the search string would also include 'clang: ' but this output might
|
# Ideally the search string would also include 'clang: ' but this output might
|
||||||
# depend on clang's argv[0].
|
# depend on clang's argv[0].
|
||||||
|
|
||||||
if out=`"$@" 2>&1`; then
|
if out=$("$@" 2>&1); then
|
||||||
echo "$out"
|
echo "$out"
|
||||||
if echo "$out" | grep 'warning: argument unused' >/dev/null; then
|
if echo "$out" | grep 'warning: argument unused' >/dev/null; then
|
||||||
echo "$0: found clang warning"
|
echo "$0: found clang warning"
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 baseline variant different
|
e2e-test "$0" baseline variant different
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -22,5 +23,5 @@ case $1 in
|
|||||||
baseline|variant)
|
baseline|variant)
|
||||||
baseline;;
|
baseline;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 baseline direct variant verify same
|
e2e-test "$0" baseline direct variant verify same
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -22,5 +23,5 @@ case $1 in
|
|||||||
baseline|direct|variant)
|
baseline|direct|variant)
|
||||||
baseline;;
|
baseline;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
+28
-19
@@ -19,11 +19,11 @@ dump_logs()
|
|||||||
{
|
{
|
||||||
dir=$1
|
dir=$1
|
||||||
shift
|
shift
|
||||||
testname=$(basename $dir .d)
|
testname=$(basename "$dir" .d)
|
||||||
for logfile in $dir/*.tmux.log; do
|
for logfile in $dir/*.tmux.log; do
|
||||||
printf "travis_fold:start:%s-%s\n" $testname $(basename $logfile)
|
printf "travis_fold:start:%s-%s\n" "$testname" "$(basename "$logfile")"
|
||||||
cat $logfile
|
cat "$logfile"
|
||||||
printf "travis_fold:end:%s-%s\n" $testname $(basename $logfile)
|
printf "travis_fold:end:%s-%s\n" "$testname" "$(basename "$logfile")"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,7 +51,7 @@ test_exitstatus()
|
|||||||
status=$1
|
status=$1
|
||||||
shift
|
shift
|
||||||
error "$@"
|
error "$@"
|
||||||
exit $status
|
exit "$status"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -67,8 +67,8 @@ tmux_check()
|
|||||||
version_major=${version%%.*}
|
version_major=${version%%.*}
|
||||||
version_minor=${version##*.}
|
version_minor=${version##*.}
|
||||||
# need version 1.8 for capture-pane
|
# need version 1.8 for capture-pane
|
||||||
if [ $version_major -lt 1 ] ||
|
if [ "$version_major" -lt 1 ] ||
|
||||||
[ $version_major -eq 1 -a $version_minor -lt 8 ]; then
|
{ [ "$version_major" -eq 1 ] && [ "$version_minor" -lt 8 ]; }; then
|
||||||
error "tmux version %s too old\n" "$version"
|
error "tmux version %s too old\n" "$version"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@@ -89,7 +89,7 @@ ssh_localhost_check()
|
|||||||
# on verbosity and log stderr.
|
# on verbosity and log stderr.
|
||||||
mosh_client()
|
mosh_client()
|
||||||
{
|
{
|
||||||
if [ -z "$MOSH_CLIENT" -o -z "$MOSH_E2E_TEST" ]; then
|
if [ -z "$MOSH_CLIENT" ] || [ -z "$MOSH_E2E_TEST" ]; then
|
||||||
test_error "mosh_client: variables missing\n"
|
test_error "mosh_client: variables missing\n"
|
||||||
fi
|
fi
|
||||||
exec 2> "${MOSH_E2E_TEST}.client.stderr"
|
exec 2> "${MOSH_E2E_TEST}.client.stderr"
|
||||||
@@ -98,7 +98,7 @@ mosh_client()
|
|||||||
|
|
||||||
mosh_server()
|
mosh_server()
|
||||||
{
|
{
|
||||||
if [ -z "$MOSH_SERVER" -o -z "$MOSH_E2E_TEST" ]; then
|
if [ -z "$MOSH_SERVER" ] || [ -z "$MOSH_E2E_TEST" ]; then
|
||||||
test_error "mosh_server: variables missing\n"
|
test_error "mosh_server: variables missing\n"
|
||||||
fi
|
fi
|
||||||
exec 2> "${MOSH_E2E_TEST}.server.stderr"
|
exec 2> "${MOSH_E2E_TEST}.server.stderr"
|
||||||
@@ -109,9 +109,9 @@ mosh_server()
|
|||||||
|
|
||||||
# Set up environment
|
# Set up environment
|
||||||
if [ -z "$srcdir" ]; then
|
if [ -z "$srcdir" ]; then
|
||||||
: ${srcdir:=$PWD}
|
srcdir=$PWD
|
||||||
else
|
else
|
||||||
srcdir="$(cd $srcdir && pwd)"
|
srcdir="$(cd "$srcdir" && pwd)"
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
error "can't cd to srcdir: %s\n" "$srcdir"
|
error "can't cd to srcdir: %s\n" "$srcdir"
|
||||||
exit 99
|
exit 99
|
||||||
@@ -119,7 +119,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Wrappers.
|
# Wrappers.
|
||||||
case "$(basename $0)" in
|
case "$(basename "$0")" in
|
||||||
mosh-client)
|
mosh-client)
|
||||||
mosh_client "$@"
|
mosh_client "$@"
|
||||||
exit
|
exit
|
||||||
@@ -145,14 +145,21 @@ test_name=$1
|
|||||||
shift
|
shift
|
||||||
test_args=$@
|
test_args=$@
|
||||||
# XXX could use AM testsubdir macro instead
|
# XXX could use AM testsubdir macro instead
|
||||||
test_dir=$(basename ${test_name}).d
|
test_dir=$(basename "${test_name}").d
|
||||||
test_script="${test_name}"
|
test_script="${test_name}"
|
||||||
|
|
||||||
rm -rf "${test_dir}"
|
rm -rf "${test_dir}"
|
||||||
mkdir "${test_dir}"
|
mkdir "${test_dir}"
|
||||||
|
|
||||||
|
|
||||||
trap 'rv=$?; if test $rv -ne 0; then dump_logs '"$test_dir $test_args"'; fi; exit $rv' EXIT
|
on_exit() {
|
||||||
|
rv=$?
|
||||||
|
if test $rv -ne 0; then
|
||||||
|
dump_logs "$test_dir" $test_args
|
||||||
|
fi
|
||||||
|
exit $rv
|
||||||
|
}
|
||||||
|
trap on_exit EXIT
|
||||||
|
|
||||||
# Set up tests to run.
|
# Set up tests to run.
|
||||||
server_tests=
|
server_tests=
|
||||||
@@ -170,13 +177,15 @@ for i in $test_args; do
|
|||||||
post)
|
post)
|
||||||
post=1;;
|
post=1;;
|
||||||
mosh-args)
|
mosh-args)
|
||||||
mosh_args=$(${test_script} mosh-args);;
|
mosh_args=$("${test_script}" mosh-args);;
|
||||||
client-args)
|
client-args)
|
||||||
export MOSH_CLIENT_ARGS=$(${test_script} client-args);;
|
MOSH_CLIENT_ARGS=$("${test_script}" client-args)
|
||||||
|
export MOSH_CLIENT_ARGS;;
|
||||||
server-args)
|
server-args)
|
||||||
export MOSH_SERVER_ARGS=$(${test_script} server-args);;
|
MOSH_SERVER_ARGS=$("${test_script}" server-args)
|
||||||
|
export MOSH_SERVER_ARGS;;
|
||||||
*)
|
*)
|
||||||
error "unknown test type argument %s", $i
|
error "unknown test type argument %s", "$i"
|
||||||
exit 99
|
exit 99
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -225,7 +234,7 @@ for run in $server_tests; do
|
|||||||
|| [ ! -s "${test_dir}/${run}.exitstatus" ]; then
|
|| [ ! -s "${test_dir}/${run}.exitstatus" ]; then
|
||||||
test_error "server harness failure on test %s\n" "$run"
|
test_error "server harness failure on test %s\n" "$run"
|
||||||
fi
|
fi
|
||||||
read server_rv < "${test_dir}/${run}.exitstatus"
|
read -r server_rv < "${test_dir}/${run}.exitstatus"
|
||||||
if [ "$server_rv" -ne 0 ]; then
|
if [ "$server_rv" -ne 0 ]; then
|
||||||
test_error "server harness exited with status %s\n" "$server_rv"
|
test_error "server harness exited with status %s\n" "$server_rv"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -13,9 +13,14 @@ if [ $# -lt 2 ]; then
|
|||||||
fi
|
fi
|
||||||
testname=$1
|
testname=$1
|
||||||
shift
|
shift
|
||||||
rm -f $testname.capture $testname.exitstatus
|
rm -f "$testname.capture" "$testname.exitstatus"
|
||||||
trap ":" TERM HUP QUIT # If the session closes on us, let the test we're running drive.
|
trap ":" TERM HUP QUIT # If the session closes on us, let the test we're running drive.
|
||||||
trap 'rv=$?; echo $rv > $testname.exitstatus; exit $rv' EXIT
|
on_exit() {
|
||||||
|
rv=$?
|
||||||
|
echo $rv > "$testname.exitstatus"
|
||||||
|
exit $rv
|
||||||
|
}
|
||||||
|
trap on_exit EXIT
|
||||||
# check for tmux
|
# check for tmux
|
||||||
if [ -z "$TMUX_PANE" ]; then
|
if [ -z "$TMUX_PANE" ]; then
|
||||||
printf "not running under tmux\n" >&2
|
printf "not running under tmux\n" >&2
|
||||||
@@ -29,7 +34,7 @@ sleep 1
|
|||||||
printf "@@@ server complete @@@" >&2
|
printf "@@@ server complete @@@" >&2
|
||||||
i=0
|
i=0
|
||||||
while [ $i -lt 60 ]; do
|
while [ $i -lt 60 ]; do
|
||||||
if grep -q "@@@ server complete @@@" $testname.tmux.log; then
|
if grep -q "@@@ server complete @@@" "$testname.tmux.log"; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
i=$((i+1))
|
i=$((i+1))
|
||||||
@@ -40,11 +45,11 @@ if [ $i -ge 60 ]; then
|
|||||||
exit 99
|
exit 99
|
||||||
fi
|
fi
|
||||||
# capture screen
|
# capture screen
|
||||||
if ! tmux capture-pane -et $TMUX_PANE; then
|
if ! tmux capture-pane -et "$TMUX_PANE"; then
|
||||||
printf "tmux capture-pane failed, erroring test\n" >&2
|
printf "tmux capture-pane failed, erroring test\n" >&2
|
||||||
exit 99
|
exit 99
|
||||||
fi
|
fi
|
||||||
if ! tmux save-buffer $testname.capture; then
|
if ! tmux save-buffer "$testname.capture"; then
|
||||||
printf "tmux save-buffer failed, erroring test\n" >&2
|
printf "tmux save-buffer failed, erroring test\n" >&2
|
||||||
exit 99
|
exit 99
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ sleepf()
|
|||||||
|
|
||||||
seq_function()
|
seq_function()
|
||||||
{
|
{
|
||||||
if [ $# -lt 1 -o $# -gt 3 ]; then
|
if [ $# -lt 1 ] || [ $# -gt 3 ]; then
|
||||||
echo "bad args" >&2
|
echo "bad args" >&2
|
||||||
fi
|
fi
|
||||||
first=$1
|
first=$1
|
||||||
@@ -35,9 +35,9 @@ seq_function()
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
while :; do
|
while :; do
|
||||||
printf '%d\n' $first
|
printf '%d\n' "$first"
|
||||||
first=$(( first + incr ))
|
first=$(( first + incr ))
|
||||||
if [ $first -gt $last ]; then
|
if [ "$first" -gt "$last" ]; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@@ -52,5 +52,5 @@ fi
|
|||||||
|
|
||||||
chr()
|
chr()
|
||||||
{
|
{
|
||||||
printf "\\$(printf %03o $1)"
|
printf '%b' "\\0$(printf %03o "$1")"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,11 +8,12 @@
|
|||||||
# line).
|
# line).
|
||||||
#
|
#
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 baseline post
|
e2e-test "$0" baseline post
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -25,7 +26,7 @@ baseline()
|
|||||||
{
|
{
|
||||||
# We need to control CR and LF individually for this test.
|
# We need to control CR and LF individually for this test.
|
||||||
TERMIO=$(stty -g)
|
TERMIO=$(stty -g)
|
||||||
trap "stty $TERMIO" EXIT
|
trap 'stty "$TERMIO"' EXIT
|
||||||
stty raw
|
stty raw
|
||||||
printf '\033[H\033[J'
|
printf '\033[H\033[J'
|
||||||
for lines in $(seq 1 25); do
|
for lines in $(seq 1 25); do
|
||||||
@@ -41,7 +42,7 @@ post()
|
|||||||
# If hidden 80th column is working properly, then the lines
|
# If hidden 80th column is working properly, then the lines
|
||||||
# will have no blank lines in between and we should see 23
|
# will have no blank lines in between and we should see 23
|
||||||
# of them.
|
# of them.
|
||||||
if [ $(grep -c "EEEEEEEEEE" $(basename $0).d/baseline.capture) -ne 23 ]; then
|
if [ "$(grep -c "EEEEEEEEEE" "$(basename "$0").d/baseline.capture")" -ne 23 ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -52,5 +53,5 @@ case $1 in
|
|||||||
post)
|
post)
|
||||||
post;;
|
post;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -4,11 +4,12 @@
|
|||||||
# This validates display of ASCII and ISO-8859-1 characters.
|
# This validates display of ASCII and ISO-8859-1 characters.
|
||||||
#
|
#
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 baseline direct verify
|
e2e-test "$0" baseline direct verify
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -41,5 +42,5 @@ case $1 in
|
|||||||
baseline|direct)
|
baseline|direct)
|
||||||
baseline;;
|
baseline;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -10,11 +10,12 @@
|
|||||||
# compares on these values fail though they are visually identical.
|
# compares on these values fail though they are visually identical.
|
||||||
#
|
#
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 baseline direct verify
|
e2e-test "$0" baseline direct verify
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -26,7 +27,7 @@ fi
|
|||||||
baseline()
|
baseline()
|
||||||
{
|
{
|
||||||
# Strip our name to the last dash-separated word before the .test suffix.
|
# Strip our name to the last dash-separated word before the .test suffix.
|
||||||
testname=$(basename $1)
|
testname=$(basename "$1")
|
||||||
testname=${testname%%.test}
|
testname=${testname%%.test}
|
||||||
testname=${testname##*-}
|
testname=${testname##*-}
|
||||||
|
|
||||||
@@ -44,35 +45,35 @@ baseline()
|
|||||||
# 16-color attributes.
|
# 16-color attributes.
|
||||||
16color)
|
16color)
|
||||||
for attr in $(seq 30 37) $(seq 39 47) 49; do
|
for attr in $(seq 30 37) $(seq 39 47) 49; do
|
||||||
printf '\033[%dmE\033[m ' $attr
|
printf '\033[%dmE\033[m ' "$attr"
|
||||||
done
|
done
|
||||||
printf '\n'
|
printf '\n'
|
||||||
;;
|
;;
|
||||||
# First 8 256-color attributes. Comparing mosh and tmux fails.
|
# First 8 256-color attributes. Comparing mosh and tmux fails.
|
||||||
256color8)
|
256color8)
|
||||||
for attr in $(seq 0 7); do
|
for attr in $(seq 0 7); do
|
||||||
printf '\033[38;5;%dmE\033[m ' $attr
|
printf '\033[38;5;%dmE\033[m ' "$attr"
|
||||||
printf '\033[48;5;%dmM\033[m ' $attr
|
printf '\033[48;5;%dmM\033[m ' "$attr"
|
||||||
done
|
done
|
||||||
printf '\n'
|
printf '\n'
|
||||||
;;
|
;;
|
||||||
# Last 248 256-color attributes.
|
# Last 248 256-color attributes.
|
||||||
256color248)
|
256color248)
|
||||||
for attr in $(seq 8 255); do
|
for attr in $(seq 8 255); do
|
||||||
printf '\033[38;5;%dmE\033[m ' $attr
|
printf '\033[38;5;%dmE\033[m ' "$attr"
|
||||||
printf '\033[48;5;%dmM\033[m ' $attr
|
printf '\033[48;5;%dmM\033[m ' "$attr"
|
||||||
done
|
done
|
||||||
printf '\n'
|
printf '\n'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test name %s\n" $1
|
fail "unknown test name %s\n" "$1"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
baseline|direct)
|
baseline|direct)
|
||||||
baseline $0;;
|
baseline "$0";;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -4,11 +4,12 @@
|
|||||||
# This test is for issue 539 on github.
|
# This test is for issue 539 on github.
|
||||||
#
|
#
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 baseline post
|
e2e-test "$0" baseline post
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -29,17 +30,17 @@ baseline()
|
|||||||
post()
|
post()
|
||||||
{
|
{
|
||||||
# Basic previously-failing case.
|
# Basic previously-failing case.
|
||||||
if grep -q 'hello, wurldo' $(basename $0).d/baseline.capture; then
|
if grep -q 'hello, wurldo' "$(basename "$0").d/baseline.capture"; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if ! grep -q 'hello, world' $(basename $0).d/baseline.capture; then
|
if ! grep -q 'hello, world' "$(basename "$0").d/baseline.capture"; then
|
||||||
exit 99
|
exit 99
|
||||||
fi
|
fi
|
||||||
# New test cases for new code.
|
# New test cases for new code.
|
||||||
if ! grep -q 'oello, wurld' $(basename $0).d/baseline.capture ||
|
if ! grep -q 'oello, wurld' "$(basename "$0").d/baseline.capture" ||
|
||||||
! grep -q '9ello, wurld' $(basename $0).d/baseline.capture ||
|
! grep -q '9ello, wurld' "$(basename "$0").d/baseline.capture" ||
|
||||||
! grep -q 'hello, wurld t' $(basename $0).d/baseline.capture ||
|
! grep -q 'hello, wurld t' "$(basename "$0").d/baseline.capture" ||
|
||||||
! grep -E -q '^ {79}#$' $(basename $0).d/baseline.capture; then
|
! grep -E -q '^ {79}#$' "$(basename "$0").d/baseline.capture"; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
@@ -51,5 +52,5 @@ case $1 in
|
|||||||
post)
|
post)
|
||||||
post;;
|
post;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -5,11 +5,12 @@
|
|||||||
# motions in Mosh.
|
# motions in Mosh.
|
||||||
#
|
#
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 baseline direct verify
|
e2e-test "$0" baseline direct verify
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -22,8 +23,8 @@ baseline()
|
|||||||
{
|
{
|
||||||
printf '\033[H\033[J'
|
printf '\033[H\033[J'
|
||||||
|
|
||||||
while read x y text; do
|
while read -r x y text; do
|
||||||
printf '\033[%d;%dH%s' $y $x $text
|
printf '\033[%d;%dH%s' "$y" "$x" "$text"
|
||||||
sleepf
|
sleepf
|
||||||
done <<EOF
|
done <<EOF
|
||||||
1 1 A
|
1 1 A
|
||||||
@@ -53,5 +54,5 @@ case $1 in
|
|||||||
baseline|direct)
|
baseline|direct)
|
||||||
baseline;;
|
baseline;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -7,11 +7,12 @@
|
|||||||
# 24 in this test environment).
|
# 24 in this test environment).
|
||||||
#
|
#
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 baseline
|
e2e-test "$0" baseline
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -25,8 +26,8 @@ baseline()
|
|||||||
printf '\033[H\033[J'
|
printf '\033[H\033[J'
|
||||||
for dir in L M; do
|
for dir in L M; do
|
||||||
for i in $(seq 0 2) $(seq 22 26); do
|
for i in $(seq 0 2) $(seq 22 26); do
|
||||||
printf '%d\r' $i
|
printf '%d\r' "$i"
|
||||||
printf '\033[%d%s' $i $dir
|
printf '\033[%d%s' "$i" "$dir"
|
||||||
# On the one hand, we'd like to test that this works
|
# On the one hand, we'd like to test that this works
|
||||||
# properly on both client and server, which requires
|
# properly on both client and server, which requires
|
||||||
# delays so that each iteration percolates to the client
|
# delays so that each iteration percolates to the client
|
||||||
@@ -41,5 +42,5 @@ case $1 in
|
|||||||
baseline)
|
baseline)
|
||||||
baseline;;
|
baseline;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -9,11 +9,12 @@
|
|||||||
# sense.
|
# sense.
|
||||||
#
|
#
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 baseline direct verify
|
e2e-test "$0" baseline direct verify
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -39,5 +40,5 @@ case $1 in
|
|||||||
baseline|direct)
|
baseline|direct)
|
||||||
baseline;;
|
baseline;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -25,11 +25,12 @@
|
|||||||
# correct character.
|
# correct character.
|
||||||
#
|
#
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 tmux baseline mosh-args post
|
e2e-test "$0" tmux baseline mosh-args post
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -71,7 +72,7 @@ baseline()
|
|||||||
post()
|
post()
|
||||||
{
|
{
|
||||||
# Look for bad output: ')' or \374
|
# Look for bad output: ')' or \374
|
||||||
if [ -n "$(env -u LC_ALL -u LC_CTYPE -u LANGUAGE LANG=C egrep "%output %0 (\)|$(printf \\374))" $(basename $0).d/baseline.tmux.log)" ]; then
|
if [ -n "$(env -u LC_ALL -u LC_CTYPE -u LANGUAGE LANG=C egrep "%output %0 (\)|$(printf \\374))" "$(basename "$0").d/baseline.tmux.log")" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
@@ -88,5 +89,5 @@ case $1 in
|
|||||||
post)
|
post)
|
||||||
post;;
|
post;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -11,11 +11,12 @@
|
|||||||
# cleanup with kill -9.
|
# cleanup with kill -9.
|
||||||
#
|
#
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 tmux baseline post
|
e2e-test "$0" tmux baseline post
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -53,14 +54,14 @@ baseline()
|
|||||||
blat=$(for i in $(seq 1 100); do
|
blat=$(for i in $(seq 1 100); do
|
||||||
printf 'a\nb\nc\nd\ne\nf\ng\nh\ni\nj\nk\nl\nm\nn\no\np\nq\nr\ns\nt\nu\nv\nw\nx\ny\nz\n'
|
printf 'a\nb\nc\nd\ne\nf\ng\nh\ni\nj\nk\nl\nm\nn\no\np\nq\nr\ns\nt\nu\nv\nw\nx\ny\nz\n'
|
||||||
done)
|
done)
|
||||||
read x
|
read -r x
|
||||||
while true; do
|
while true; do
|
||||||
printf "$blat"
|
printf '%s' "$blat"
|
||||||
done &
|
done &
|
||||||
printpid=$!
|
printpid=$!
|
||||||
(sleep 120; kill $$ $printpid) &
|
(sleep 120; kill $$ $printpid) &
|
||||||
killpid=$!
|
killpid=$!
|
||||||
read x
|
read -r x
|
||||||
kill $printpid
|
kill $printpid
|
||||||
# Try and make sure the printer stops writing before the following printf
|
# Try and make sure the printer stops writing before the following printf
|
||||||
sleep 1
|
sleep 1
|
||||||
@@ -74,7 +75,7 @@ baseline()
|
|||||||
|
|
||||||
post()
|
post()
|
||||||
{
|
{
|
||||||
if grep -q '=== normal exit ===' $(basename $0).d/baseline.capture; then
|
if grep -q '=== normal exit ===' "$(basename "$0").d/baseline.capture"; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
exit 1
|
exit 1
|
||||||
@@ -89,5 +90,5 @@ case $1 in
|
|||||||
post)
|
post)
|
||||||
post;;
|
post;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -14,11 +14,12 @@
|
|||||||
|
|
||||||
TIMEOUT=10
|
TIMEOUT=10
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 client baseline
|
e2e-test "$0" client baseline
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -47,7 +48,7 @@ client()
|
|||||||
fail "mosh-client had a normal exit\n";; # test condition failed
|
fail "mosh-client had a normal exit\n";; # test condition failed
|
||||||
9|137|265)
|
9|137|265)
|
||||||
# Aha, signal 9. Wait.
|
# Aha, signal 9. Wait.
|
||||||
sleep $(( $TIMEOUT + 12 ))
|
sleep $(( TIMEOUT + 12 ))
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -59,7 +60,7 @@ client()
|
|||||||
baseline()
|
baseline()
|
||||||
{
|
{
|
||||||
# check for our wonderful variable
|
# check for our wonderful variable
|
||||||
if [ -z "$MOSH_SERVER_NETWORK_TMOUT" -a -z "$MOSH_SERVER_SIGNAL_TMOUT" ]; then
|
if [ -z "$MOSH_SERVER_NETWORK_TMOUT" ] && [ -z "$MOSH_SERVER_SIGNAL_TMOUT" ]; then
|
||||||
env
|
env
|
||||||
fail "Variable unset\n"
|
fail "Variable unset\n"
|
||||||
fi
|
fi
|
||||||
@@ -68,7 +69,7 @@ baseline()
|
|||||||
env
|
env
|
||||||
fail "Client pid unavailable\n"
|
fail "Client pid unavailable\n"
|
||||||
fi
|
fi
|
||||||
if ! kill -0 $MOSH_CLIENT_PID; then
|
if ! kill -0 "$MOSH_CLIENT_PID"; then
|
||||||
fail "mosh client is unexpectedly missing\n"
|
fail "mosh client is unexpectedly missing\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -77,17 +78,17 @@ baseline()
|
|||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
# Kill the client, to stop network traffic.
|
# Kill the client, to stop network traffic.
|
||||||
kill -KILL $MOSH_CLIENT_PID
|
kill -KILL "$MOSH_CLIENT_PID"
|
||||||
case "$myname" in
|
case "$myname" in
|
||||||
server-network-timeout)
|
server-network-timeout)
|
||||||
# Just wait. This is the hardest part.
|
# Just wait. This is the hardest part.
|
||||||
sleep $(( $TIMEOUT + 7 ))
|
sleep $(( TIMEOUT + 7 ))
|
||||||
;;
|
;;
|
||||||
server-signal-timeout)
|
server-signal-timeout)
|
||||||
# Wait for the timeout to expire.
|
# Wait for the timeout to expire.
|
||||||
sleep $(( $TIMEOUT + 2 ))
|
sleep $(( TIMEOUT + 2 ))
|
||||||
# Tell the server to go away.
|
# Tell the server to go away.
|
||||||
kill -USR1 $MOSH_SERVER_PID
|
kill -USR1 "$MOSH_SERVER_PID"
|
||||||
sleep 5
|
sleep 5
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -97,11 +98,11 @@ baseline()
|
|||||||
# XXX the server is getting killed and we're getting here anyway.
|
# XXX the server is getting killed and we're getting here anyway.
|
||||||
# Exit with error only if server is still around.
|
# Exit with error only if server is still around.
|
||||||
sleep 1
|
sleep 1
|
||||||
! kill -0 $MOSH_SERVER_PID
|
! kill -0 "$MOSH_SERVER_PID"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
myname="$(basename $0 .test)"
|
myname="$(basename "$0" .test)"
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
baseline|variant)
|
baseline|variant)
|
||||||
@@ -109,5 +110,5 @@ case $1 in
|
|||||||
client)
|
client)
|
||||||
client "$@";;
|
client "$@";;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -8,11 +8,12 @@
|
|||||||
#
|
#
|
||||||
# It just sends the offending output to mosh and expects it to not die.
|
# It just sends the offending output to mosh and expects it to not die.
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 baseline
|
e2e-test "$0" baseline
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -30,5 +31,5 @@ case $1 in
|
|||||||
baseline)
|
baseline)
|
||||||
baseline;;
|
baseline;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -10,11 +10,12 @@
|
|||||||
# that are visually identical. The variant test is not run or validated.
|
# that are visually identical. The variant test is not run or validated.
|
||||||
#
|
#
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 baseline post
|
e2e-test "$0" baseline post
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -36,7 +37,7 @@ variant()
|
|||||||
post()
|
post()
|
||||||
{
|
{
|
||||||
export LANG=C
|
export LANG=C
|
||||||
if grep -q "$(printf '^\302\240\314\202$')" $(basename $0).d/baseline.capture; then
|
if grep -q "$(printf '^\302\240\314\202$')" "$(basename "$0").d/baseline.capture"; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
exit 1
|
exit 1
|
||||||
@@ -50,5 +51,5 @@ case $1 in
|
|||||||
post)
|
post)
|
||||||
post;;
|
post;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -6,11 +6,12 @@
|
|||||||
# resize them. But it works!
|
# resize them. But it works!
|
||||||
#
|
#
|
||||||
|
|
||||||
. $(dirname $0)/e2e-test-subrs
|
# shellcheck source=e2e-test-subrs
|
||||||
|
. "$(dirname "$0")/e2e-test-subrs"
|
||||||
PATH=$PATH:.:$srcdir
|
PATH=$PATH:.:$srcdir
|
||||||
# Top-level wrapper.
|
# Top-level wrapper.
|
||||||
if [ $# -eq 0 ]; then
|
if [ $# -eq 0 ]; then
|
||||||
e2e-test $0 tmux baseline
|
e2e-test "$0" tmux baseline
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -20,16 +21,16 @@ tmux_resize_commands()
|
|||||||
shrink=$2
|
shrink=$2
|
||||||
grow=$3
|
grow=$3
|
||||||
# Split the window into two panes.
|
# Split the window into two panes.
|
||||||
printf "split-window -${hv}\n"
|
printf "split-window -%s\n" "${hv}"
|
||||||
# Shrink the pane we created
|
# Shrink the pane we created
|
||||||
for i in $(seq 1 10); do
|
for i in $(seq 1 10); do
|
||||||
sleepf
|
sleepf
|
||||||
printf "resize-pane -${shrink}\n"
|
printf "resize-pane -%s\n" "${shrink}"
|
||||||
done
|
done
|
||||||
# And grow it
|
# And grow it
|
||||||
for i in $(seq 1 10); do
|
for i in $(seq 1 10); do
|
||||||
sleepf
|
sleepf
|
||||||
printf "resize-pane -${grow}\n"
|
printf "resize-pane -%s\n" "${grow}"
|
||||||
done
|
done
|
||||||
sleep 1
|
sleep 1
|
||||||
# Remove the pane we created.
|
# Remove the pane we created.
|
||||||
@@ -78,5 +79,5 @@ case $1 in
|
|||||||
baseline)
|
baseline)
|
||||||
baseline;;
|
baseline;;
|
||||||
*)
|
*)
|
||||||
fail "unknown test argument %s\n" $1;;
|
fail "unknown test argument %s\n" "$1";;
|
||||||
esac
|
esac
|
||||||
|
|||||||
Reference in New Issue
Block a user