]> git.pond.sub.org Git - empserver/commitdiff
tests: Factor out begin_tests(), end_tests()
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 28 Dec 2013 15:50:14 +0000 (16:50 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Thu, 2 Jan 2014 13:07:22 +0000 (14:07 +0100)
Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
tests/actofgod-test
tests/smoke-test
tests/test-common.sh

index 93b2b2062be7f79f28453ba9c23521f910450b42..01abc3ff66ce0cfb4d278bafcd8ce86b11541b8e 100755 (executable)
@@ -29,27 +29,11 @@ WORLD_X 24
 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
index c5b0d3768b0bc5c545463874a3b657502e232360..f79a3b3d7e9d32b196ff295fda36b930b1d7f71a 100755 (executable)
@@ -25,13 +25,10 @@ fi
 
 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
@@ -59,10 +56,6 @@ EOF
     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
index 124304a989e324adb36d660c39f682a909036792..19d210d3bd841499f166b6c0da3177ba8f1335fa 100644 (file)
@@ -70,6 +70,33 @@ stop_server()
     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