summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2021-07-19 14:32:40 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-07-19 22:08:32 +0000
commitecbebe1033e5382fcbc2a6fdfa8eb26f75e7080b (patch)
tree07b038b2ab58218b342bc1a528e33b4010bfeed5
parent0b681fea70f50ae1fe56d58ca9ee572bb66b3eab (diff)
testlib: Disable automatic backtrace when test crashes on macOS on ARM
Take two. f20edffcc8089fe573e03bd5e092dafc9b0ce568 only disabled the backtrace preamble. Change-Id: I972d007af59d13ec6eb11da44fc2b5e25c36e46e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 0f32703aa5aee46bb2c0bfe9c8e54f05b82cf0f3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/testlib/qtestcase.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
index b1e6401b0f..5388164e75 100644
--- a/src/testlib/qtestcase.cpp
+++ b/src/testlib/qtestcase.cpp
@@ -214,12 +214,13 @@ static void stackTrace()
return;
#if defined(Q_OS_LINUX) || (defined(Q_OS_MACOS) && !defined(Q_PROCESSOR_ARM_64))
+
const int msecsFunctionTime = qRound(QTestLog::msecsFunctionTime());
const int msecsTotalTime = qRound(QTestLog::msecsTotalTime());
fprintf(stderr, "\n=== Received signal at function time: %dms, total time: %dms, dumping stack ===\n",
msecsFunctionTime, msecsTotalTime);
-#endif
-#ifdef Q_OS_LINUX
+
+# ifdef Q_OS_LINUX
char cmd[512];
qsnprintf(cmd, 512, "gdb --pid %d 1>&2 2>/dev/null <<EOF\n"
"set prompt\n"
@@ -232,7 +233,7 @@ static void stackTrace()
if (system(cmd) == -1)
fprintf(stderr, "calling gdb failed\n");
fprintf(stderr, "=== End of stack trace ===\n");
-#elif defined(Q_OS_MACOS)
+# elif defined(Q_OS_MACOS)
char cmd[512];
qsnprintf(cmd, 512, "lldb -p %d 1>&2 2>/dev/null <<EOF\n"
"bt all\n"
@@ -242,6 +243,8 @@ static void stackTrace()
if (system(cmd) == -1)
fprintf(stderr, "calling lldb failed\n");
fprintf(stderr, "=== End of stack trace ===\n");
+# endif
+
#endif
}
#endif // !Q_OS_WASM