summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/testlib/qabstracttestlogger.cpp5
-rw-r--r--src/testlib/qabstracttestlogger_p.h2
-rw-r--r--src/testlib/qtestlog.cpp11
3 files changed, 13 insertions, 5 deletions
diff --git a/src/testlib/qabstracttestlogger.cpp b/src/testlib/qabstracttestlogger.cpp
index ff05dd88c7..c7a0784da7 100644
--- a/src/testlib/qabstracttestlogger.cpp
+++ b/src/testlib/qabstracttestlogger.cpp
@@ -90,6 +90,11 @@ QAbstractTestLogger::~QAbstractTestLogger()
stream = nullptr;
}
+bool QAbstractTestLogger::isLoggingToStdout() const
+{
+ return stream == stdout;
+}
+
void QAbstractTestLogger::filterUnprintable(char *str) const
{
unsigned char *idx = reinterpret_cast<unsigned char *>(str);
diff --git a/src/testlib/qabstracttestlogger_p.h b/src/testlib/qabstracttestlogger_p.h
index e5a1404c16..079f5f87d5 100644
--- a/src/testlib/qabstracttestlogger_p.h
+++ b/src/testlib/qabstracttestlogger_p.h
@@ -106,6 +106,8 @@ public:
virtual void addMessage(MessageTypes type, const QString &message,
const char *file = nullptr, int line = 0) = 0;
+ bool isLoggingToStdout() const;
+
void outputString(const char *msg);
protected:
diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp
index 3341c235e6..05c96d62d5 100644
--- a/src/testlib/qtestlog.cpp
+++ b/src/testlib/qtestlog.cpp
@@ -169,7 +169,6 @@ namespace QTest {
static IgnoreResultList *ignoreResultList = nullptr;
static QList<QAbstractTestLogger *> loggers;
- static bool loggerUsingStdout = false;
static int verbosity = 0;
static int maxWarnings = 2002;
@@ -431,7 +430,6 @@ void QTestLog::stopLogging()
delete logger;
}
QTest::loggers.clear();
- QTest::loggerUsingStdout = false;
saveCoverageTool(QTestResult::currentAppName(), failCount() != 0, QTestLog::installedTestCoverage());
}
@@ -439,8 +437,6 @@ void QTestLog::addLogger(LogMode mode, const char *filename)
{
if (filename && strcmp(filename, "-") == 0)
filename = nullptr;
- if (!filename)
- QTest::loggerUsingStdout = true;
QAbstractTestLogger *logger = nullptr;
switch (mode) {
@@ -488,7 +484,12 @@ int QTestLog::loggerCount()
bool QTestLog::loggerUsingStdout()
{
- return QTest::loggerUsingStdout;
+ FOREACH_TEST_LOGGER {
+ if (logger->isLoggingToStdout())
+ return true;
+ }
+
+ return false;
}
void QTestLog::warn(const char *msg, const char *file, int line)