diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-04-22 21:30:43 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-04-22 21:30:43 +0300 |
commit | 26ada73e5178d75e7a1ecef074976b1c956d972f (patch) | |
tree | a5030aaad3d1becf9ff8bf01ae2d00ef71f01f0d /tools/ci/scripts/runtest.sh | |
parent | 1e059ddb25a56995aca739987e3a4cd98cd344c4 (diff) | |
download | manaplus-26ada73e5178d75e7a1ecef074976b1c956d972f.tar.gz manaplus-26ada73e5178d75e7a1ecef074976b1c956d972f.tar.bz2 manaplus-26ada73e5178d75e7a1ecef074976b1c956d972f.tar.xz manaplus-26ada73e5178d75e7a1ecef074976b1c956d972f.zip |
Add test with run and terminate game binary into .gitlab-ci.yml
Diffstat (limited to 'tools/ci/scripts/runtest.sh')
-rwxr-xr-x | tools/ci/scripts/runtest.sh | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tools/ci/scripts/runtest.sh b/tools/ci/scripts/runtest.sh new file mode 100755 index 000000000..9862d5bf8 --- /dev/null +++ b/tools/ci/scripts/runtest.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +export SDL_VIDEODRIVER="dummy" + +./src/manaplus --renderer=0 >logs/run.log 2>&1 & +export PID=$! +sleep 12s + +kill -0 ${PID} +if [ "$?" != 0 ]; then + echo "Error: process look like crashed" + cat logs/run.log + exit 1 +fi +kill -s SIGTERM ${PID} +export RET=$? + +sleep 10s + +if [ "${RET}" != 0 ]; then + echo "Error: process not responsing to termination signal" + kill -s SIGKILL ${PID} + cat logs/run.log + exit 1 +fi + +export DATA=$(cat logs/run.log) +if [[ -z "${DATA}" ]]; then + echo "Error: no output" + exit 1 +fi + +cat logs/run.log + +export DATA=$(grep "[.]cpp" logs/run.log) +if [[ -n "${DATA}" ]]; then + echo "Error: possible leak detected" + echo "${DATA}" + exit 1 +fi +exit 0 |