Remove duplicated code from QTestBasicStreamer.
Instead of using the file output functions inherited from QAbstractTestLogger, QTestLogger relied on QTestBasicStreamer having a copy of these functions. This commit removes the copied functions from QTestBasicStreamer and makes it and QTestLogger use the original functions from QAbstractTestLogger. Change-Id: Icac1ae9d85cd39efd4c67c79104404dd56766b17 Reviewed-on: http://codereview.qt.nokia.com/3565 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
This commit is contained in:
parent
c478ebc914
commit
3c48d26c5b
@ -43,8 +43,6 @@
|
||||
#include "qtestlogger_p.h"
|
||||
#include "qtestelement.h"
|
||||
#include "qtestelementattribute.h"
|
||||
#include "QtTest/private/qtestlog_p.h"
|
||||
#include "qtestassert.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@ -55,11 +53,6 @@
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
namespace QTest
|
||||
{
|
||||
static FILE *stream = 0;
|
||||
}
|
||||
|
||||
QTestBasicStreamer::QTestBasicStreamer()
|
||||
:testLogger(0)
|
||||
{
|
||||
@ -158,51 +151,7 @@ void QTestBasicStreamer::outputElementAttributes(const QTestElement* element, QT
|
||||
|
||||
void QTestBasicStreamer::outputString(const char *msg) const
|
||||
{
|
||||
QTEST_ASSERT(QTest::stream);
|
||||
|
||||
::fputs(msg, QTest::stream);
|
||||
::fflush(QTest::stream);
|
||||
}
|
||||
|
||||
void QTestBasicStreamer::startStreaming()
|
||||
{
|
||||
QTEST_ASSERT(!QTest::stream);
|
||||
|
||||
const char *out = QTestLog::outputFileName();
|
||||
if (!out) {
|
||||
QTest::stream = stdout;
|
||||
return;
|
||||
}
|
||||
#if defined(_MSC_VER) && _MSC_VER >= 1400 && !defined(Q_OS_WINCE)
|
||||
if (::fopen_s(&QTest::stream, out, "wt")) {
|
||||
#else
|
||||
QTest::stream = ::fopen(out, "wt");
|
||||
if (!QTest::stream) {
|
||||
#endif
|
||||
printf("Unable to open file for logging: %s", out);
|
||||
::exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
bool QTestBasicStreamer::isTtyOutput()
|
||||
{
|
||||
QTEST_ASSERT(QTest::stream);
|
||||
|
||||
#if defined(Q_OS_WIN) || defined(Q_OS_INTEGRITY)
|
||||
return true;
|
||||
#else
|
||||
static bool ttyoutput = isatty(fileno(QTest::stream));
|
||||
return ttyoutput;
|
||||
#endif
|
||||
}
|
||||
|
||||
void QTestBasicStreamer::stopStreaming()
|
||||
{
|
||||
QTEST_ASSERT(QTest::stream);
|
||||
if (QTest::stream != stdout)
|
||||
fclose(QTest::stream);
|
||||
|
||||
QTest::stream = 0;
|
||||
testLogger->outputString(msg);
|
||||
}
|
||||
|
||||
void QTestBasicStreamer::setLogger(const QTestLogger *tstLogger)
|
||||
|
@ -64,9 +64,6 @@ class QTestBasicStreamer
|
||||
virtual void output(QTestElement *element) const;
|
||||
|
||||
void outputString(const char *msg) const;
|
||||
bool isTtyOutput();
|
||||
void startStreaming();
|
||||
void stopStreaming();
|
||||
|
||||
void setLogger(const QTestLogger *tstLogger);
|
||||
const QTestLogger *logger() const;
|
||||
|
@ -80,6 +80,8 @@ QTestLogger::~QTestLogger()
|
||||
|
||||
void QTestLogger::startLogging()
|
||||
{
|
||||
QAbstractTestLogger::startLogging();
|
||||
|
||||
switch(format){
|
||||
case TLF_LightXml:{
|
||||
logFormatter = new QTestLightXmlStreamer;
|
||||
@ -99,7 +101,6 @@ void QTestLogger::startLogging()
|
||||
}
|
||||
|
||||
logFormatter->setLogger(this);
|
||||
logFormatter->startStreaming();
|
||||
}
|
||||
|
||||
void QTestLogger::stopLogging()
|
||||
@ -161,7 +162,7 @@ void QTestLogger::stopLogging()
|
||||
logFormatter->output(iterator);
|
||||
}
|
||||
|
||||
logFormatter->stopStreaming();
|
||||
QAbstractTestLogger::stopLogging();
|
||||
}
|
||||
|
||||
void QTestLogger::enterTestFunction(const char *function)
|
||||
|
Loading…
Reference in New Issue
Block a user