In some containers our view of pids is confused. We see the container
pid namespace, but the core is generated using the host pid namespace.
Since tests are run in a new fresh directory any core here is most like
is ours.

Signed-off-by: Mark Wielaard <m...@klomp.org>
---
 tests/ChangeLog         | 5 +++++
 tests/backtrace-subr.sh | 7 +++++++
 2 files changed, 12 insertions(+)

diff --git a/tests/ChangeLog b/tests/ChangeLog
index cfdd7f9..9a89676 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,8 @@
+2018-02-16  Mark Wielaard  <m...@klomp.org>
+
+       * backtrace-subr.sh (check_native_core): Check if there is any core,
+       if so, use it.
+
 2018-02-15  Mark Wielaard  <m...@klomp.org>
 
        * backtrace-child.c: Include signal.h after sys/ptrace.h.
diff --git a/tests/backtrace-subr.sh b/tests/backtrace-subr.sh
index e04a7ea..ff42c6f 100644
--- a/tests/backtrace-subr.sh
+++ b/tests/backtrace-subr.sh
@@ -174,6 +174,13 @@ check_native_core()
     fi
   fi
   if [ ! -f "$core" ]; then
+    # In some containers our view of pids is confused. Since tests are
+    # run in a new fresh directory any core here is most like is ours.
+    if ls core.[0-9]* 1> /dev/null 2>&1; then
+      mv core.[0-9]* "$core"
+    fi
+  fi
+  if [ ! -f "$core" ]; then
     echo "No $core file generated";
     exit 77;
   fi
-- 
1.8.3.1

Reply via email to