2 # Smoke test for Empire
5 then echo "Usage: $0 SRCDIR" >&2; exit 1
10 . "$srcdir"/tests/test-common.sh
13 # Currently expected to work only with thread package LWP, because:
15 # - Thread scheduling is reliably deterministic only with LWP
16 # - Shell builtin kill appears not to do the job in MinGW
17 # - The Windows server tries to run as service when -d isn't
20 # TODO address these shortcomings.
22 if [ `sed -n 's/empthread *:= *\(.*\)/\1/p' <GNUmakefile` != LWP ]
23 then echo "Warning: smoke test not expected to work with this thread package!" >&2
28 # Create world and start server
29 src/util/files -e sandbox/etc/empire/econfig -f >/dev/null
30 src/util/empdump -e sandbox/etc/empire/econfig -i "$srcdir"/tests/smoke/fairland.xdump
32 src/client/empire POGO peter <"$srcdir"/tests/smoke/newcap_script >/dev/null
36 for i in "$srcdir"/tests/smoke/[0-9]*
41 src/client/empire POGO peter <<EOF >/dev/null
55 else c="${p#0}"; r="$c"
57 src/client/empire "$c" "$r" <$j >/dev/null
65 src/util/empdump -e sandbox/etc/empire/econfig -x >sandbox/smoke.xdump
67 # Smoke test completed; compare results
68 cmp_out var/empire/server.log var/empire/journal.log smoke.xdump