From e19f27a667ff5d35d0438aba0a3d8466d761b335 Mon Sep 17 00:00:00 2001
From: Sean Bright <sean.bright@gmail.com>
Date: Wed, 3 Oct 2018 10:33:28 -0400
Subject: [PATCH] CI: Look up configured kernel.core_pattern sysctl

Change-Id: I8246a0147df8d821fbbcabc1db1887104b8bedc4
---
 tests/CI/runUnittests.sh | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

diff --git a/tests/CI/runUnittests.sh b/tests/CI/runUnittests.sh
index 7cb750ba99..2fb365d4e6 100755
--- a/tests/CI/runUnittests.sh
+++ b/tests/CI/runUnittests.sh
@@ -3,6 +3,17 @@ CIDIR=$(dirname $(readlink -fn $0))
 source $CIDIR/ci.functions
 ASTETCDIR=$DESTDIR/etc/asterisk
 
+asterisk_corefile_glob() {
+	local pattern=$(/sbin/sysctl -n kernel.core_pattern)
+
+	# If core_pattern is a pipe there isn't much we can do
+	if [[ ${pattern:0:1} == "|" ]] ; then
+		echo "core*"
+	else
+		echo "${pattern%%%*}*"
+	fi
+}
+
 cat <<-EOF > "$ASTETCDIR/logger.conf"
 	[logfiles]
 	full => notice,warning,error,debug,verbose
@@ -69,8 +80,14 @@ runner rsync -vaH $DESTDIR/var/log/asterisk/. $OUTPUTDIR
 set +x
 
 [ x"$USER_GROUP" != x ] && sudo chown -R $USER_GROUP $OUTPUTDIR
-if [ -f core* ] ; then
-	echo "*** Found a core file after running unit tests ***"
-	$DESTDIR/var/lib/asterisk/scripts/ast_coredumper --no-default-search core*
-	exit 1
-fi
+
+for core in $(asterisk_corefile_glob)
+do
+	if [ -f $core ]
+	then
+		echo "*** Found a core file ($core) after running unit tests ***"
+		sudo OUTPUTDIR=$OUTPUTDIR $DESTDIR/var/lib/asterisk/scripts/ast_coredumper --no-default-search $core
+	fi
+done
+
+exit 0
-- 
GitLab