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:
parent
ab244cbbe7
commit
4f2b8eea10
5 changed files with 31 additions and 42 deletions
|
@ -9,20 +9,6 @@ srcdir="$1"
|
||||||
|
|
||||||
. "$srcdir"/tests/test-common.sh
|
. "$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
|
create_sandbox
|
||||||
cat >>sandbox/etc/empire/econfig <<EOF
|
cat >>sandbox/etc/empire/econfig <<EOF
|
||||||
WORLD_X 24
|
WORLD_X 24
|
||||||
|
|
|
@ -9,20 +9,6 @@ srcdir="$1"
|
||||||
|
|
||||||
. "$srcdir"/tests/test-common.sh
|
. "$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
|
create_sandbox
|
||||||
cat >>sandbox/etc/empire/econfig <<EOF
|
cat >>sandbox/etc/empire/econfig <<EOF
|
||||||
WORLD_X 32
|
WORLD_X 32
|
||||||
|
|
|
@ -11,6 +11,11 @@ srcdir="$1"
|
||||||
|
|
||||||
create_sandbox
|
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
|
begin_test <<EOF
|
||||||
add 1 1 1 p
|
add 1 1 1 p
|
||||||
des 0:2,0 -
|
des 0:2,0 -
|
||||||
|
|
|
@ -9,20 +9,6 @@ srcdir="$1"
|
||||||
|
|
||||||
. "$srcdir"/tests/test-common.sh
|
. "$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
|
create_sandbox
|
||||||
|
|
||||||
begin_test "$srcdir"/tests/smoke/fairland.xdump
|
begin_test "$srcdir"/tests/smoke/fairland.xdump
|
||||||
|
|
|
@ -8,6 +8,18 @@ fi
|
||||||
test=${0##*/}
|
test=${0##*/}
|
||||||
test=${test%-test}
|
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()
|
create_sandbox()
|
||||||
{
|
{
|
||||||
rm -rf sandbox
|
rm -rf sandbox
|
||||||
|
@ -33,6 +45,20 @@ start_server()
|
||||||
{
|
{
|
||||||
local pidfile=sandbox/var/empire/server.pid
|
local pidfile=sandbox/var/empire/server.pid
|
||||||
local timeout
|
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=
|
pid=
|
||||||
trap 'if [ "$pid" ]; then kill -9 "$pid" 2>/dev/null || true; fi' EXIT
|
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
|
src/server/emp_server -e sandbox/etc/empire/econfig -R 1 -s
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue