tests: Move "not expected to work" warning into test-common.sh

Warn the first time a server is started.  Incorrect for info-test with
POSIX threads, so suppress the warning there.

Improve the warning message a bit while we're at it.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2014-01-08 20:51:52 +01:00
parent ab244cbbe7
commit 4f2b8eea10
5 changed files with 31 additions and 42 deletions

View file

@ -9,20 +9,6 @@ srcdir="$1"
. "$srcdir"/tests/test-common.sh
#
# Currently expected to work only with thread package LWP, because:
#
# - Thread scheduling is reliably deterministic only with LWP
# - Shell builtin kill appears not to do the job in MinGW
# - The Windows server tries to run as service when -d isn't
# specified
#
# TODO address these shortcomings.
#
if [ `sed -n 's/empthread *:= *\(.*\)/\1/p' <GNUmakefile` != LWP ]
then echo "Warning: test not expected to work with this thread package!" >&2
fi
create_sandbox
cat >>sandbox/etc/empire/econfig <<EOF
WORLD_X 24

View file

@ -9,20 +9,6 @@ srcdir="$1"
. "$srcdir"/tests/test-common.sh
#
# Currently expected to work only with thread package LWP, because:
#
# - Thread scheduling is reliably deterministic only with LWP
# - Shell builtin kill appears not to do the job in MinGW
# - The Windows server tries to run as service when -d isn't
# specified
#
# TODO address these shortcomings.
#
if [ `sed -n 's/empthread *:= *\(.*\)/\1/p' <GNUmakefile` != LWP ]
then echo "Warning: test not expected to work with this thread package!" >&2
fi
create_sandbox
cat >>sandbox/etc/empire/econfig <<EOF
WORLD_X 32

View file

@ -11,6 +11,11 @@ srcdir="$1"
create_sandbox
# begin_test warns POSIX isn't expected to work, because thread
# scheduling isn't reliably deterministic. Not an issue for this
# test, so suppress the warning.
[ "$empthread" = POSIX ] && warn_empthread=
begin_test <<EOF
add 1 1 1 p
des 0:2,0 -

View file

@ -9,20 +9,6 @@ srcdir="$1"
. "$srcdir"/tests/test-common.sh
#
# Currently expected to work only with thread package LWP, because:
#
# - Thread scheduling is reliably deterministic only with LWP
# - Shell builtin kill appears not to do the job in MinGW
# - The Windows server tries to run as service when -d isn't
# specified
#
# TODO address these shortcomings.
#
if [ `sed -n 's/empthread *:= *\(.*\)/\1/p' <GNUmakefile` != LWP ]
then echo "Warning: smoke test not expected to work with this thread package!" >&2
fi
create_sandbox
begin_test "$srcdir"/tests/smoke/fairland.xdump

View file

@ -8,6 +8,18 @@ fi
test=${0##*/}
test=${test%-test}
empthread=`sed -n 's/empthread *:= *\(.*\)/\1/p' <GNUmakefile`
warn_empthread=y
check_empthread()
{
if [ "$warn_empthread" ] && [ "$empthread" != "LWP" ]
then
echo "Warning: test not expected to work with thread package $empthread!" >&2
warn_empthread=
fi
}
create_sandbox()
{
rm -rf sandbox
@ -33,6 +45,20 @@ start_server()
{
local pidfile=sandbox/var/empire/server.pid
local timeout
#
# Currently expected to work only with thread package LWP,
# because:
#
# - Thread scheduling is reliably deterministic only with LWP
# - Shell builtin kill appears not to do the job in MinGW
# - The Windows server tries to run as service when -d isn't
# specified
#
# TODO address these shortcomings.
#
check_empthread
pid=
trap 'if [ "$pid" ]; then kill -9 "$pid" 2>/dev/null || true; fi' EXIT
src/server/emp_server -e sandbox/etc/empire/econfig -R 1 -s