Files
MapLibreParticleLab/scripts/run_tests.sh
2015-02-04 10:49:06 +01:00

37 lines
874 B
Bash
Executable File

#!/usr/bin/env bash
set -e
set -o pipefail
CMD="build/${BUILDTYPE:-Release}/test"
# allow writing core files
ulimit -c unlimited -S
echo 'ulimit -c: '`ulimit -c`
if [ -f /proc/sys/kernel/core_pattern ]; then
echo '/proc/sys/kernel/core_pattern: '`cat /proc/sys/kernel/core_pattern`
fi
if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then
sysctl kernel.core_pattern
fi
RESULT=0
${CMD} "$@" || RESULT=$?
if [[ ${RESULT} != 0 ]]; then
echo "The program crashed with exit code ${RESULT}. We're now trying to output the core dump."
fi
# output core dump if we got one
for DUMP in $(find ./ -maxdepth 1 -name 'core*' -print); do
gdb ${CMD} ${DUMP} -ex "thread apply all bt" -ex "set pagination 0" -batch
rm -rf ${DUMP}
done
# now we should present travis with the original
# error code so the run cleanly stops
if [[ ${RESULT} != 0 ]]; then
exit $RESULT
fi