summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason McDonald <jason.mcdonald@nokia.com>2011-08-24 17:14:21 +1000
committerQt by Nokia <qt-info@nokia.com>2011-08-29 03:40:27 +0200
commit865c27460e9779e7e4cafea84db843c3c5b26765 (patch)
treeafd0c83b0c88679ab405ef5de98d710fd9d36cb7
parent14c2d4700cf62e8f0a58f206525ab651aad8464c (diff)
Remove circular dependency in testlib logging code
Pass the output file name from the QTestLog to the test logger when commencing logging rather than having the logger call back into the QTestLog. Change-Id: Id484635f9fcfca08a66c92f3442887e9473b6f9b Reviewed-on: http://codereview.qt.nokia.com/3454 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
-rw-r--r--src/testlib/qabstracttestlogger.cpp12
-rw-r--r--src/testlib/qabstracttestlogger_p.h2
-rw-r--r--src/testlib/qplaintestlogger.cpp4
-rw-r--r--src/testlib/qplaintestlogger_p.h2
-rw-r--r--src/testlib/qtestlog.cpp4
-rw-r--r--src/testlib/qtestlogger.cpp4
-rw-r--r--src/testlib/qtestlogger_p.h2
-rw-r--r--src/testlib/qxmltestlogger.cpp4
-rw-r--r--src/testlib/qxmltestlogger_p.h2
9 files changed, 17 insertions, 19 deletions
diff --git a/src/testlib/qabstracttestlogger.cpp b/src/testlib/qabstracttestlogger.cpp
index 735ad0122a..1e95471e70 100644
--- a/src/testlib/qabstracttestlogger.cpp
+++ b/src/testlib/qabstracttestlogger.cpp
@@ -40,7 +40,6 @@
****************************************************************************/
#include "QtTest/private/qabstracttestlogger_p.h"
-#include "QtTest/private/qtestlog_p.h"
#include "QtTest/qtestassert.h"
#include "QtCore/qbytearray.h"
@@ -81,22 +80,21 @@ bool QAbstractTestLogger::isTtyOutput()
}
-void QAbstractTestLogger::startLogging()
+void QAbstractTestLogger::startLogging(const char *filename)
{
QTEST_ASSERT(!QTest::stream);
- const char *out = QTestLog::outputFileName();
- if (!out) {
+ if (!filename) {
QTest::stream = stdout;
return;
}
#if defined(_MSC_VER) && _MSC_VER >= 1400 && !defined(Q_OS_WINCE)
- if (::fopen_s(&QTest::stream, out, "wt")) {
+ if (::fopen_s(&QTest::stream, filename, "wt")) {
#else
- QTest::stream = ::fopen(out, "wt");
+ QTest::stream = ::fopen(filename, "wt");
if (!QTest::stream) {
#endif
- printf("Unable to open file for logging: %s", out);
+ printf("Unable to open file for logging: %s", filename);
::exit(1);
}
}
diff --git a/src/testlib/qabstracttestlogger_p.h b/src/testlib/qabstracttestlogger_p.h
index 847c14453a..20b212a3b8 100644
--- a/src/testlib/qabstracttestlogger_p.h
+++ b/src/testlib/qabstracttestlogger_p.h
@@ -82,7 +82,7 @@ public:
QAbstractTestLogger() {}
virtual ~QAbstractTestLogger() {}
- virtual void startLogging();
+ virtual void startLogging(const char *filename);
virtual void stopLogging();
virtual void enterTestFunction(const char *function) = 0;
diff --git a/src/testlib/qplaintestlogger.cpp b/src/testlib/qplaintestlogger.cpp
index 5656ac60c5..daa44052ee 100644
--- a/src/testlib/qplaintestlogger.cpp
+++ b/src/testlib/qplaintestlogger.cpp
@@ -407,9 +407,9 @@ QPlainTestLogger::~QPlainTestLogger()
#endif
}
-void QPlainTestLogger::startLogging()
+void QPlainTestLogger::startLogging(const char *filename)
{
- QAbstractTestLogger::startLogging();
+ QAbstractTestLogger::startLogging(filename);
char buf[1024];
if (QTestLog::verboseLevel() < 0) {
diff --git a/src/testlib/qplaintestlogger_p.h b/src/testlib/qplaintestlogger_p.h
index aa9df834eb..1784e3be77 100644
--- a/src/testlib/qplaintestlogger_p.h
+++ b/src/testlib/qplaintestlogger_p.h
@@ -63,7 +63,7 @@ public:
QPlainTestLogger();
~QPlainTestLogger();
- void startLogging();
+ void startLogging(const char *filename);
void stopLogging();
void enterTestFunction(const char *function);
diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp
index 8a2d5596f3..a438da2746 100644
--- a/src/testlib/qtestlog.cpp
+++ b/src/testlib/qtestlog.cpp
@@ -296,7 +296,7 @@ void QTestLog::startLogging(unsigned int randomSeed)
QTEST_ASSERT(!QTest::testLogger);
QTest::initLogger();
QTest::testLogger->registerRandomSeed(randomSeed);
- QTest::testLogger->startLogging();
+ QTest::testLogger->startLogging(QTest::outFile);
QTest::oldMessageHandler = qInstallMsgHandler(QTest::messageHandler);
}
@@ -304,7 +304,7 @@ void QTestLog::startLogging()
{
QTEST_ASSERT(!QTest::testLogger);
QTest::initLogger();
- QTest::testLogger->startLogging();
+ QTest::testLogger->startLogging(QTest::outFile);
QTest::oldMessageHandler = qInstallMsgHandler(QTest::messageHandler);
}
diff --git a/src/testlib/qtestlogger.cpp b/src/testlib/qtestlogger.cpp
index 316e89fb55..9cf4320951 100644
--- a/src/testlib/qtestlogger.cpp
+++ b/src/testlib/qtestlogger.cpp
@@ -78,9 +78,9 @@ QTestLogger::~QTestLogger()
delete filelogger;
}
-void QTestLogger::startLogging()
+void QTestLogger::startLogging(const char *filename)
{
- QAbstractTestLogger::startLogging();
+ QAbstractTestLogger::startLogging(filename);
switch(format){
case TLF_LightXml:{
diff --git a/src/testlib/qtestlogger_p.h b/src/testlib/qtestlogger_p.h
index 1d27b63e21..5793537e78 100644
--- a/src/testlib/qtestlogger_p.h
+++ b/src/testlib/qtestlogger_p.h
@@ -74,7 +74,7 @@ class QTestLogger : public QAbstractTestLogger
TLF_XunitXml = 2
};
- void startLogging();
+ void startLogging(const char *filename);
void stopLogging();
void enterTestFunction(const char *function);
diff --git a/src/testlib/qxmltestlogger.cpp b/src/testlib/qxmltestlogger.cpp
index 2c8ba6c0a7..15b5c84fd5 100644
--- a/src/testlib/qxmltestlogger.cpp
+++ b/src/testlib/qxmltestlogger.cpp
@@ -102,9 +102,9 @@ QXmlTestLogger::~QXmlTestLogger()
{
}
-void QXmlTestLogger::startLogging()
+void QXmlTestLogger::startLogging(const char *filename)
{
- QAbstractTestLogger::startLogging();
+ QAbstractTestLogger::startLogging(filename);
QTestCharBuffer buf;
if (xmlmode == QXmlTestLogger::Complete) {
diff --git a/src/testlib/qxmltestlogger_p.h b/src/testlib/qxmltestlogger_p.h
index dc2f4b8aa1..ad510d5ce0 100644
--- a/src/testlib/qxmltestlogger_p.h
+++ b/src/testlib/qxmltestlogger_p.h
@@ -66,7 +66,7 @@ public:
QXmlTestLogger(XmlMode mode = Complete);
~QXmlTestLogger();
- void startLogging();
+ void startLogging(const char *filename);
void stopLogging();
void enterTestFunction(const char *function);