summaryrefslogtreecommitdiff
path: root/jstests/libunwind
diff options
context:
space:
mode:
authorBilly Donahue <billy.donahue@mongodb.com>2020-01-15 15:13:16 +0000
committerevergreen <evergreen@mongodb.com>2020-01-15 15:13:16 +0000
commit1156b8a0008afc68d86e41400baf0f7f4e683210 (patch)
tree275cbb24fe377e52a13cd93dfffac6170ef74611 /jstests/libunwind
parent4119889d9cf5d3e1b9e23ecd112c7d4bf9773390 (diff)
downloadmongo-1156b8a0008afc68d86e41400baf0f7f4e683210.tar.gz
SERVER-45564 test SIGUSR2 multithread stacktrace
Diffstat (limited to 'jstests/libunwind')
-rw-r--r--jstests/libunwind/stacktrace_signal.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/jstests/libunwind/stacktrace_signal.js b/jstests/libunwind/stacktrace_signal.js
new file mode 100644
index 00000000000..ac35ffe711f
--- /dev/null
+++ b/jstests/libunwind/stacktrace_signal.js
@@ -0,0 +1,19 @@
+/**
+ * Hit mongod with a SIGUSR2 and observe multithread stack trace.
+ * Should only work on Linux, and when mongod is built with libunwind.
+ *
+ * @tags: [
+ * requires_libunwind
+ * ]
+ */
+(function() {
+clearRawMongoProgramOutput();
+const conn = MongoRunner.runMongod();
+runMongoProgram('/bin/kill', '-s', 'SIGUSR2', conn.pid);
+MongoRunner.stopMongod(conn);
+const output = rawMongoProgramOutput();
+assert(output.search(/"threadInfo":/) >= 0, output);
+assert(output.search(/"processInfo":/) >= 0, output);
+// Will be several of these
+assert(output.search(/"backtrace":/) >= 0, output);
+})();