solenv/bin/lldb-core-bt.sh | 50 +++++++++++++++++++++++++++++++++++++++ solenv/gbuild/platform/macosx.mk | 3 ++ 2 files changed, 53 insertions(+)
New commits: commit 756c027198adc5212d46d72e0628c90698652af5 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Wed Jun 3 08:55:32 2020 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Jun 3 14:08:37 2020 +0200 enable backtraces for unit tests on macos Change-Id: I4f07e1e7b35bccc217d78662a45ac5eaf5865ee7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95394 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/solenv/bin/lldb-core-bt.sh b/solenv/bin/lldb-core-bt.sh new file mode 100755 index 000000000000..2bd982ec21e9 --- /dev/null +++ b/solenv/bin/lldb-core-bt.sh @@ -0,0 +1,50 @@ +#!/bin/sh +# +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# + +EXECUTABLE=${1} +COREDIR=${2} +EXITCODE=${3} + +if test -n "$(which lldb)" +then + found= + for COREFILE in "$COREDIR"/core* + do + if [ -f "$COREFILE" ] + then + printf '\nIt looks like %s generated %s\nBacktraces:\n' \ + "$EXECUTABLE" "$COREFILE" + $LLDBCOMMANDFILE=$(mktemp) + guess=$(file "$COREFILE") + guess=${guess#* execfn: \'} + guess=${guess%%\'*} + if [ ! -x "$guess" ]; then guess=$EXECUTABLE; fi + printf "target create -c $COREFILE $guess\nthread backtrace all\nquit\n" >"$LLDBCOMMANDFILE" + lldb -s "$LLDBCOMMANDFILE" --batch \ + && found=x + rm "$LLDBCOMMANDFILE" + echo + fi + done + if [ -z "$found" -a "$EXITCODE" -ge 128 ]; then + echo + echo "No core file identified in directory ${COREDIR}" + echo "To show backtraces for crashes during test execution," + echo "enable core files with:" + echo + echo " ulimit -c unlimited" + echo + exit 1 + fi +else + echo "You need lldb in your path to show backtraces" + exit 1 +fi diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk index c743511207ce..f9a805b6b62e 100644 --- a/solenv/gbuild/platform/macosx.mk +++ b/solenv/gbuild/platform/macosx.mk @@ -266,7 +266,10 @@ gb_CppunitTest_malloc_check := MallocScribble=1 MallocPreScribble=1 define gb_CppunitTest_CppunitTest_platform $(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_LinkTarget_get_target,$(2)) : LAYER := NONE +endef +define gb_CppunitTest_postprocess +$(SRCDIR)/solenv/bin/lldb-core-bt.sh $(1) $(2) $(3) endef # JunitTest class _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits