aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin/src/test/java/com
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@yahooinc.com>2023-06-02 10:48:14 +0200
committerValerij Fredriksen <valerijf@yahooinc.com>2023-06-02 10:48:14 +0200
commite7a8a8cd113d14fddeb828c93696bc0af367b297 (patch)
tree1971bd4697fb0426471d72e4e95bd72a28161774 /node-admin/src/test/java/com
parentef6f0db67a5da3d66c1a23b01364ca08cc3e2f71 (diff)
Assume core bin path is under VESPA_HOME if relative
Diffstat (limited to 'node-admin/src/test/java/com')
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoreCollectorTest.java26
1 files changed, 21 insertions, 5 deletions
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoreCollectorTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoreCollectorTest.java
index b4a35d6012c..6d7d31e5a6c 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoreCollectorTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoreCollectorTest.java
@@ -57,11 +57,6 @@ public class CoreCollectorTest {
assertEquals(TEST_BIN_PATH, coreCollector.readBinPath(context, TEST_CORE_PATH));
mockExec(cmd,
- "/tmp/core.1234: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from " +
- "'/usr/bin/program'");
- assertEquals(TEST_BIN_PATH, coreCollector.readBinPath(context, TEST_CORE_PATH));
-
- mockExec(cmd,
"/tmp/core.1234: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, " +
"from 'program', real uid: 0, effective uid: 0, real gid: 0, effective gid: 0, " +
"execfn: '/usr/bin/program', platform: 'x86_64");
@@ -159,6 +154,27 @@ public class CoreCollectorTest {
}
@Test
+ void collectsDataRelativePath() {
+ mockExec(new String[]{"file", TEST_CORE_PATH.pathInContainer()},
+ "/tmp/core.1234: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from 'sbin/distributord-bin'");
+ String absolutePath = "/opt/vespa/sbin/distributord-bin";
+ mockExec(new String[]{GDB_PATH_RHEL8, "-n", "-ex", "set print frame-arguments none",
+ "-ex", "bt", "-batch", absolutePath, "/tmp/core.1234"},
+ String.join("\n", GDB_BACKTRACE));
+ mockExec(new String[]{GDB_PATH_RHEL8, "-n", "-ex", "set print frame-arguments none",
+ "-ex", "thread apply all bt", "-batch", absolutePath, "/tmp/core.1234"},
+ String.join("\n", GDB_BACKTRACE));
+
+ var expected = new CoreDumpMetadata()
+ .setBinPath(absolutePath)
+ .setCreated(CORE_CREATED)
+ .setType(CoreDumpMetadata.Type.CORE_DUMP)
+ .setBacktrace(GDB_BACKTRACE)
+ .setBacktraceAllThreads(GDB_BACKTRACE);
+ assertEquals(expected, coreCollector.collect(context, TEST_CORE_PATH));
+ }
+
+ @Test
void collectsPartialIfBacktraceFailsTest() {
mockExec(new String[]{"file", TEST_CORE_PATH.pathInContainer()},
"/tmp/core.1234: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from " +