X-Git-Url: http://git.pond.sub.org/?p=empserver;a=blobdiff_plain;f=tests%2Fsmoke-test;h=682d03b857da2192b21164fa20b3fae6400a0650;hp=4113ff21b14b68ddc08b8fbffb66b4d82c90e3c3;hb=HEAD;hpb=9ca3fa95b819810c541036b8727670744e2e0b44 diff --git a/tests/smoke-test b/tests/smoke-test index 4113ff21b..682d03b85 100755 --- a/tests/smoke-test +++ b/tests/smoke-test @@ -9,68 +9,13 @@ 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' &2 -fi - create_sandbox -exec 3>sandbox/smoke.out - -# Create world and start server -src/util/files -e sandbox/etc/empire/econfig -f >&3 -src/util/empdump -e sandbox/etc/empire/econfig -i "$srcdir"/tests/smoke/fairland.xdump -start_server -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 - t="${i##*/}" - if [ "$need_update" ] - then - echo "Update Turn $t starting" >&3 - src/client/empire POGO peter </dev/null -power new -report * -cen * ?own#0 -comm * ?own#0 -reso * ?own#0 -force -EOF - echo "Update Turn $t completed successfully" >&3 - fi - for j in "$i"/* - do - p="${j##*/}" - echo "Player $p Turn $t starting" >&3 - if [ $p -eq 0 ] - then c=POGO r=peter - else c="${p#0}"; r="$c" - fi - src/client/empire "$c" "$r" <$j >/dev/null - echo "Player $p Turn $t completed successfully" >&3 - done - need_update=y -done - -# Stop server -stop_server +begin_test "$srcdir"/tests/smoke/fairland.xdump -exec 3>&- +feed_input POGO peter "$srcdir"/tests/smoke/newcap_script +feed_dir "$srcdir"/tests/smoke -src/util/empdump -e sandbox/etc/empire/econfig -x >sandbox/smoke.xdump +end_test -# Smoke test completed; compare results -cmp_out smoke.out var/empire/server.log var/empire/journal.log smoke.xdump +cmp_logs_xdump