diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-08-20 21:57:16 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-08-20 21:59:58 +0300 |
commit | 2cba9624614c24908266fa28de6c1eea6dfe1db5 (patch) | |
tree | 1aba03f49f08f5bdcf1371d6ef468f8df9d49921 | |
parent | cf88350d62b5bbf1c0c2150596e7f2fdc88307c4 (diff) | |
download | serverdata-2cba9624614c24908266fa28de6c1eea6dfe1db5.tar.gz serverdata-2cba9624614c24908266fa28de6c1eea6dfe1db5.tar.bz2 serverdata-2cba9624614c24908266fa28de6c1eea6dfe1db5.tar.xz serverdata-2cba9624614c24908266fa28de6c1eea6dfe1db5.zip |
Add ci tests with valgrind.
-rw-r--r-- | .gitlab-ci.yml | 35 | ||||
-rwxr-xr-x | .tools/jobs/runservervalgrind.sh | 37 |
2 files changed, 72 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e98e8b75..5cf0bbd0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ stages: - build - test +- valgrind - fail - ok @@ -117,6 +118,40 @@ mariadb_run_latest: services: - mariadb:latest +mysql_run_valgrind_latest: + stage: valgrind + script: + - ./.tools/jobs/install.sh "mysql-client + gcc-6 + git-core + make autoconf automake autopoint + libtool libmysqlclient-dev libz-dev libpcre3-dev + valgrind" + - ./.tools/jobs/cloneall.sh + - ./.tools/jobs/initdb.sh mysql + - ./.tools/jobs/build.sh "--enable-debug --disable-manager --enable-Werror --enable-buildbot" "--enable-werror" + - ./.tools/jobs/runservervalgrind.sh mysql + image: debian:unstable + services: + - mysql:latest + +mariadb_run_valgrind_latest: + stage: valgrind + script: + - ./.tools/jobs/install.sh "mysql-client + gcc-6 + git-core + make autoconf automake autopoint + libtool libmysqlclient-dev libz-dev libpcre3-dev + valgrind" + - ./.tools/jobs/cloneall.sh + - ./.tools/jobs/initdb.sh mariadb + - ./.tools/jobs/build.sh "--enable-debug --disable-manager --enable-Werror --enable-buildbot" "--enable-werror" + - ./.tools/jobs/runservervalgrind.sh mariadb + image: debian:unstable + services: + - mysql:latest + ok_job: stage: ok script: diff --git a/.tools/jobs/runservervalgrind.sh b/.tools/jobs/runservervalgrind.sh new file mode 100755 index 00000000..6442b091 --- /dev/null +++ b/.tools/jobs/runservervalgrind.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +source ./.tools/scripts/init.sh + +function run_server { + echo "running: $1 --run-once $2" + valgrind -q --read-var-info=yes --track-origins=yes --malloc-fill=11 --free-fill=55 --show-reachable=yes --leak-check=full --leak-resolution=high --partial-loads-ok=yes --error-limit=no $1 --run-once $2 2>runlog.txt + export errcode=$? + export teststr=$(grep "invalid" runlog.txt) + cat runlog.txt + if [[ -n "${teststr}" ]]; then + echo "Errors found in running server $1." + exit 1 + else + echo "No errors found for server $1." + fi + if [ ${errcode} -ne 0 ]; then + echo "server $1 terminated with exit code ${errcode}" + echo "Test failed" + exit 1 + fi +} + +do_init_tools +init_configs $1 + +cd server-data +pwd +ls -la + +run_server ./login-server +run_server ./char-server + +ARGS="--load-script npc/dev/test.txt " +ARGS="--load-plugin script_mapquit $ARGS --load-script npc/dev/ci_test.txt" + +run_server ./map-server "$ARGS" |