From 89def082c6db80e877e2a6a33db41b67f94cdf46 Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Thu, 3 Dec 2020 00:10:39 +0100 Subject: [PATCH] QTestLib: allow for non-zero values in env variables The usual behavior for env variables is that any nonzero value means "enable", so do the same for a couple of QTestLib env vars. While at it: document them. Change-Id: I854285df5d7af5be771f9d6532ddec5d8a6f8987 Pick-to: 6.0 Reviewed-by: Paul Wicking --- src/testlib/doc/src/qttestlib-manual.qdoc | 14 ++++++++++++++ src/testlib/qtestcase.cpp | 4 ++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/testlib/doc/src/qttestlib-manual.qdoc b/src/testlib/doc/src/qttestlib-manual.qdoc index 87ac565278..73c010888f 100644 --- a/src/testlib/doc/src/qttestlib-manual.qdoc +++ b/src/testlib/doc/src/qttestlib-manual.qdoc @@ -362,6 +362,20 @@ Outputs the possible command line arguments and gives some useful help. \endlist + \section1 Qt Test Environment Variables + + You can set certain environment variables in order to affect + the execution of an autotest: + + \list + \li \c QTEST_DISABLE_CORE_DUMP \br + Setting this variable to a non-zero value will disable the generation + of a core dump file. + \li \c QTEST_DISABLE_STACK_DUMP \br + Setting this variable to a non-zero value will prevent Qt Test from + printing a stacktrace in case an autotest times out or crashes. + \endlist + \section1 Creating a Benchmark To create a benchmark, follow the instructions for creating a test and then add a diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 7bca8de1b6..3227a66c05 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -190,7 +190,7 @@ static void disableCoreDump() { bool ok = false; const int disableCoreDump = qEnvironmentVariableIntValue("QTEST_DISABLE_CORE_DUMP", &ok); - if (ok && disableCoreDump == 1) { + if (ok && disableCoreDump) { #if defined(Q_OS_UNIX) && !defined(Q_OS_INTEGRITY) struct rlimit limit; limit.rlim_cur = 0; @@ -206,7 +206,7 @@ static void stackTrace() { bool ok = false; const int disableStackDump = qEnvironmentVariableIntValue("QTEST_DISABLE_STACK_DUMP", &ok); - if (ok && disableStackDump == 1) + if (ok && disableStackDump) return; if (debuggerPresent() || hasSystemCrashReporter())