diff --git a/.travis.yml b/.travis.yml index de62c2200..dd3f469ec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,7 @@ addons: - libncurses5-dev - libsqlite3-dev - libxml2-dev + - valgrind os: - linux - osx diff --git a/s/travis-build b/s/travis-build index ad2c8607b..14aff5358 100755 --- a/s/travis-build +++ b/s/travis-build @@ -16,3 +16,5 @@ s/build cd $ROOT inifile s/runtests +cd tests +./write-reports.sh diff --git a/tests/data/184.dat b/tests/data/184.dat index 74d72258a..ffe368510 100644 Binary files a/tests/data/184.dat and b/tests/data/184.dat differ diff --git a/tests/write-reports.sh b/tests/write-reports.sh new file mode 100755 index 000000000..775fdb622 --- /dev/null +++ b/tests/write-reports.sh @@ -0,0 +1,40 @@ +cleanup () { +rm -rf reports score +} + +setup() { +ln -sf ../scripts/config.lua +} + +quit() { +test -n "$2" && echo $2 +exit $1 +} + +ROOT=`pwd` +while [ ! -d $ROOT/.git ]; do + ROOT=`dirname $ROOT` +done + +set -e +cd $ROOT/tests +setup +cleanup +VALGRIND=`which valgrind` +SERVER=../Debug/eressea/eressea +if [ -n "$VALGRIND" ]; then +SUPP=../share/ubuntu-12_04.supp +SERVER="$VALGRIND --suppressions=$SUPP --error-exitcode=1 --leak-check=no $SERVER" +fi +echo "running $SERVER" +$SERVER -t 184 ../scripts/reports.lua +[ -d reports ] || quit 4 "no reports directory created" +CRFILE=184-zvto.cr +grep -q PARTEI reports/$CRFILE || quit 1 "CR did not contain any factions" +grep -q REGION reports/$CRFILE || quit 2 "CR did not contain any regions" +grep -q SCHIFF reports/$CRFILE || quit 3 "CR did not contain any ships" +grep -q BURG reports/$CRFILE || quit 4 "CR did not contain any buildings" +grep -q EINHEIT reports/$CRFILE || quit 5 "CR did not contain any units" +grep -q GEGENSTAENDE reports/$CRFILE || quit 6 "CR did not contain any items" +echo "integration tests: PASS" +cleanup