summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-11-25 05:25:16 +0100
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-11-25 05:25:16 +0100
commit1cec66388eac81af2197da4fbf8fd2b00c56c7a5 (patch)
treeb4bb90c3b46eb18b773aaaa1fc18252776330f7e
parent279473f1ed6cd3bb6f6d2b8b9c75529b91836e39 (diff)
dont choke without gdb
-rwxr-xr-xsolenv/gbuild/platform/unxgcc_gdbforjunit.sh35
1 files changed, 25 insertions, 10 deletions
diff --git a/solenv/gbuild/platform/unxgcc_gdbforjunit.sh b/solenv/gbuild/platform/unxgcc_gdbforjunit.sh
index ced044404f54..8520849b5fbd 100755
--- a/solenv/gbuild/platform/unxgcc_gdbforjunit.sh
+++ b/solenv/gbuild/platform/unxgcc_gdbforjunit.sh
@@ -34,18 +34,33 @@
OFFICEFILE=${1}
WORKDIR=${2}
-if test -e ${WORKDIR}/core
+if test -n "`which gdb`"
then
- STORELOCATION=`mktemp --tmpdir=${WORKDIR} core.XXXX`
- echo "Found a core dump at ${WORKDIR}, moving it to ${STORELOCATION}"
- mv ${WORKDIR}/core ${STORELOCATION}
- echo "Stacktrace:"
- GDBCOMMANDFILE=`mktemp`
- echo "bt" > ${GDBCOMMANDFILE}
- gdb -x $GDBCOMMANDFILE --batch ${OFFICEFILE}.bin ${STORELOCATION}
- rm ${GDBCOMMANDFILE}
- exit 1
+ if test -e ${WORKDIR}/core
+ then
+ STORELOCATION=`mktemp --tmpdir=${WORKDIR} core.XXXX`
+ echo
+ echo "It seems like soffice.bin crashed during the test excution!"
+ echo "Found a core dump at ${WORKDIR}, moving it to ${STORELOCATION}"
+ mv ${WORKDIR}/core ${STORELOCATION}
+ echo "Stacktrace:"
+ GDBCOMMANDFILE=`mktemp`
+ echo "bt" > ${GDBCOMMANDFILE}
+ gdb -x $GDBCOMMANDFILE --batch ${OFFICEFILE}.bin ${STORELOCATION}
+ rm ${GDBCOMMANDFILE}
+ echo
+ exit 1
+ else
+ echo
+ echo "No core dump at ${WORKDIR}, to create core dumps (and stack traces)"
+ echo "for crashed soffice instances, enable core dumps with:"
+ echo
+ echo " ulimit -c unlimited"
+ echo
+ exit 0
+ fi
else
+ echo "You need gdb in you path to general stacktraces."
exit 0
fi