WORLD_Y 16
EOF
-# Create world, hide creation output
-src/util/files -e sandbox/etc/empire/econfig -f >/dev/null
-cp -r sandbox/var/empire/tel sandbox/var/empire/empty.tel
-start_server
-src/client/empire POGO peter <"$srcdir"/tests/actofgod/init_script >/dev/null
-stop_server
-mv sandbox/var/empire/tel sandbox/var/empire/init.tel
-mv sandbox/var/empire/empty.tel sandbox/var/empire/tel
-mv sandbox/var/empire/journal.log sandbox/var/empire/init.journal.log
-mv sandbox/var/empire/server.log sandbox/var/empire/init.server.log
-
-# Start server
-start_server
-
-# Feed input
-perl "$srcdir"/tests/actofgod/geninput.pl | src/client/empire POGO peter >/dev/null
+begin_test "$srcdir"/tests/actofgod/init_script
-# Stop server
-stop_server
+perl "$srcdir"/tests/actofgod/geninput.pl | src/client/empire POGO peter >/dev/null
-src/util/empdump -e sandbox/etc/empire/econfig -x >sandbox/actofgod.xdump
+end_test
# Test completed; compare results
cmp_out var/empire/server.log var/empire/journal.log actofgod.xdump
create_sandbox
-# Create world and start server
-src/util/files -e sandbox/etc/empire/econfig -f >/dev/null
-src/util/empdump -e sandbox/etc/empire/econfig -i "$srcdir"/tests/smoke/fairland.xdump
-start_server
+begin_test "$srcdir"/tests/smoke/fairland.xdump
+
src/client/empire POGO peter <"$srcdir"/tests/smoke/newcap_script >/dev/null
-# Feed player input
need_update=
for i in "$srcdir"/tests/smoke/[0-9]*
do
need_update=y
done
-# Stop server
-stop_server
-
-src/util/empdump -e sandbox/etc/empire/econfig -x >sandbox/smoke.xdump
+end_test
-# Smoke test completed; compare results
cmp_out var/empire/server.log var/empire/journal.log smoke.xdump
done
}
+begin_test()
+{
+ src/util/files -e sandbox/etc/empire/econfig -f >/dev/null
+ case "$1" in
+ *.xdump)
+ src/util/empdump -e sandbox/etc/empire/econfig -i "$1"
+ ;;
+ *)
+ cp -r sandbox/var/empire/tel sandbox/var/empire/empty.tel
+ start_server
+ src/client/empire POGO peter <"$1" >/dev/null
+ stop_server
+ mv sandbox/var/empire/tel sandbox/var/empire/init.tel
+ mv sandbox/var/empire/empty.tel sandbox/var/empire/tel
+ mv sandbox/var/empire/journal.log sandbox/var/empire/init.journal.log
+ mv sandbox/var/empire/server.log sandbox/var/empire/init.server.log
+ ;;
+ esac
+ start_server
+}
+
+end_test ()
+{
+ stop_server
+ src/util/empdump -e sandbox/etc/empire/econfig -x >sandbox/$test.xdump
+}
+
cmp_out()
{
local opt exp act nrm msg ret=0