summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2019-02-25 00:40:12 +0300
committerAndrei Karas <akaras@inbox.ru>2019-03-03 05:27:06 +0300
commitab72d50b10b382d1256ccef6c945df0e1562b4a8 (patch)
tree8d371f03caf570c0b2c99d7b59c0864397c9c459
parent3b2fffae9f65bf064f7ab66a697196fd75550127 (diff)
downloadhercules-ab72d50b10b382d1256ccef6c945df0e1562b4a8.tar.gz
hercules-ab72d50b10b382d1256ccef6c945df0e1562b4a8.tar.bz2
hercules-ab72d50b10b382d1256ccef6c945df0e1562b4a8.tar.xz
hercules-ab72d50b10b382d1256ccef6c945df0e1562b4a8.zip
Show crash dump in travis
-rw-r--r--.travis.yml11
-rwxr-xr-xtools/ci/travis.sh8
2 files changed, 18 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml
index a9bea834d..f5f11e19b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,6 +11,7 @@ install:
before_script:
- uname -a
+ - ulimit -c unlimited -S
- ./tools/ci/travis.sh createdb ragnarok root
- ./tools/ci/travis.sh importdb ragnarok root
- ./tools/ci/travis.sh adduser ragnarok travis travis root
@@ -44,6 +45,7 @@ matrix:
sources:
- ubuntu-toolchain-r-test
packages:
+ - gdb
- gcc-6
- doxygen
- libxml-simple-perl
@@ -57,6 +59,7 @@ matrix:
- llvm-toolchain-trusty-5.0
- ubuntu-toolchain-r-test
packages:
+ - gdb
- clang-5.0
- compiler: clang
env: CONFIGURE_FLAGS="--enable-debug CC=clang-5.0 --disable-renewal --enable-Werror --enable-buildbot"
@@ -66,6 +69,7 @@ matrix:
- llvm-toolchain-trusty-5.0
- ubuntu-toolchain-r-test
packages:
+ - gdb
- clang-5.0
- compiler: clang
env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --enable-Werror --enable-packetver=20190123 --enable-packetver-re --enable-buildbot"
@@ -75,6 +79,7 @@ matrix:
- llvm-toolchain-trusty-4.0
- ubuntu-toolchain-r-test
packages:
+ - gdb
- clang-4.0
- compiler: clang
env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --enable-Werror --enable-packetver=20130724 --enable-packetver-re --enable-buildbot"
@@ -84,6 +89,7 @@ matrix:
- llvm-toolchain-trusty-4.0
- ubuntu-toolchain-r-test
packages:
+ - gdb
- clang-4.0
- compiler: clang
env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --disable-renewal --enable-Werror --enable-buildbot"
@@ -93,6 +99,7 @@ matrix:
- llvm-toolchain-trusty-4.0
- ubuntu-toolchain-r-test
packages:
+ - gdb
- clang-4.0
- compiler: clang
env: CONFIGURE_FLAGS="--enable-debug --enable-Werror --enable-buildbot"
@@ -109,6 +116,7 @@ matrix:
sources:
- ubuntu-toolchain-r-test
packages:
+ - gdb
- gcc-5
- compiler: gcc
env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-5 --disable-manager --disable-renewal --enable-Werror --enable-buildbot"
@@ -117,6 +125,7 @@ matrix:
sources:
- ubuntu-toolchain-r-test
packages:
+ - gdb
- gcc-5
- compiler: gcc
env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-6 --disable-manager --enable-Werror --enable-packetver=20190123 --enable-packetver-re --enable-buildbot"
@@ -125,6 +134,7 @@ matrix:
sources:
- ubuntu-toolchain-r-test
packages:
+ - gdb
- gcc-6
- compiler: gcc
env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-6 --disable-manager --disable-renewal --enable-Werror --enable-buildbot"
@@ -133,6 +143,7 @@ matrix:
sources:
- ubuntu-toolchain-r-test
packages:
+ - gdb
- gcc-6
notifications:
diff --git a/tools/ci/travis.sh b/tools/ci/travis.sh
index fa7d5be93..22f523bdf 100755
--- a/tools/ci/travis.sh
+++ b/tools/ci/travis.sh
@@ -47,7 +47,8 @@ function aborterror {
function run_server {
echo "Running: $1 --run-once $2"
- $1 --run-once $2 2>runlog.txt
+ rm -rf core* || true
+ CRASH_PLEASE=1 $1 --run-once $2 2>runlog.txt
export errcode=$?
export teststr=$(head -c 10000 runlog.txt)
if [[ -n "${teststr}" ]]; then
@@ -59,12 +60,17 @@ function run_server {
fi
if [ ${errcode} -ne 0 ]; then
echo "server $1 terminated with exit code ${errcode}"
+ COREFILE=$(find . -maxdepth 1 -name "core*" | head -n 1)
+ if [[ -f "$COREFILE" ]]; then
+ gdb -c "$COREFILE" $1 -ex "thread apply all bt" -ex "set pagination 0" -batch
+ fi
aborterror "Test failed"
fi
}
function run_test {
echo "Running: test_$1"
+ sysctl -w kernel.core_pattern=core || true
./test_$1 2>runlog.txt
export errcode=$?
export teststr=$(head -c 10000 runlog.txt)