diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2009-03-23 09:34:13 (GMT) |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2009-03-23 09:34:13 (GMT) |
commit | 67ad0519fd165acee4a4d2a94fa502e9e4847bd0 (patch) | |
tree | 1dbf50b3dff8d5ca7e9344733968c72704eb15ff /tests/auto/selftests | |
download | Qt-67ad0519fd165acee4a4d2a94fa502e9e4847bd0.zip Qt-67ad0519fd165acee4a4d2a94fa502e9e4847bd0.tar.gz Qt-67ad0519fd165acee4a4d2a94fa502e9e4847bd0.tar.bz2 |
Long live Qt!
Diffstat (limited to 'tests/auto/selftests')
113 files changed, 7051 insertions, 0 deletions
diff --git a/tests/auto/selftests/.gitignore b/tests/auto/selftests/.gitignore new file mode 100644 index 0000000..56ba17a --- /dev/null +++ b/tests/auto/selftests/.gitignore @@ -0,0 +1,26 @@ +tst_selftests +assert/tst_assert +cmptest/tst_cmptest +crashes/tst_crashes +datatable/tst_datatable +datetime/tst_datetime +differentexec/tst_differentexec +exception/tst_exception +expectfail/tst_expectfail +failinit/tst_failinit +failinitdata/tst_failinitdata +fetchbogus/tst_fetchbogus +globaldata/tst_globaldata +maxwarnings/tst_maxwarnings +multiexec/tst_multiexec +qexecstringlist/tst_qexecstringlist +singleskip/tst_singleskip +skip/tst_skip +skipglobal/tst_skipglobal +skipinit/tst_skipinit +skipinitdata/tst_skipinitdata +sleep/tst_sleep +strcmp/tst_strcmp +subtest/tst_subtest +waitwithoutgui/tst_waitwithoutgui +warnings/tst_warnings diff --git a/tests/auto/selftests/README b/tests/auto/selftests/README new file mode 100644 index 0000000..6b5976a --- /dev/null +++ b/tests/auto/selftests/README @@ -0,0 +1,5 @@ + +These are the tests for QTestLib itself. + +Adding a new test for QTestlib is a complicated process. See change 282716 +for an example of what changes that has to be done. diff --git a/tests/auto/selftests/alive/.gitignore b/tests/auto/selftests/alive/.gitignore new file mode 100644 index 0000000..561285c --- /dev/null +++ b/tests/auto/selftests/alive/.gitignore @@ -0,0 +1 @@ +tst_alive diff --git a/tests/auto/selftests/alive/alive.pro b/tests/auto/selftests/alive/alive.pro new file mode 100644 index 0000000..4a6b788 --- /dev/null +++ b/tests/auto/selftests/alive/alive.pro @@ -0,0 +1,7 @@ +load(qttest_p4) +SOURCES += tst_alive.cpp + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/alive/qtestalive.cpp b/tests/auto/selftests/alive/qtestalive.cpp new file mode 100644 index 0000000..e2167be --- /dev/null +++ b/tests/auto/selftests/alive/qtestalive.cpp @@ -0,0 +1,159 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <qcoreapplication.h> +#include <qcoreevent.h> +#include <qthread.h> + +class QTestAliveEvent: public QEvent +{ +public: + + enum { AliveEventType = QEvent::User + 422 }; + + inline QTestAliveEvent(int aSequenceId) + : QEvent(QEvent::Type(AliveEventType)), seqId(aSequenceId) + {} + inline int sequenceId() const { return seqId; } + +private: + int seqId; +}; + +class QTestAlivePinger: public QObject +{ +public: + QTestAlivePinger(QObject *receiver, QObject *parent = 0); + bool event(QEvent *e); + +protected: + void timerEvent(QTimerEvent *event); + +private: + QObject *rec; + int timerId; + int currentSequenceId; + int lastSequenceId; +}; + +QTestAlivePinger::QTestAlivePinger(QObject *receiver, QObject *parent) + : QObject(parent), rec(receiver), currentSequenceId(0), lastSequenceId(0) +{ + Q_ASSERT(rec); + timerId = startTimer(850); +} + +bool QTestAlivePinger::event(QEvent *event) +{ + // pong received + if (int(event->type()) == QTestAliveEvent::AliveEventType) { + QTestAliveEvent *e = static_cast<QTestAliveEvent *>(event); + //qDebug("PONG %d received", e->sequenceId()); + // if the events are not delivered in order, we don't care. + if (e->sequenceId() > lastSequenceId) + lastSequenceId = e->sequenceId(); + return true; + } + return QObject::event(event); +} + +void QTestAlivePinger::timerEvent(QTimerEvent *event) +{ + if (event->timerId() != timerId) + return; + + if (lastSequenceId < currentSequenceId - 2) { + qWarning("TEST LAGS %d PINGS behind!", currentSequenceId - lastSequenceId); + } + ++currentSequenceId; + //qDebug("PING %d", currentSequenceId); + QCoreApplication::postEvent(rec, new QTestAliveEvent(currentSequenceId)); +} + +class QTestAlive: public QThread +{ +public: + QTestAlive(QObject *parent = 0); + ~QTestAlive(); + void run(); + + bool event(QEvent *e); + +private: + QTestAlivePinger *pinger; +}; + +QTestAlive::QTestAlive(QObject *parent) + : QThread(parent), pinger(0) +{ +} + +QTestAlive::~QTestAlive() +{ + quit(); + while (isRunning()); +} + +bool QTestAlive::event(QEvent *e) +{ + if (int(e->type()) == QTestAliveEvent::AliveEventType && pinger) { + // ping received, send back the pong + //qDebug("PONG %d", static_cast<QTestAliveEvent *>(e)->sequenceId()); + QCoreApplication::postEvent(pinger, + new QTestAliveEvent(static_cast<QTestAliveEvent *>(e)->sequenceId())); + return true; + } + return QThread::event(e); +} + +void QTestAlive::run() +{ + Q_ASSERT_X(QCoreApplication::instance(), "QTestAlive::run()", + "Cannot start QTestAlive without a QCoreApplication instance."); + + QTestAlivePinger p(this); + pinger = &p; + exec(); + pinger = 0; +} + + diff --git a/tests/auto/selftests/alive/tst_alive.cpp b/tests/auto/selftests/alive/tst_alive.cpp new file mode 100644 index 0000000..47bfb28 --- /dev/null +++ b/tests/auto/selftests/alive/tst_alive.cpp @@ -0,0 +1,174 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtTest/QtTest> +#include <QWidget> + +#include "qtestalive.cpp" + +class tst_Alive: public QObject +{ + Q_OBJECT + +private slots: + void alive(); + void addMouseDClick() const; + void compareQStringLists() const; + void compareQStringLists_data() const; +}; + +void tst_Alive::alive() +{ + QTestAlive a; + a.start(); + + sleep(5); + QCoreApplication::processEvents(); + qDebug("CUT"); + sleep(5); +} + +void tst_Alive::addMouseDClick() const +{ + class DClickListener : public QWidget + { + public: + DClickListener() : isTested(false) + { + } + + bool isTested; + protected: + virtual void mouseDoubleClickEvent(QMouseEvent * event) + { + isTested = true; + QCOMPARE(event->type(), QEvent::MouseButtonDblClick); + } + }; + + DClickListener listener; + + QTestEventList list; + list.addMouseDClick(Qt::LeftButton); + + list.simulate(&listener); + /* Check that we have been called at all. */ + QVERIFY(listener.isTested); +} + +void tst_Alive::compareQStringLists() const +{ + QFETCH(QStringList, opA); + QFETCH(QStringList, opB); + + QCOMPARE(opA, opB); +} + +void tst_Alive::compareQStringLists_data() const +{ + QTest::addColumn<QStringList>("opA"); + QTest::addColumn<QStringList>("opB"); + + { + QStringList opA; + opA.append(QLatin1String("string1")); + opA.append(QLatin1String("string2")); + + QStringList opB(opA); + opA.append(QLatin1String("string3")); + opB.append(QLatin1String("DIFFERS")); + + QTest::newRow("") << opA << opB; + } + + { + QStringList opA; + opA.append(QLatin1String("string1")); + opA.append(QLatin1String("string2")); + + QStringList opB(opA); + opA.append(QLatin1String("string3")); + opA.append(QLatin1String("string4")); + + opB.append(QLatin1String("DIFFERS")); + opB.append(QLatin1String("string4")); + + QTest::newRow("") << opA << opB; + } + + { + QStringList opA; + opA.append(QLatin1String("string1")); + opA.append(QLatin1String("string2")); + + QStringList opB; + opB.append(QLatin1String("string1")); + + QTest::newRow("") << opA << opB; + } + + { + QStringList opA; + opA.append(QLatin1String("openInNewWindow")); + opA.append(QLatin1String("openInNewTab")); + opA.append(QLatin1String("separator")); + opA.append(QLatin1String("bookmark_add")); + opA.append(QLatin1String("savelinkas")); + opA.append(QLatin1String("copylinklocation")); + opA.append(QLatin1String("separator")); + opA.append(QLatin1String("openWith_submenu")); + opA.append(QLatin1String("preview1")); + opA.append(QLatin1String("actions_submenu")); + opA.append(QLatin1String("separator")); + opA.append(QLatin1String("viewDocumentSource")); + + QStringList opB; + opB.append(QLatin1String("viewDocumentSource")); + + QTest::newRow("") << opA << opB; + + QTest::newRow("") << opB << opA; + } +} + +QTEST_MAIN(tst_Alive) +#include "tst_alive.moc" diff --git a/tests/auto/selftests/assert/assert.pro b/tests/auto/selftests/assert/assert.pro new file mode 100644 index 0000000..87513d4 --- /dev/null +++ b/tests/auto/selftests/assert/assert.pro @@ -0,0 +1,10 @@ +load(qttest_p4) + +SOURCES += tst_assert.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target +!win32:CONFIG += debug + + diff --git a/tests/auto/selftests/assert/tst_assert.cpp b/tests/auto/selftests/assert/tst_assert.cpp new file mode 100644 index 0000000..f3dc965 --- /dev/null +++ b/tests/auto/selftests/assert/tst_assert.cpp @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_Assert: public QObject +{ + Q_OBJECT + +private slots: + void testNumber1() const; + void testNumber2() const; + void testNumber3() const; +}; + +void tst_Assert::testNumber1() const +{ +} + +void tst_Assert::testNumber2() const +{ + Q_ASSERT(false); +} + +void tst_Assert::testNumber3() const +{ +} + +QTEST_MAIN(tst_Assert) + +#include "tst_assert.moc" diff --git a/tests/auto/selftests/badxml/badxml.pro b/tests/auto/selftests/badxml/badxml.pro new file mode 100644 index 0000000..d0d4ddf --- /dev/null +++ b/tests/auto/selftests/badxml/badxml.pro @@ -0,0 +1,10 @@ +load(qttest_p4) + +SOURCES += tst_badxml.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target +!win32:CONFIG += debug + + diff --git a/tests/auto/selftests/badxml/tst_badxml.cpp b/tests/auto/selftests/badxml/tst_badxml.cpp new file mode 100644 index 0000000..6b2e4c4 --- /dev/null +++ b/tests/auto/selftests/badxml/tst_badxml.cpp @@ -0,0 +1,199 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +/* + This test makes a testlog containing lots of characters which have a special meaning in + XML, with the purpose of exposing bugs in testlib's XML output code. +*/ +class tst_BadXml : public QObject +{ + Q_OBJECT + +private slots: + void badDataTag() const; + void badDataTag_data() const; + + void badMessage() const; + void badMessage_data() const; + +public: + static QList<QByteArray> const& badStrings(); +}; + +/* + Custom metaobject to make it possible to change class name at runtime. +*/ +class EmptyClass : public tst_BadXml +{ Q_OBJECT }; + +class tst_BadXmlSub : public tst_BadXml +{ +public: + const QMetaObject* metaObject() const; + + static char const* className; +}; +char const* tst_BadXmlSub::className = "tst_BadXml"; + +const QMetaObject* tst_BadXmlSub::metaObject() const +{ + const QMetaObject& empty = EmptyClass::staticMetaObject; + static QMetaObject mo = { + { empty.d.superdata, empty.d.stringdata, empty.d.data, empty.d.extradata } + }; + static char currentClassName[1024]; + qstrcpy(currentClassName, className); + int len = qstrlen(className); + currentClassName[len] = 0; + currentClassName[len+1] = 0; + + mo.d.stringdata = currentClassName; + + return &mo; +} + +/* + Outputs incidents and benchmark results with the current data tag set to a bad string. +*/ +void tst_BadXml::badDataTag() const +{ + qDebug("a message"); + + QBENCHMARK { + } + + QFAIL("a failure"); +} + +void tst_BadXml::badDataTag_data() const +{ + QTest::addColumn<int>("dummy"); + + foreach (char const* str, badStrings()) { + QTest::newRow(str) << 0; + } +} + +/* + Outputs a message containing a bad string. +*/ +void tst_BadXml::badMessage() const +{ + QFETCH(QByteArray, message); + qDebug("%s", message.constData()); +} + +void tst_BadXml::badMessage_data() const +{ + QTest::addColumn<QByteArray>("message"); + + int i = 0; + foreach (QByteArray const& str, badStrings()) { + QTest::newRow(qPrintable(QString::fromLatin1("string %1").arg(i++))) << str; + } +} + +/* + Returns a list of strings likely to expose bugs in XML output code. +*/ +QList<QByteArray> const& tst_BadXml::badStrings() +{ + static QList<QByteArray> out; + if (out.isEmpty()) { + out << "end cdata ]]> text ]]> more text"; + out << "quotes \" text\" more text"; + out << "xml close > open < tags < text"; + out << "all > \" mixed ]]> up > \" in < the ]]> hopes < of triggering \"< ]]> bugs"; + } + return out; +} + +int main(int argc, char** argv) +{ + QCoreApplication app(argc, argv); + + /* + tst_selftests can't handle multiple XML documents in a single testrun, so we'll + decide before we begin which of our "bad strings" we want to use for our testcase + name. + */ + int badstring = -1; + QVector<char const*> args; + for (int i = 0; i < argc; ++i) { + if (!strcmp(argv[i], "-badstring")) { + bool ok = false; + if (i < argc-1) { + badstring = QByteArray(argv[i+1]).toInt(&ok); + ++i; + } + if (!ok) { + qFatal("Bad `-badstring' option"); + } + } + else { + args << argv[i]; + } + } + /* + We just want testlib to output a benchmark result, we don't actually care about the value, + so just do one iteration to save time. + */ + args << "-iterations" << "1"; + + if (badstring == -1) { + tst_BadXml test; + return QTest::qExec(&test, args.count(), const_cast<char**>(args.data())); + } + + QList<QByteArray> badstrings = tst_BadXml::badStrings(); + if (badstring >= badstrings.count()) + qFatal("`-badstring %d' is out of range", badstring); + + tst_BadXmlSub test; + test.className = badstrings[badstring].constData(); + return QTest::qExec(&test, args.count(), const_cast<char**>(args.data())); +} + +#include "tst_badxml.moc" diff --git a/tests/auto/selftests/benchlibcallgrind/benchlibcallgrind.pro b/tests/auto/selftests/benchlibcallgrind/benchlibcallgrind.pro new file mode 100644 index 0000000..34a43d0 --- /dev/null +++ b/tests/auto/selftests/benchlibcallgrind/benchlibcallgrind.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_benchlibcallgrind.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp b/tests/auto/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp new file mode 100644 index 0000000..1c01e8d --- /dev/null +++ b/tests/auto/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp @@ -0,0 +1,97 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +/* This test must be explicitly enabled since there are no compile tests for valgrind.h */ +#ifdef QT_BUG236484 +#include <valgrind/valgrind.h> +#endif + +class tst_BenchlibCallgrind: public QObject +{ + Q_OBJECT + +private slots: +#ifdef QT_BUG236484 + void failInChildProcess(); +#endif + + void twoHundredMillionInstructions(); +}; + +#ifdef QT_BUG236484 +void tst_BenchlibCallgrind::failInChildProcess() +{ + static double f = 1.0; + QBENCHMARK { + for (int i = 0; i < 1000000; ++i) { + f *= 1.1; + if (RUNNING_ON_VALGRIND) QFAIL("Running under valgrind!"); + } + } +} +#endif + +void tst_BenchlibCallgrind::twoHundredMillionInstructions() +{ +#if !defined(__GNUC__) || !defined(__i386) + QSKIP("This test is only defined for gcc and x86.", SkipAll); +#else + QBENCHMARK { + __asm__ __volatile__( + "mov $100000000,%%eax \n" + "LOOPTOP: \n" + "dec %%eax \n" + "jnz LOOPTOP \n" + : /* no output */ + : /* no input */ + : /* clobber */ "eax" + ); + } +#endif +} + +QTEST_MAIN(tst_BenchlibCallgrind) + +#include "tst_benchlibcallgrind.moc" diff --git a/tests/auto/selftests/benchlibeventcounter/benchlibeventcounter.pro b/tests/auto/selftests/benchlibeventcounter/benchlibeventcounter.pro new file mode 100644 index 0000000..41e090e --- /dev/null +++ b/tests/auto/selftests/benchlibeventcounter/benchlibeventcounter.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_benchlibeventcounter.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/benchlibeventcounter/tst_benchlibeventcounter.cpp b/tests/auto/selftests/benchlibeventcounter/tst_benchlibeventcounter.cpp new file mode 100644 index 0000000..e9d3f6e --- /dev/null +++ b/tests/auto/selftests/benchlibeventcounter/tst_benchlibeventcounter.cpp @@ -0,0 +1,111 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +/* Custom event dispatcher to ensure we don't receive any spontaneous events */ +class TestEventDispatcher : public QAbstractEventDispatcher +{ + Q_OBJECT + +public: + TestEventDispatcher(QObject* parent =0) + : QAbstractEventDispatcher(parent) + {} + void flush() {} + bool hasPendingEvents() { return false; } + void interrupt() {} + bool processEvents(QEventLoop::ProcessEventsFlags) { return false; } + void registerSocketNotifier(QSocketNotifier*) {} + int registerTimer(int,QObject*) { return -1; } + void registerTimer(int,int,QObject*) {} + QList<TimerInfo> registeredTimers(QObject*) const { return QList<TimerInfo>(); } + void unregisterSocketNotifier(QSocketNotifier*) {} + bool unregisterTimer(int) { return false; } + bool unregisterTimers(QObject*) { return false; } + void wakeUp() {} +}; + +class tst_BenchlibEventCounter: public QObject +{ + Q_OBJECT + +private slots: + void events(); + void events_data(); +}; + +void tst_BenchlibEventCounter::events() +{ + QFETCH(int, eventCount); + + QAbstractEventDispatcher* ed = QAbstractEventDispatcher::instance(); + QBENCHMARK { + for (int i = 0; i < eventCount; ++i) { + ed->filterEvent(0); + } + } +} + +void tst_BenchlibEventCounter::events_data() +{ + QTest::addColumn<int>("eventCount"); + + QTest::newRow("0") << 0; + QTest::newRow("1") << 1; + QTest::newRow("10") << 10; + QTest::newRow("100") << 100; + QTest::newRow("500") << 500; + QTest::newRow("5000") << 5000; + QTest::newRow("100000") << 100000; +} + +int main(int argc, char** argv) +{ + TestEventDispatcher dispatcher; + QCoreApplication app(argc, argv); + tst_BenchlibEventCounter test; + return QTest::qExec(&test, argc, argv); +} + +#include "tst_benchlibeventcounter.moc" diff --git a/tests/auto/selftests/benchliboptions/benchliboptions.pro b/tests/auto/selftests/benchliboptions/benchliboptions.pro new file mode 100644 index 0000000..2f02eef --- /dev/null +++ b/tests/auto/selftests/benchliboptions/benchliboptions.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_benchliboptions.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/benchliboptions/tst_benchliboptions.cpp b/tests/auto/selftests/benchliboptions/tst_benchliboptions.cpp new file mode 100644 index 0000000..e006c38 --- /dev/null +++ b/tests/auto/selftests/benchliboptions/tst_benchliboptions.cpp @@ -0,0 +1,130 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +/* Custom event dispatcher to ensure we don't receive any spontaneous events */ +class TestEventDispatcher : public QAbstractEventDispatcher +{ + Q_OBJECT + +public: + TestEventDispatcher(QObject* parent =0) + : QAbstractEventDispatcher(parent) + {} + void flush() {} + bool hasPendingEvents() { return false; } + void interrupt() {} + bool processEvents(QEventLoop::ProcessEventsFlags) { return false; } + void registerSocketNotifier(QSocketNotifier*) {} + int registerTimer(int,QObject*) { return -1; } + void registerTimer(int,int,QObject*) {} + QList<TimerInfo> registeredTimers(QObject*) const { return QList<TimerInfo>(); } + void unregisterSocketNotifier(QSocketNotifier*) {} + bool unregisterTimer(int) { return false; } + bool unregisterTimers(QObject*) { return false; } + void wakeUp() {} +}; + +class tst_BenchlibOptions: public QObject +{ + Q_OBJECT + +private slots: + void threeEvents(); +}; + +class tst_BenchlibFifteenIterations : public tst_BenchlibOptions +{ Q_OBJECT }; +class tst_BenchlibOneHundredMinimum : public tst_BenchlibOptions +{ Q_OBJECT }; + +void tst_BenchlibOptions::threeEvents() +{ + QAbstractEventDispatcher* ed = QAbstractEventDispatcher::instance(); + QBENCHMARK { + ed->filterEvent(0); + ed->filterEvent(0); + ed->filterEvent(0); + } +} + +int main(int argc, char** argv) +{ + int ret = 0; + + TestEventDispatcher dispatcher; + QCoreApplication app(argc, argv); + + /* Run with no special arguments. */ + { + tst_BenchlibOptions test; + ret += QTest::qExec(&test, argc, argv); + } + + /* Run with an exact number of iterations. */ + { + QVector<char const*> args; + for (int i = 0; i < argc; ++i) args << argv[i]; + args << "-iterations"; + args << "15"; + tst_BenchlibFifteenIterations test; + ret += QTest::qExec(&test, args.count(), const_cast<char**>(args.data())); + } + + /* + Run until getting a value of at least 100. + */ + { + QVector<char const*> args; + for (int i = 0; i < argc; ++i) args << argv[i]; + args << "-minimumvalue"; + args << "100"; + tst_BenchlibOneHundredMinimum test; + ret += QTest::qExec(&test, args.count(), const_cast<char**>(args.data())); + } + + return ret; +} + +#include "tst_benchliboptions.moc" diff --git a/tests/auto/selftests/benchlibtickcounter/benchlibtickcounter.pro b/tests/auto/selftests/benchlibtickcounter/benchlibtickcounter.pro new file mode 100644 index 0000000..3d8cbfa --- /dev/null +++ b/tests/auto/selftests/benchlibtickcounter/benchlibtickcounter.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_benchlibtickcounter.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/benchlibtickcounter/tst_benchlibtickcounter.cpp b/tests/auto/selftests/benchlibtickcounter/tst_benchlibtickcounter.cpp new file mode 100644 index 0000000..6b88cb6 --- /dev/null +++ b/tests/auto/selftests/benchlibtickcounter/tst_benchlibtickcounter.cpp @@ -0,0 +1,80 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +#include <private/cycle_p.h> + +class tst_BenchlibTickCounter: public QObject +{ + Q_OBJECT + +private slots: + void threeBillionTicks(); +}; + +void tst_BenchlibTickCounter::threeBillionTicks() +{ +#ifndef HAVE_TICK_COUNTER + QSKIP("Tick counter not available on this platform", SkipAll); +#else + QBENCHMARK { + CycleCounterTicks start = getticks(); + double el = 0.; + double max = el; + while (el < 3000000000.) { + /* Verify that elapsed time never decreases */ + QVERIFY2(el >= max, qPrintable( + QString("Tick counter is not monotonic\nElapsed moved from %1 to %2") + .arg(max).arg(el) + )); + max = el; + el = elapsed(getticks(), start); + } + } +#endif +} + +QTEST_MAIN(tst_BenchlibTickCounter) + +#include "tst_benchlibtickcounter.moc" diff --git a/tests/auto/selftests/benchlibwalltime/benchlibwalltime.pro b/tests/auto/selftests/benchlibwalltime/benchlibwalltime.pro new file mode 100644 index 0000000..364e80b --- /dev/null +++ b/tests/auto/selftests/benchlibwalltime/benchlibwalltime.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_benchlibwalltime.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/benchlibwalltime/tst_benchlibwalltime.cpp b/tests/auto/selftests/benchlibwalltime/tst_benchlibwalltime.cpp new file mode 100644 index 0000000..6ab9637 --- /dev/null +++ b/tests/auto/selftests/benchlibwalltime/tst_benchlibwalltime.cpp @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_BenchlibWalltime: public QObject +{ + Q_OBJECT + +private slots: + void waitForOneThousand(); + void waitForFourThousand(); +}; + +void tst_BenchlibWalltime::waitForOneThousand() +{ + QBENCHMARK { + QTest::qWait(1000); + } +} + +void tst_BenchlibWalltime::waitForFourThousand() +{ + QBENCHMARK { + QTest::qWait(4000); + } +} + +QTEST_MAIN(tst_BenchlibWalltime) + +#include "tst_benchlibwalltime.moc" diff --git a/tests/auto/selftests/cmptest/cmptest.pro b/tests/auto/selftests/cmptest/cmptest.pro new file mode 100644 index 0000000..c19a77a --- /dev/null +++ b/tests/auto/selftests/cmptest/cmptest.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_cmptest.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/cmptest/tst_cmptest.cpp b/tests/auto/selftests/cmptest/tst_cmptest.cpp new file mode 100644 index 0000000..db4d2c0 --- /dev/null +++ b/tests/auto/selftests/cmptest/tst_cmptest.cpp @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_Cmptest: public QObject +{ + Q_OBJECT + +private slots: + void compare_boolfuncs(); + void compare_pointerfuncs(); +}; + +static bool boolfunc() { return true; } +static bool boolfunc2() { return true; } + +void tst_Cmptest::compare_boolfuncs() +{ + QCOMPARE(boolfunc(), boolfunc()); + QCOMPARE(boolfunc(), boolfunc2()); + QCOMPARE(!boolfunc(), !boolfunc2()); + QCOMPARE(boolfunc(), true); + QCOMPARE(!boolfunc(), false); +} + +static int i = 0; + +static int *intptr() { return &i; } + +void tst_Cmptest::compare_pointerfuncs() +{ + QCOMPARE(intptr(), intptr()); + QCOMPARE(&i, &i); + QCOMPARE(intptr(), &i); + QCOMPARE(&i, intptr()); +} + +QTEST_MAIN(tst_Cmptest) + +#include "tst_cmptest.moc" diff --git a/tests/auto/selftests/commandlinedata/commandlinedata.pro b/tests/auto/selftests/commandlinedata/commandlinedata.pro new file mode 100644 index 0000000..c900fc8 --- /dev/null +++ b/tests/auto/selftests/commandlinedata/commandlinedata.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_commandlinedata.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/commandlinedata/tst_commandlinedata.cpp b/tests/auto/selftests/commandlinedata/tst_commandlinedata.cpp new file mode 100644 index 0000000..e1a8f90 --- /dev/null +++ b/tests/auto/selftests/commandlinedata/tst_commandlinedata.cpp @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +/*! + \internal + \since 4.4 + \brief Tests that reporting of tables are done in a certain way. + */ +class tst_DataTable: public QObject +{ + Q_OBJECT + +private slots: + + void fiveTablePasses() const; + void fiveTablePasses_data() const; +}; + +void tst_DataTable::fiveTablePasses() const +{ + QFETCH(bool, test); + + QVERIFY(test); +} + +void tst_DataTable::fiveTablePasses_data() const +{ + QTest::addColumn<bool>("test"); + + QTest::newRow("fiveTablePasses_data1") << true; + QTest::newRow("fiveTablePasses_data2") << true; + QTest::newRow("fiveTablePasses_data3") << true; + QTest::newRow("fiveTablePasses_data4") << true; + QTest::newRow("fiveTablePasses_data5") << true; +} + +QTEST_MAIN(tst_DataTable) + +#include "tst_commandlinedata.moc" diff --git a/tests/auto/selftests/crashes/crashes.pro b/tests/auto/selftests/crashes/crashes.pro new file mode 100644 index 0000000..57eb4c7 --- /dev/null +++ b/tests/auto/selftests/crashes/crashes.pro @@ -0,0 +1,9 @@ +load(qttest_p4) + +SOURCES += tst_crashes.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/crashes/tst_crashes.cpp b/tests/auto/selftests/crashes/tst_crashes.cpp new file mode 100644 index 0000000..e08e0e8 --- /dev/null +++ b/tests/auto/selftests/crashes/tst_crashes.cpp @@ -0,0 +1,70 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +#ifdef Q_OS_WIN +#include <windows.h> +#endif + +class tst_Crashes: public QObject +{ + Q_OBJECT + +private slots: + void crash(); +}; + +void tst_Crashes::crash() +{ +#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) + //we avoid the error dialogbox to appear on windows + SetErrorMode( SEM_NOGPFAULTERRORBOX | SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX); +#endif + int *i = 0; + *i = 1; +} + +QTEST_MAIN(tst_Crashes) + +#include "tst_crashes.moc" diff --git a/tests/auto/selftests/datatable/datatable.pro b/tests/auto/selftests/datatable/datatable.pro new file mode 100644 index 0000000..69aed7a --- /dev/null +++ b/tests/auto/selftests/datatable/datatable.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_datatable.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/datatable/tst_datatable.cpp b/tests/auto/selftests/datatable/tst_datatable.cpp new file mode 100644 index 0000000..33ab829 --- /dev/null +++ b/tests/auto/selftests/datatable/tst_datatable.cpp @@ -0,0 +1,189 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +/*! + \internal + \since 4.4 + \brief Tests that reporting of tables are done in a certain way. + */ +class tst_DataTable: public QObject +{ + Q_OBJECT + +private slots: + void singleTestFunction1() const; + void singleTestFunction2() const; + + void fiveTablePasses() const; + void fiveTablePasses_data() const; + void fiveTableFailures() const; + void fiveTableFailures_data() const; + + void startsWithFailure() const; + void startsWithFailure_data() const; + + void endsWithFailure() const; + void endsWithFailure_data() const; + + void failureInMiddle() const; + void failureInMiddle_data() const; + + void fiveIsolatedFailures() const; + void fiveIsolatedFailures_data() const; +}; + +void tst_DataTable::singleTestFunction1() const +{ + /* Do nothing, just pass. */ +} + +void tst_DataTable::singleTestFunction2() const +{ + /* Do nothing, just pass. */ +} + +void tst_DataTable::fiveTableFailures() const +{ + QFETCH(bool, test); + + QVERIFY(test); +} + +void tst_DataTable::fiveTableFailures_data() const +{ + QTest::addColumn<bool>("test"); + + /* Unconditionally fail. */ + QTest::newRow("fiveTableFailures_data 1") << false; + QTest::newRow("fiveTableFailures_data 2") << false; + QTest::newRow("fiveTableFailures_data 3") << false; + QTest::newRow("fiveTableFailures_data 4") << false; + QTest::newRow("fiveTableFailures_data 5") << false; +} + +void tst_DataTable::startsWithFailure() const +{ + fiveTableFailures(); +} + +void tst_DataTable::fiveTablePasses() const +{ + fiveTableFailures(); +} + +void tst_DataTable::fiveTablePasses_data() const +{ + QTest::addColumn<bool>("test"); + + QTest::newRow("fiveTablePasses_data 1") << true; + QTest::newRow("fiveTablePasses_data 2") << true; + QTest::newRow("fiveTablePasses_data 3") << true; + QTest::newRow("fiveTablePasses_data 4") << true; + QTest::newRow("fiveTablePasses_data 5") << true; +} + +void tst_DataTable::startsWithFailure_data() const +{ + QTest::addColumn<bool>("test"); + + QTest::newRow("startsWithFailure_data 1") << false; + QTest::newRow("startsWithFailure_data 2") << true; + QTest::newRow("startsWithFailure_data 3") << true; + QTest::newRow("startsWithFailure_data 4") << true; + QTest::newRow("startsWithFailure_data 5") << true; +} + +void tst_DataTable::endsWithFailure() const +{ + fiveTableFailures(); +} + +void tst_DataTable::endsWithFailure_data() const +{ + QTest::addColumn<bool>("test"); + + QTest::newRow("endsWithFailure 1") << true; + QTest::newRow("endsWithFailure 2") << true; + QTest::newRow("endsWithFailure 3") << true; + QTest::newRow("endsWithFailure 4") << true; + QTest::newRow("endsWithFailure 5") << false; +} + +void tst_DataTable::failureInMiddle() const +{ + fiveTableFailures(); +} + +void tst_DataTable::failureInMiddle_data() const +{ + QTest::addColumn<bool>("test"); + + QTest::newRow("failureInMiddle_data 1") << true; + QTest::newRow("failureInMiddle_data 2") << true; + QTest::newRow("failureInMiddle_data 3") << false; + QTest::newRow("failureInMiddle_data 4") << true; + QTest::newRow("failureInMiddle_data 5") << true; +} + +void tst_DataTable::fiveIsolatedFailures() const +{ + QFETCH(bool, test); + QVERIFY(!test); +} + +void tst_DataTable::fiveIsolatedFailures_data() const +{ + QTest::addColumn<bool>("test"); + + QTest::newRow("fiveIsolatedFailures_data 1") << true; + QTest::newRow("fiveIsolatedFailures_data 2") << true; + QTest::newRow("fiveIsolatedFailures_data 3") << true; + QTest::newRow("fiveIsolatedFailures_data 4") << true; + QTest::newRow("fiveIsolatedFailures_data 5") << true; +} + +QTEST_MAIN(tst_DataTable) + +#include "tst_datatable.moc" diff --git a/tests/auto/selftests/datetime/datetime.pro b/tests/auto/selftests/datetime/datetime.pro new file mode 100644 index 0000000..489e5cb --- /dev/null +++ b/tests/auto/selftests/datetime/datetime.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_datetime.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/datetime/tst_datetime.cpp b/tests/auto/selftests/datetime/tst_datetime.cpp new file mode 100644 index 0000000..0358e5b --- /dev/null +++ b/tests/auto/selftests/datetime/tst_datetime.cpp @@ -0,0 +1,90 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +#include <QDateTime> + +/*! + \internal + */ +class tst_DateTime: public QObject +{ + Q_OBJECT + +private slots: + void dateTime() const; + void qurl() const; + void qurl_data() const; +}; + +void tst_DateTime::dateTime() const +{ + const QDateTime utc(QDate(2000, 5, 3), QTime(4, 3, 4), Qt::UTC); + const QDateTime local(QDate(2000, 5, 3), QTime(4, 3, 4), Qt::LocalTime); + + QCOMPARE(local, utc); +} + +void tst_DateTime::qurl() const +{ + QFETCH(QUrl, operandA); + QFETCH(QUrl, operandB); + + QCOMPARE(operandA, operandB); +} + +void tst_DateTime::qurl_data() const +{ + QTest::addColumn<QUrl>("operandA"); + QTest::addColumn<QUrl>("operandB"); + + QTest::newRow("") << QUrl() << QUrl(); + QTest::newRow("") << QUrl(QLatin1String("http://example.com")) << QUrl(); + QTest::newRow("") << QUrl() << QUrl(QLatin1String("http://example.com")); + QTest::newRow("") << QUrl(QLatin1String("http://example.com")) << QUrl(QLatin1String("http://example.com")); +} + +QTEST_MAIN(tst_DateTime) + +#include "tst_datetime.moc" diff --git a/tests/auto/selftests/differentexec/differentexec.pro b/tests/auto/selftests/differentexec/differentexec.pro new file mode 100644 index 0000000..e789649 --- /dev/null +++ b/tests/auto/selftests/differentexec/differentexec.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_differentexec.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/differentexec/tst_differentexec.cpp b/tests/auto/selftests/differentexec/tst_differentexec.cpp new file mode 100644 index 0000000..c50046a --- /dev/null +++ b/tests/auto/selftests/differentexec/tst_differentexec.cpp @@ -0,0 +1,92 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtTest/QtTest> + +class tst_TestA : public QObject +{ + Q_OBJECT + +private slots: + void slotName() const + { + QVERIFY(true); + } + + void aDifferentSlot() const + { + QVERIFY(false); + } +}; + +class tst_TestB : public QObject +{ + Q_OBJECT + +private slots: + void slotName() const + { + QVERIFY(true); + } + + void aSecondDifferentSlot() const + { + QVERIFY(false); + } +}; + +int main() +{ + char *argv[] = {"appName", "slotName"}; + int argc = 2; + + tst_TestA testA; + QTest::qExec(&testA, argc, argv); + QTest::qExec(&testA, argc, argv); + + tst_TestB testB; + QTest::qExec(&testB, argc, argv); + + return 0; +} + +#include "tst_differentexec.moc" diff --git a/tests/auto/selftests/exception/exception.pro b/tests/auto/selftests/exception/exception.pro new file mode 100644 index 0000000..14d8c7f --- /dev/null +++ b/tests/auto/selftests/exception/exception.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_exception.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/exception/tst_exception.cpp b/tests/auto/selftests/exception/tst_exception.cpp new file mode 100644 index 0000000..7639935 --- /dev/null +++ b/tests/auto/selftests/exception/tst_exception.cpp @@ -0,0 +1,69 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtTest/QtTest> + +class tst_Exception: public QObject +{ + Q_OBJECT + +private slots: + void throwException() const; +}; + +/*! + \internal + + We simply throw an exception to check that we get sane output/reporting. + */ +void tst_Exception::throwException() const +{ + /* When exceptions are disabled, some compilers, at least linux-g++, treat + * exception clauses as hard errors. */ +#ifndef QT_NO_EXCEPTIONS + throw 3; +#endif +} + +QTEST_MAIN(tst_Exception) + +#include "tst_exception.moc" diff --git a/tests/auto/selftests/expected_alive.txt b/tests/auto/selftests/expected_alive.txt new file mode 100644 index 0000000..e1768ec --- /dev/null +++ b/tests/auto/selftests/expected_alive.txt @@ -0,0 +1,33 @@ +********* Start testing of tst_Alive ********* +Config: Using QTest library 4.5.0, Qt 4.5.0 +PASS : tst_Alive::initTestCase() +QWARN : tst_Alive::alive() TEST LAGS 3 PINGS behind! +QWARN : tst_Alive::alive() TEST LAGS 4 PINGS behind! +QDEBUG : tst_Alive::alive() CUT +QWARN : tst_Alive::alive() TEST LAGS 3 PINGS behind! +QWARN : tst_Alive::alive() TEST LAGS 4 PINGS behind! +PASS : tst_Alive::alive() +PASS : tst_Alive::addMouseDClick() +FAIL! : tst_Alive::compareQStringLists() Compared QStringLists differ at index 2. + Actual (opA) : 'string3' + Expected (opB) : 'DIFFERS' + Loc: [/home/fenglich/dev/qt-45/tests/auto/selftests/alive/tst_alive.cpp(68)] +FAIL! : tst_Alive::compareQStringLists() Compared QStringLists differ at index 2. + Actual (opA) : 'string3' + Expected (opB) : 'DIFFERS' + Loc: [/home/fenglich/dev/qt-45/tests/auto/selftests/alive/tst_alive.cpp(68)] +FAIL! : tst_Alive::compareQStringLists() Compared QStringLists have different sizes. + Actual (opA) size : '2' + Expected (opB) size: '1' + Loc: [/home/fenglich/dev/qt-45/tests/auto/selftests/alive/tst_alive.cpp(68)] +FAIL! : tst_Alive::compareQStringLists() Compared QStringLists have different sizes. + Actual (opA) size : '12' + Expected (opB) size: '1' + Loc: [/home/fenglich/dev/qt-45/tests/auto/selftests/alive/tst_alive.cpp(68)] +FAIL! : tst_Alive::compareQStringLists() Compared QStringLists have different sizes. + Actual (opA) size : '1' + Expected (opB) size: '12' + Loc: [/home/fenglich/dev/qt-45/tests/auto/selftests/alive/tst_alive.cpp(68)] +PASS : tst_Alive::cleanupTestCase() +Totals: 4 passed, 5 failed, 0 skipped +********* Finished testing of tst_Alive ********* diff --git a/tests/auto/selftests/expected_assert.txt b/tests/auto/selftests/expected_assert.txt new file mode 100644 index 0000000..0203f2b --- /dev/null +++ b/tests/auto/selftests/expected_assert.txt @@ -0,0 +1,9 @@ +********* Start testing of tst_Assert ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +PASS : tst_Assert::initTestCase() +PASS : tst_Assert::testNumber1() +QFATAL : tst_Assert::testNumber2() ASSERT: "false" in file /home/fenglich/dev/qt-4.3/tests/auto/selftests/assert/tst_assert.cpp, line 29 +FAIL! : tst_Assert::testNumber2() Received a fatal error. + Loc: [Unknown file(0)] +Totals: 2 passed, 1 failed, 0 skipped +********* Finished testing of tst_Assert ********* diff --git a/tests/auto/selftests/expected_benchlibcallgrind.txt b/tests/auto/selftests/expected_benchlibcallgrind.txt new file mode 100644 index 0000000..caf2424 --- /dev/null +++ b/tests/auto/selftests/expected_benchlibcallgrind.txt @@ -0,0 +1,9 @@ +********* Start testing of tst_BenchlibCallgrind ********* +Config: Using QTest library 4.5.0, Qt 4.5.0 +PASS : tst_BenchlibCallgrind::initTestCase() +RESULT : tst_BenchlibCallgrind::twoHundredMillionInstructions(): + 200,000,000 instr. loads per iteration (total: 200000000, iterations: 1) +PASS : tst_BenchlibCallgrind::twoHundredMillionInstructions() +PASS : tst_BenchlibCallgrind::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_BenchlibCallgrind ********* diff --git a/tests/auto/selftests/expected_benchlibeventcounter.txt b/tests/auto/selftests/expected_benchlibeventcounter.txt new file mode 100644 index 0000000..906a4de --- /dev/null +++ b/tests/auto/selftests/expected_benchlibeventcounter.txt @@ -0,0 +1,21 @@ +********* Start testing of tst_BenchlibEventCounter ********* +Config: Using QTest library 4.5.0, Qt 4.5.0 +PASS : tst_BenchlibEventCounter::initTestCase() +RESULT : tst_BenchlibEventCounter::events():"0": + 0 events per iteration (total: 0, iterations: 1) +RESULT : tst_BenchlibEventCounter::events():"1": + 1 events per iteration (total: 1, iterations: 1) +RESULT : tst_BenchlibEventCounter::events():"10": + 10 events per iteration (total: 10, iterations: 1) +RESULT : tst_BenchlibEventCounter::events():"100": + 100 events per iteration (total: 100, iterations: 1) +RESULT : tst_BenchlibEventCounter::events():"500": + 500 events per iteration (total: 500, iterations: 1) +RESULT : tst_BenchlibEventCounter::events():"5000": + 5,000 events per iteration (total: 5000, iterations: 1) +RESULT : tst_BenchlibEventCounter::events():"100000": + 100,000 events per iteration (total: 100000, iterations: 1) +PASS : tst_BenchlibEventCounter::events() +PASS : tst_BenchlibEventCounter::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_BenchlibEventCounter ********* diff --git a/tests/auto/selftests/expected_benchliboptions.txt b/tests/auto/selftests/expected_benchliboptions.txt new file mode 100644 index 0000000..7afc922 --- /dev/null +++ b/tests/auto/selftests/expected_benchliboptions.txt @@ -0,0 +1,27 @@ +********* Start testing of tst_BenchlibOptions ********* +Config: Using QTest library 4.5.0, Qt 4.5.0 +PASS : tst_BenchlibOptions::initTestCase() +RESULT : tst_BenchlibOptions::threeEvents(): + 3 events per iteration (total: 3, iterations: 1) +PASS : tst_BenchlibOptions::threeEvents() +PASS : tst_BenchlibOptions::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_BenchlibOptions ********* +********* Start testing of tst_BenchlibFifteenIterations ********* +Config: Using QTest library 4.5.0, Qt 4.5.0 +PASS : tst_BenchlibFifteenIterations::initTestCase() +RESULT : tst_BenchlibFifteenIterations::threeEvents(): + 3.0 events per iteration (total: 45, iterations: 15) +PASS : tst_BenchlibFifteenIterations::threeEvents() +PASS : tst_BenchlibFifteenIterations::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_BenchlibFifteenIterations ********* +********* Start testing of tst_BenchlibOneHundredMinimum ********* +Config: Using QTest library 4.5.0, Qt 4.5.0 +PASS : tst_BenchlibOneHundredMinimum::initTestCase() +RESULT : tst_BenchlibOneHundredMinimum::threeEvents(): + 3.00 events per iteration (total: 192, iterations: 64) +PASS : tst_BenchlibOneHundredMinimum::threeEvents() +PASS : tst_BenchlibOneHundredMinimum::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_BenchlibOneHundredMinimum ********* diff --git a/tests/auto/selftests/expected_benchlibtickcounter.txt b/tests/auto/selftests/expected_benchlibtickcounter.txt new file mode 100644 index 0000000..4cdeeee --- /dev/null +++ b/tests/auto/selftests/expected_benchlibtickcounter.txt @@ -0,0 +1,9 @@ +********* Start testing of tst_BenchlibTickCounter ********* +Config: Using QTest library 4.5.0, Qt 4.5.0 +PASS : tst_BenchlibTickCounter::initTestCase() +RESULT : tst_BenchlibTickCounter::threeBillionTicks(): + 3,000,000,000 ticks per iteration (total: 3000000000, iterations: 1) +PASS : tst_BenchlibTickCounter::threeBillionTicks() +PASS : tst_BenchlibTickCounter::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_BenchlibTickCounter ********* diff --git a/tests/auto/selftests/expected_benchlibwalltime.txt b/tests/auto/selftests/expected_benchlibwalltime.txt new file mode 100644 index 0000000..03f2465 --- /dev/null +++ b/tests/auto/selftests/expected_benchlibwalltime.txt @@ -0,0 +1,12 @@ +********* Start testing of tst_BenchlibWalltime ********* +Config: Using QTest library 4.5.0, Qt 4.5.0 +PASS : tst_BenchlibWalltime::initTestCase() +RESULT : tst_BenchlibWalltime::waitForOneThousand(): + 1,000 msec per iteration (total: 1000, iterations: 1) +PASS : tst_BenchlibWalltime::waitForOneThousand() +RESULT : tst_BenchlibWalltime::waitForFourThousand(): + 4,000 msec per iteration (total: 4000, iterations: 1) +PASS : tst_BenchlibWalltime::waitForFourThousand() +PASS : tst_BenchlibWalltime::cleanupTestCase() +Totals: 4 passed, 0 failed, 0 skipped +********* Finished testing of tst_BenchlibWalltime ********* diff --git a/tests/auto/selftests/expected_cmptest.txt b/tests/auto/selftests/expected_cmptest.txt new file mode 100644 index 0000000..dc89d9d --- /dev/null +++ b/tests/auto/selftests/expected_cmptest.txt @@ -0,0 +1,8 @@ +********* Start testing of tst_Cmptest ********* +Config: Using QTest library 4.1.0, Qt 4.1.0 +PASS : tst_Cmptest::initTestCase() +PASS : tst_Cmptest::compare_boolfuncs() +PASS : tst_Cmptest::compare_pointerfuncs() +PASS : tst_Cmptest::cleanupTestCase() +Totals: 4 passed, 0 failed, 0 skipped +********* Finished testing of tst_Cmptest ********* diff --git a/tests/auto/selftests/expected_commandlinedata.txt b/tests/auto/selftests/expected_commandlinedata.txt new file mode 100644 index 0000000..b79f491 --- /dev/null +++ b/tests/auto/selftests/expected_commandlinedata.txt @@ -0,0 +1,24 @@ +********* Start testing of tst_DataTable ********* +Config: Using QTest library 4.5.0, Qt 4.5.0 +INFO : tst_DataTable::initTestCase() entering +PASS : tst_DataTable::initTestCase() +INFO : tst_DataTable::fiveTablePasses() entering +INFO : tst_DataTable::fiveTablePasses(fiveTablePasses_data1) QVERIFY(test) + Loc: [tst_commandlinedata.cpp(30)] +INFO : tst_DataTable::fiveTablePasses(fiveTablePasses_data2) QVERIFY(test) + Loc: [tst_commandlinedata.cpp(30)] +INFO : tst_DataTable::fiveTablePasses(fiveTablePasses_data3) QVERIFY(test) + Loc: [tst_commandlinedata.cpp(30)] +INFO : tst_DataTable::fiveTablePasses(fiveTablePasses_data4) QVERIFY(test) + Loc: [tst_commandlinedata.cpp(30)] +INFO : tst_DataTable::fiveTablePasses(fiveTablePasses_data5) QVERIFY(test) + Loc: [tst_commandlinedata.cpp(30)] +PASS : tst_DataTable::fiveTablePasses() +INFO : tst_DataTable::fiveTablePasses() entering +INFO : tst_DataTable::fiveTablePasses(fiveTablePasses_data1) QVERIFY(test) + Loc: [tst_commandlinedata.cpp(30)] +PASS : tst_DataTable::fiveTablePasses() +INFO : tst_DataTable::cleanupTestCase() entering +PASS : tst_DataTable::cleanupTestCase() +Totals: 4 passed, 0 failed, 0 skipped +********* Finished testing of tst_DataTable ********* diff --git a/tests/auto/selftests/expected_crashes_1.txt b/tests/auto/selftests/expected_crashes_1.txt new file mode 100644 index 0000000..887a117 --- /dev/null +++ b/tests/auto/selftests/expected_crashes_1.txt @@ -0,0 +1,3 @@ +********* Start testing of tst_Crashes ********* +Config: Using QTest library 4.1.0, Qt 4.1.1 +PASS : tst_Crashes::initTestCase() diff --git a/tests/auto/selftests/expected_crashes_2.txt b/tests/auto/selftests/expected_crashes_2.txt new file mode 100644 index 0000000..e5eb5aa --- /dev/null +++ b/tests/auto/selftests/expected_crashes_2.txt @@ -0,0 +1,7 @@ +********* Start testing of tst_Crashes ********* +Config: Using QTest library 4.1.0, Qt 4.1.1 +PASS : tst_Crashes::initTestCase() +FAIL! : tst_Crashes::crash() Caught unhandled exception +.\qtestcase.cpp(984) : failure location +Totals: 1 passed, 1 failed, 0 skipped +********* Finished testing of tst_Crashes ********* diff --git a/tests/auto/selftests/expected_datatable.txt b/tests/auto/selftests/expected_datatable.txt new file mode 100644 index 0000000..6fac9da --- /dev/null +++ b/tests/auto/selftests/expected_datatable.txt @@ -0,0 +1,35 @@ +********* Start testing of tst_DataTable ********* +Config: Using QTest library 4.4.0, Qt 4.4.0 +PASS : tst_DataTable::initTestCase() +PASS : tst_DataTable::singleTestFunction1() +PASS : tst_DataTable::singleTestFunction2() +PASS : tst_DataTable::fiveTablePasses() +FAIL! : tst_DataTable::fiveTableFailures(fiveTableFailures_data 1) 'test' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datatable/tst_datatable.cpp(58)] +FAIL! : tst_DataTable::fiveTableFailures(fiveTableFailures_data 2) 'test' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datatable/tst_datatable.cpp(58)] +FAIL! : tst_DataTable::fiveTableFailures(fiveTableFailures_data 3) 'test' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datatable/tst_datatable.cpp(58)] +FAIL! : tst_DataTable::fiveTableFailures(fiveTableFailures_data 4) 'test' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datatable/tst_datatable.cpp(58)] +FAIL! : tst_DataTable::fiveTableFailures(fiveTableFailures_data 5) 'test' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datatable/tst_datatable.cpp(58)] +FAIL! : tst_DataTable::startsWithFailure(startsWithFailure_data 1) 'test' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datatable/tst_datatable.cpp(58)] +FAIL! : tst_DataTable::endsWithFailure(endsWithFailure 5) 'test' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datatable/tst_datatable.cpp(58)] +FAIL! : tst_DataTable::failureInMiddle(failureInMiddle_data 3) 'test' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datatable/tst_datatable.cpp(58)] +FAIL! : tst_DataTable::fiveIsolatedFailures(fiveIsolatedFailures_data 1) '!test' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datatable/tst_datatable.cpp(140)] +FAIL! : tst_DataTable::fiveIsolatedFailures(fiveIsolatedFailures_data 2) '!test' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datatable/tst_datatable.cpp(140)] +FAIL! : tst_DataTable::fiveIsolatedFailures(fiveIsolatedFailures_data 3) '!test' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datatable/tst_datatable.cpp(140)] +FAIL! : tst_DataTable::fiveIsolatedFailures(fiveIsolatedFailures_data 4) '!test' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datatable/tst_datatable.cpp(140)] +FAIL! : tst_DataTable::fiveIsolatedFailures(fiveIsolatedFailures_data 5) '!test' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datatable/tst_datatable.cpp(140)] +PASS : tst_DataTable::cleanupTestCase() +Totals: 5 passed, 13 failed, 0 skipped +********* Finished testing of tst_DataTable ********* diff --git a/tests/auto/selftests/expected_datetime.txt b/tests/auto/selftests/expected_datetime.txt new file mode 100644 index 0000000..d745aa0 --- /dev/null +++ b/tests/auto/selftests/expected_datetime.txt @@ -0,0 +1,18 @@ +********* Start testing of tst_DateTime ********* +Config: Using QTest library 4.4.0, Qt 4.4.0 +PASS : tst_DateTime::initTestCase() +FAIL! : tst_DateTime::dateTime() Compared values are not the same + Actual (local): 2000/05/03 04:03:04.000[local time] + Expected (utc): 2000/05/03 04:03:04.000[UTC] + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datetime/tst_datetime.cpp(33)] +FAIL! : tst_DateTime::qurl() Compared values are not the same + Actual (operandA): http://example.com + Expected (operandB): + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datetime/tst_datetime.cpp(41)] +FAIL! : tst_DateTime::qurl() Compared values are not the same + Actual (operandA): + Expected (operandB): http://example.com + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/datetime/tst_datetime.cpp(41)] +PASS : tst_DateTime::cleanupTestCase() +Totals: 2 passed, 3 failed, 0 skipped +********* Finished testing of tst_DateTime ********* diff --git a/tests/auto/selftests/expected_differentexec.txt b/tests/auto/selftests/expected_differentexec.txt new file mode 100644 index 0000000..9536b69 --- /dev/null +++ b/tests/auto/selftests/expected_differentexec.txt @@ -0,0 +1,21 @@ +********* Start testing of tst_TestA ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +PASS : tst_TestA::initTestCase() +PASS : tst_TestA::slotName() +PASS : tst_TestA::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_TestA ********* +********* Start testing of tst_TestA ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +PASS : tst_TestA::initTestCase() +PASS : tst_TestA::slotName() +PASS : tst_TestA::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_TestA ********* +********* Start testing of tst_TestB ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +PASS : tst_TestB::initTestCase() +PASS : tst_TestB::slotName() +PASS : tst_TestB::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_TestB ********* diff --git a/tests/auto/selftests/expected_exception.txt b/tests/auto/selftests/expected_exception.txt new file mode 100644 index 0000000..141ea8b --- /dev/null +++ b/tests/auto/selftests/expected_exception.txt @@ -0,0 +1,7 @@ +********* Start testing of tst_Exception ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +PASS : tst_Exception::initTestCase() +FAIL! : tst_Exception::throwException() Caught unhandled exception + Loc: [/home/fenglich/dev/qt-4.3/tools/qtestlib/src/qtestcase.cpp(1220)] +Totals: 1 passed, 1 failed, 0 skipped +********* Finished testing of tst_Exception ********* diff --git a/tests/auto/selftests/expected_expectfail.txt b/tests/auto/selftests/expected_expectfail.txt new file mode 100644 index 0000000..2eee7ff --- /dev/null +++ b/tests/auto/selftests/expected_expectfail.txt @@ -0,0 +1,20 @@ +********* Start testing of tst_ExpectFail ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +PASS : tst_ExpectFail::initTestCase() +QDEBUG : tst_ExpectFail::expectAndContinue() begin +XFAIL : tst_ExpectFail::expectAndContinue() This should xfail + Loc: [/home/fenglich/dev/qt-4.3/tests/auto/selftests/expectfail/tst_expectfail.cpp(27)] +QDEBUG : tst_ExpectFail::expectAndContinue() after +PASS : tst_ExpectFail::expectAndContinue() +QDEBUG : tst_ExpectFail::expectAndAbort() begin +XFAIL : tst_ExpectFail::expectAndAbort() This should xfail + Loc: [/home/fenglich/dev/qt-4.3/tests/auto/selftests/expectfail/tst_expectfail.cpp(35)] +PASS : tst_ExpectFail::expectAndAbort() +XFAIL : tst_ExpectFail::xfailWithQString() A string + Loc: [/home/fenglich/dev/qt-4.3/tests/auto/selftests/expectfail/tst_expectfail.cpp(42)] +XFAIL : tst_ExpectFail::xfailWithQString() Bug 5 (The message) + Loc: [/home/fenglich/dev/qt-4.3/tests/auto/selftests/expectfail/tst_expectfail.cpp(47)] +PASS : tst_ExpectFail::xfailWithQString() +PASS : tst_ExpectFail::cleanupTestCase() +Totals: 5 passed, 0 failed, 0 skipped +********* Finished testing of tst_ExpectFail ********* diff --git a/tests/auto/selftests/expected_failinit.txt b/tests/auto/selftests/expected_failinit.txt new file mode 100644 index 0000000..6f84898 --- /dev/null +++ b/tests/auto/selftests/expected_failinit.txt @@ -0,0 +1,7 @@ +********* Start testing of tst_FailInit ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +FAIL! : tst_FailInit::initTestCase() 'false' returned FALSE. () + Loc: [tst_failinit.cpp(22)] +PASS : tst_FailInit::cleanupTestCase() +Totals: 1 passed, 1 failed, 0 skipped +********* Finished testing of tst_FailInit ********* diff --git a/tests/auto/selftests/expected_failinitdata.txt b/tests/auto/selftests/expected_failinitdata.txt new file mode 100644 index 0000000..c74308f --- /dev/null +++ b/tests/auto/selftests/expected_failinitdata.txt @@ -0,0 +1,6 @@ +********* Start testing of tst_FailInitData ********* +Config: Using QTest library 4.4.0, Qt 4.4.0 +FAIL! : tst_FailInitData::initTestCase() 'false' returned FALSE. () + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/failinitdata/tst_failinitdata.cpp(23)] +Totals: 0 passed, 1 failed, 0 skipped +********* Finished testing of tst_FailInitData ********* diff --git a/tests/auto/selftests/expected_fatal.txt b/tests/auto/selftests/expected_fatal.txt new file mode 100644 index 0000000..c8ab3d6 --- /dev/null +++ b/tests/auto/selftests/expected_fatal.txt @@ -0,0 +1,6 @@ +********* Start testing of tst_Fatal ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +PASS : tst_Fatal::initTestCase() +QFATAL : tst_Fatal::testFunction() A fatal error occured! Ouuiieee!! The world is coming to an end and I will die! Buhu! +Totals: 1 passed, 0 failed, 0 skipped +********* Finished testing of tst_Fatal ********* diff --git a/tests/auto/selftests/expected_fetchbogus.txt b/tests/auto/selftests/expected_fetchbogus.txt new file mode 100644 index 0000000..22f8d1b --- /dev/null +++ b/tests/auto/selftests/expected_fetchbogus.txt @@ -0,0 +1,8 @@ +********* Start testing of tst_FetchBogus ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +PASS : tst_FetchBogus::initTestCase() +QFATAL : tst_FetchBogus::fetchBogus(foo) QFETCH: Requested testdata 'bubu' not available, check your _data function. +FAIL! : tst_FetchBogus::fetchBogus(foo) Received a fatal error. + Loc: [Unknown file(0)] +Totals: 1 passed, 1 failed, 0 skipped +********* Finished testing of tst_FetchBogus ********* diff --git a/tests/auto/selftests/expected_globaldata.txt b/tests/auto/selftests/expected_globaldata.txt new file mode 100644 index 0000000..983376b --- /dev/null +++ b/tests/auto/selftests/expected_globaldata.txt @@ -0,0 +1,45 @@ +********* Start testing of tst_Subtest ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +initTestCase initTestCase (null) +PASS : tst_Subtest::initTestCase() +init testGlobal local 1 +global: 0 +local: 0 +cleanup testGlobal local 1 +init testGlobal local 2 +global: 0 +local: 1 +cleanup testGlobal local 2 +init testGlobal local 1 +global: 1 +local: 0 +cleanup testGlobal local 1 +init testGlobal local 2 +global: 1 +local: 1 +cleanup testGlobal local 2 +PASS : tst_Subtest::testGlobal() +SKIP : tst_Subtest::skip(1) skipping + Loc: [/home/fenglich/dev/qt-4.3/tests/auto/selftests/globaldata/tst_globaldata.cpp(95)] +init skipLocal local 1 +SKIP : tst_Subtest::skipLocal(1:local 1) skipping + Loc: [/home/fenglich/dev/qt-4.3/tests/auto/selftests/globaldata/tst_globaldata.cpp(115)] +cleanup skipLocal local 1 +init skipSingle local 1 +global: 0, local 0 +cleanup skipSingle local 1 +init skipSingle local 2 +global: 0, local 1 +cleanup skipSingle local 2 +init skipSingle local 1 +SKIP : tst_Subtest::skipSingle(2:local 1) skipping + Loc: [/home/fenglich/dev/qt-4.3/tests/auto/selftests/globaldata/tst_globaldata.cpp(109)] +cleanup skipSingle local 1 +init skipSingle local 2 +global: 1, local 1 +cleanup skipSingle local 2 +PASS : tst_Subtest::skipSingle() +cleanupTestCase cleanupTestCase (null) +PASS : tst_Subtest::cleanupTestCase() +Totals: 4 passed, 0 failed, 3 skipped +********* Finished testing of tst_Subtest ********* diff --git a/tests/auto/selftests/expected_maxwarnings.txt b/tests/auto/selftests/expected_maxwarnings.txt new file mode 100644 index 0000000..bb5e54f --- /dev/null +++ b/tests/auto/selftests/expected_maxwarnings.txt @@ -0,0 +1,2009 @@ +********* Start testing of MaxWarnings ********* +Config: Using QTest library 4.1.0, Qt 4.1.0 +PASS : MaxWarnings::initTestCase() +QWARN : MaxWarnings::warn() 0 +QWARN : MaxWarnings::warn() 1 +QWARN : MaxWarnings::warn() 2 +QWARN : MaxWarnings::warn() 3 +QWARN : MaxWarnings::warn() 4 +QWARN : MaxWarnings::warn() 5 +QWARN : MaxWarnings::warn() 6 +QWARN : MaxWarnings::warn() 7 +QWARN : MaxWarnings::warn() 8 +QWARN : MaxWarnings::warn() 9 +QWARN : MaxWarnings::warn() 10 +QWARN : MaxWarnings::warn() 11 +QWARN : MaxWarnings::warn() 12 +QWARN : MaxWarnings::warn() 13 +QWARN : MaxWarnings::warn() 14 +QWARN : MaxWarnings::warn() 15 +QWARN : MaxWarnings::warn() 16 +QWARN : MaxWarnings::warn() 17 +QWARN : MaxWarnings::warn() 18 +QWARN : MaxWarnings::warn() 19 +QWARN : MaxWarnings::warn() 20 +QWARN : MaxWarnings::warn() 21 +QWARN : MaxWarnings::warn() 22 +QWARN : MaxWarnings::warn() 23 +QWARN : MaxWarnings::warn() 24 +QWARN : MaxWarnings::warn() 25 +QWARN : MaxWarnings::warn() 26 +QWARN : MaxWarnings::warn() 27 +QWARN : MaxWarnings::warn() 28 +QWARN : MaxWarnings::warn() 29 +QWARN : MaxWarnings::warn() 30 +QWARN : MaxWarnings::warn() 31 +QWARN : MaxWarnings::warn() 32 +QWARN : MaxWarnings::warn() 33 +QWARN : MaxWarnings::warn() 34 +QWARN : MaxWarnings::warn() 35 +QWARN : MaxWarnings::warn() 36 +QWARN : MaxWarnings::warn() 37 +QWARN : MaxWarnings::warn() 38 +QWARN : MaxWarnings::warn() 39 +QWARN : MaxWarnings::warn() 40 +QWARN : MaxWarnings::warn() 41 +QWARN : MaxWarnings::warn() 42 +QWARN : MaxWarnings::warn() 43 +QWARN : MaxWarnings::warn() 44 +QWARN : MaxWarnings::warn() 45 +QWARN : MaxWarnings::warn() 46 +QWARN : MaxWarnings::warn() 47 +QWARN : MaxWarnings::warn() 48 +QWARN : MaxWarnings::warn() 49 +QWARN : MaxWarnings::warn() 50 +QWARN : MaxWarnings::warn() 51 +QWARN : MaxWarnings::warn() 52 +QWARN : MaxWarnings::warn() 53 +QWARN : MaxWarnings::warn() 54 +QWARN : MaxWarnings::warn() 55 +QWARN : MaxWarnings::warn() 56 +QWARN : MaxWarnings::warn() 57 +QWARN : MaxWarnings::warn() 58 +QWARN : MaxWarnings::warn() 59 +QWARN : MaxWarnings::warn() 60 +QWARN : MaxWarnings::warn() 61 +QWARN : MaxWarnings::warn() 62 +QWARN : MaxWarnings::warn() 63 +QWARN : MaxWarnings::warn() 64 +QWARN : MaxWarnings::warn() 65 +QWARN : MaxWarnings::warn() 66 +QWARN : MaxWarnings::warn() 67 +QWARN : MaxWarnings::warn() 68 +QWARN : MaxWarnings::warn() 69 +QWARN : MaxWarnings::warn() 70 +QWARN : MaxWarnings::warn() 71 +QWARN : MaxWarnings::warn() 72 +QWARN : MaxWarnings::warn() 73 +QWARN : MaxWarnings::warn() 74 +QWARN : MaxWarnings::warn() 75 +QWARN : MaxWarnings::warn() 76 +QWARN : MaxWarnings::warn() 77 +QWARN : MaxWarnings::warn() 78 +QWARN : MaxWarnings::warn() 79 +QWARN : MaxWarnings::warn() 80 +QWARN : MaxWarnings::warn() 81 +QWARN : MaxWarnings::warn() 82 +QWARN : MaxWarnings::warn() 83 +QWARN : MaxWarnings::warn() 84 +QWARN : MaxWarnings::warn() 85 +QWARN : MaxWarnings::warn() 86 +QWARN : MaxWarnings::warn() 87 +QWARN : MaxWarnings::warn() 88 +QWARN : MaxWarnings::warn() 89 +QWARN : MaxWarnings::warn() 90 +QWARN : MaxWarnings::warn() 91 +QWARN : MaxWarnings::warn() 92 +QWARN : MaxWarnings::warn() 93 +QWARN : MaxWarnings::warn() 94 +QWARN : MaxWarnings::warn() 95 +QWARN : MaxWarnings::warn() 96 +QWARN : MaxWarnings::warn() 97 +QWARN : MaxWarnings::warn() 98 +QWARN : MaxWarnings::warn() 99 +QWARN : MaxWarnings::warn() 100 +QWARN : MaxWarnings::warn() 101 +QWARN : MaxWarnings::warn() 102 +QWARN : MaxWarnings::warn() 103 +QWARN : MaxWarnings::warn() 104 +QWARN : MaxWarnings::warn() 105 +QWARN : MaxWarnings::warn() 106 +QWARN : MaxWarnings::warn() 107 +QWARN : MaxWarnings::warn() 108 +QWARN : MaxWarnings::warn() 109 +QWARN : MaxWarnings::warn() 110 +QWARN : MaxWarnings::warn() 111 +QWARN : MaxWarnings::warn() 112 +QWARN : MaxWarnings::warn() 113 +QWARN : MaxWarnings::warn() 114 +QWARN : MaxWarnings::warn() 115 +QWARN : MaxWarnings::warn() 116 +QWARN : MaxWarnings::warn() 117 +QWARN : MaxWarnings::warn() 118 +QWARN : MaxWarnings::warn() 119 +QWARN : MaxWarnings::warn() 120 +QWARN : MaxWarnings::warn() 121 +QWARN : MaxWarnings::warn() 122 +QWARN : MaxWarnings::warn() 123 +QWARN : MaxWarnings::warn() 124 +QWARN : MaxWarnings::warn() 125 +QWARN : MaxWarnings::warn() 126 +QWARN : MaxWarnings::warn() 127 +QWARN : MaxWarnings::warn() 128 +QWARN : MaxWarnings::warn() 129 +QWARN : MaxWarnings::warn() 130 +QWARN : MaxWarnings::warn() 131 +QWARN : MaxWarnings::warn() 132 +QWARN : MaxWarnings::warn() 133 +QWARN : MaxWarnings::warn() 134 +QWARN : MaxWarnings::warn() 135 +QWARN : MaxWarnings::warn() 136 +QWARN : MaxWarnings::warn() 137 +QWARN : MaxWarnings::warn() 138 +QWARN : MaxWarnings::warn() 139 +QWARN : MaxWarnings::warn() 140 +QWARN : MaxWarnings::warn() 141 +QWARN : MaxWarnings::warn() 142 +QWARN : MaxWarnings::warn() 143 +QWARN : MaxWarnings::warn() 144 +QWARN : MaxWarnings::warn() 145 +QWARN : MaxWarnings::warn() 146 +QWARN : MaxWarnings::warn() 147 +QWARN : MaxWarnings::warn() 148 +QWARN : MaxWarnings::warn() 149 +QWARN : MaxWarnings::warn() 150 +QWARN : MaxWarnings::warn() 151 +QWARN : MaxWarnings::warn() 152 +QWARN : MaxWarnings::warn() 153 +QWARN : MaxWarnings::warn() 154 +QWARN : MaxWarnings::warn() 155 +QWARN : MaxWarnings::warn() 156 +QWARN : MaxWarnings::warn() 157 +QWARN : MaxWarnings::warn() 158 +QWARN : MaxWarnings::warn() 159 +QWARN : MaxWarnings::warn() 160 +QWARN : MaxWarnings::warn() 161 +QWARN : MaxWarnings::warn() 162 +QWARN : MaxWarnings::warn() 163 +QWARN : MaxWarnings::warn() 164 +QWARN : MaxWarnings::warn() 165 +QWARN : MaxWarnings::warn() 166 +QWARN : MaxWarnings::warn() 167 +QWARN : MaxWarnings::warn() 168 +QWARN : MaxWarnings::warn() 169 +QWARN : MaxWarnings::warn() 170 +QWARN : MaxWarnings::warn() 171 +QWARN : MaxWarnings::warn() 172 +QWARN : MaxWarnings::warn() 173 +QWARN : MaxWarnings::warn() 174 +QWARN : MaxWarnings::warn() 175 +QWARN : MaxWarnings::warn() 176 +QWARN : MaxWarnings::warn() 177 +QWARN : MaxWarnings::warn() 178 +QWARN : MaxWarnings::warn() 179 +QWARN : MaxWarnings::warn() 180 +QWARN : MaxWarnings::warn() 181 +QWARN : MaxWarnings::warn() 182 +QWARN : MaxWarnings::warn() 183 +QWARN : MaxWarnings::warn() 184 +QWARN : MaxWarnings::warn() 185 +QWARN : MaxWarnings::warn() 186 +QWARN : MaxWarnings::warn() 187 +QWARN : MaxWarnings::warn() 188 +QWARN : MaxWarnings::warn() 189 +QWARN : MaxWarnings::warn() 190 +QWARN : MaxWarnings::warn() 191 +QWARN : MaxWarnings::warn() 192 +QWARN : MaxWarnings::warn() 193 +QWARN : MaxWarnings::warn() 194 +QWARN : MaxWarnings::warn() 195 +QWARN : MaxWarnings::warn() 196 +QWARN : MaxWarnings::warn() 197 +QWARN : MaxWarnings::warn() 198 +QWARN : MaxWarnings::warn() 199 +QWARN : MaxWarnings::warn() 200 +QWARN : MaxWarnings::warn() 201 +QWARN : MaxWarnings::warn() 202 +QWARN : MaxWarnings::warn() 203 +QWARN : MaxWarnings::warn() 204 +QWARN : MaxWarnings::warn() 205 +QWARN : MaxWarnings::warn() 206 +QWARN : MaxWarnings::warn() 207 +QWARN : MaxWarnings::warn() 208 +QWARN : MaxWarnings::warn() 209 +QWARN : MaxWarnings::warn() 210 +QWARN : MaxWarnings::warn() 211 +QWARN : MaxWarnings::warn() 212 +QWARN : MaxWarnings::warn() 213 +QWARN : MaxWarnings::warn() 214 +QWARN : MaxWarnings::warn() 215 +QWARN : MaxWarnings::warn() 216 +QWARN : MaxWarnings::warn() 217 +QWARN : MaxWarnings::warn() 218 +QWARN : MaxWarnings::warn() 219 +QWARN : MaxWarnings::warn() 220 +QWARN : MaxWarnings::warn() 221 +QWARN : MaxWarnings::warn() 222 +QWARN : MaxWarnings::warn() 223 +QWARN : MaxWarnings::warn() 224 +QWARN : MaxWarnings::warn() 225 +QWARN : MaxWarnings::warn() 226 +QWARN : MaxWarnings::warn() 227 +QWARN : MaxWarnings::warn() 228 +QWARN : MaxWarnings::warn() 229 +QWARN : MaxWarnings::warn() 230 +QWARN : MaxWarnings::warn() 231 +QWARN : MaxWarnings::warn() 232 +QWARN : MaxWarnings::warn() 233 +QWARN : MaxWarnings::warn() 234 +QWARN : MaxWarnings::warn() 235 +QWARN : MaxWarnings::warn() 236 +QWARN : MaxWarnings::warn() 237 +QWARN : MaxWarnings::warn() 238 +QWARN : MaxWarnings::warn() 239 +QWARN : MaxWarnings::warn() 240 +QWARN : MaxWarnings::warn() 241 +QWARN : MaxWarnings::warn() 242 +QWARN : MaxWarnings::warn() 243 +QWARN : MaxWarnings::warn() 244 +QWARN : MaxWarnings::warn() 245 +QWARN : MaxWarnings::warn() 246 +QWARN : MaxWarnings::warn() 247 +QWARN : MaxWarnings::warn() 248 +QWARN : MaxWarnings::warn() 249 +QWARN : MaxWarnings::warn() 250 +QWARN : MaxWarnings::warn() 251 +QWARN : MaxWarnings::warn() 252 +QWARN : MaxWarnings::warn() 253 +QWARN : MaxWarnings::warn() 254 +QWARN : MaxWarnings::warn() 255 +QWARN : MaxWarnings::warn() 256 +QWARN : MaxWarnings::warn() 257 +QWARN : MaxWarnings::warn() 258 +QWARN : MaxWarnings::warn() 259 +QWARN : MaxWarnings::warn() 260 +QWARN : MaxWarnings::warn() 261 +QWARN : MaxWarnings::warn() 262 +QWARN : MaxWarnings::warn() 263 +QWARN : MaxWarnings::warn() 264 +QWARN : MaxWarnings::warn() 265 +QWARN : MaxWarnings::warn() 266 +QWARN : MaxWarnings::warn() 267 +QWARN : MaxWarnings::warn() 268 +QWARN : MaxWarnings::warn() 269 +QWARN : MaxWarnings::warn() 270 +QWARN : MaxWarnings::warn() 271 +QWARN : MaxWarnings::warn() 272 +QWARN : MaxWarnings::warn() 273 +QWARN : MaxWarnings::warn() 274 +QWARN : MaxWarnings::warn() 275 +QWARN : MaxWarnings::warn() 276 +QWARN : MaxWarnings::warn() 277 +QWARN : MaxWarnings::warn() 278 +QWARN : MaxWarnings::warn() 279 +QWARN : MaxWarnings::warn() 280 +QWARN : MaxWarnings::warn() 281 +QWARN : MaxWarnings::warn() 282 +QWARN : MaxWarnings::warn() 283 +QWARN : MaxWarnings::warn() 284 +QWARN : MaxWarnings::warn() 285 +QWARN : MaxWarnings::warn() 286 +QWARN : MaxWarnings::warn() 287 +QWARN : MaxWarnings::warn() 288 +QWARN : MaxWarnings::warn() 289 +QWARN : MaxWarnings::warn() 290 +QWARN : MaxWarnings::warn() 291 +QWARN : MaxWarnings::warn() 292 +QWARN : MaxWarnings::warn() 293 +QWARN : MaxWarnings::warn() 294 +QWARN : MaxWarnings::warn() 295 +QWARN : MaxWarnings::warn() 296 +QWARN : MaxWarnings::warn() 297 +QWARN : MaxWarnings::warn() 298 +QWARN : MaxWarnings::warn() 299 +QWARN : MaxWarnings::warn() 300 +QWARN : MaxWarnings::warn() 301 +QWARN : MaxWarnings::warn() 302 +QWARN : MaxWarnings::warn() 303 +QWARN : MaxWarnings::warn() 304 +QWARN : MaxWarnings::warn() 305 +QWARN : MaxWarnings::warn() 306 +QWARN : MaxWarnings::warn() 307 +QWARN : MaxWarnings::warn() 308 +QWARN : MaxWarnings::warn() 309 +QWARN : MaxWarnings::warn() 310 +QWARN : MaxWarnings::warn() 311 +QWARN : MaxWarnings::warn() 312 +QWARN : MaxWarnings::warn() 313 +QWARN : MaxWarnings::warn() 314 +QWARN : MaxWarnings::warn() 315 +QWARN : MaxWarnings::warn() 316 +QWARN : MaxWarnings::warn() 317 +QWARN : MaxWarnings::warn() 318 +QWARN : MaxWarnings::warn() 319 +QWARN : MaxWarnings::warn() 320 +QWARN : MaxWarnings::warn() 321 +QWARN : MaxWarnings::warn() 322 +QWARN : MaxWarnings::warn() 323 +QWARN : MaxWarnings::warn() 324 +QWARN : MaxWarnings::warn() 325 +QWARN : MaxWarnings::warn() 326 +QWARN : MaxWarnings::warn() 327 +QWARN : MaxWarnings::warn() 328 +QWARN : MaxWarnings::warn() 329 +QWARN : MaxWarnings::warn() 330 +QWARN : MaxWarnings::warn() 331 +QWARN : MaxWarnings::warn() 332 +QWARN : MaxWarnings::warn() 333 +QWARN : MaxWarnings::warn() 334 +QWARN : MaxWarnings::warn() 335 +QWARN : MaxWarnings::warn() 336 +QWARN : MaxWarnings::warn() 337 +QWARN : MaxWarnings::warn() 338 +QWARN : MaxWarnings::warn() 339 +QWARN : MaxWarnings::warn() 340 +QWARN : MaxWarnings::warn() 341 +QWARN : MaxWarnings::warn() 342 +QWARN : MaxWarnings::warn() 343 +QWARN : MaxWarnings::warn() 344 +QWARN : MaxWarnings::warn() 345 +QWARN : MaxWarnings::warn() 346 +QWARN : MaxWarnings::warn() 347 +QWARN : MaxWarnings::warn() 348 +QWARN : MaxWarnings::warn() 349 +QWARN : MaxWarnings::warn() 350 +QWARN : MaxWarnings::warn() 351 +QWARN : MaxWarnings::warn() 352 +QWARN : MaxWarnings::warn() 353 +QWARN : MaxWarnings::warn() 354 +QWARN : MaxWarnings::warn() 355 +QWARN : MaxWarnings::warn() 356 +QWARN : MaxWarnings::warn() 357 +QWARN : MaxWarnings::warn() 358 +QWARN : MaxWarnings::warn() 359 +QWARN : MaxWarnings::warn() 360 +QWARN : MaxWarnings::warn() 361 +QWARN : MaxWarnings::warn() 362 +QWARN : MaxWarnings::warn() 363 +QWARN : MaxWarnings::warn() 364 +QWARN : MaxWarnings::warn() 365 +QWARN : MaxWarnings::warn() 366 +QWARN : MaxWarnings::warn() 367 +QWARN : MaxWarnings::warn() 368 +QWARN : MaxWarnings::warn() 369 +QWARN : MaxWarnings::warn() 370 +QWARN : MaxWarnings::warn() 371 +QWARN : MaxWarnings::warn() 372 +QWARN : MaxWarnings::warn() 373 +QWARN : MaxWarnings::warn() 374 +QWARN : MaxWarnings::warn() 375 +QWARN : MaxWarnings::warn() 376 +QWARN : MaxWarnings::warn() 377 +QWARN : MaxWarnings::warn() 378 +QWARN : MaxWarnings::warn() 379 +QWARN : MaxWarnings::warn() 380 +QWARN : MaxWarnings::warn() 381 +QWARN : MaxWarnings::warn() 382 +QWARN : MaxWarnings::warn() 383 +QWARN : MaxWarnings::warn() 384 +QWARN : MaxWarnings::warn() 385 +QWARN : MaxWarnings::warn() 386 +QWARN : MaxWarnings::warn() 387 +QWARN : MaxWarnings::warn() 388 +QWARN : MaxWarnings::warn() 389 +QWARN : MaxWarnings::warn() 390 +QWARN : MaxWarnings::warn() 391 +QWARN : MaxWarnings::warn() 392 +QWARN : MaxWarnings::warn() 393 +QWARN : MaxWarnings::warn() 394 +QWARN : MaxWarnings::warn() 395 +QWARN : MaxWarnings::warn() 396 +QWARN : MaxWarnings::warn() 397 +QWARN : MaxWarnings::warn() 398 +QWARN : MaxWarnings::warn() 399 +QWARN : MaxWarnings::warn() 400 +QWARN : MaxWarnings::warn() 401 +QWARN : MaxWarnings::warn() 402 +QWARN : MaxWarnings::warn() 403 +QWARN : MaxWarnings::warn() 404 +QWARN : MaxWarnings::warn() 405 +QWARN : MaxWarnings::warn() 406 +QWARN : MaxWarnings::warn() 407 +QWARN : MaxWarnings::warn() 408 +QWARN : MaxWarnings::warn() 409 +QWARN : MaxWarnings::warn() 410 +QWARN : MaxWarnings::warn() 411 +QWARN : MaxWarnings::warn() 412 +QWARN : MaxWarnings::warn() 413 +QWARN : MaxWarnings::warn() 414 +QWARN : MaxWarnings::warn() 415 +QWARN : MaxWarnings::warn() 416 +QWARN : MaxWarnings::warn() 417 +QWARN : MaxWarnings::warn() 418 +QWARN : MaxWarnings::warn() 419 +QWARN : MaxWarnings::warn() 420 +QWARN : MaxWarnings::warn() 421 +QWARN : MaxWarnings::warn() 422 +QWARN : MaxWarnings::warn() 423 +QWARN : MaxWarnings::warn() 424 +QWARN : MaxWarnings::warn() 425 +QWARN : MaxWarnings::warn() 426 +QWARN : MaxWarnings::warn() 427 +QWARN : MaxWarnings::warn() 428 +QWARN : MaxWarnings::warn() 429 +QWARN : MaxWarnings::warn() 430 +QWARN : MaxWarnings::warn() 431 +QWARN : MaxWarnings::warn() 432 +QWARN : MaxWarnings::warn() 433 +QWARN : MaxWarnings::warn() 434 +QWARN : MaxWarnings::warn() 435 +QWARN : MaxWarnings::warn() 436 +QWARN : MaxWarnings::warn() 437 +QWARN : MaxWarnings::warn() 438 +QWARN : MaxWarnings::warn() 439 +QWARN : MaxWarnings::warn() 440 +QWARN : MaxWarnings::warn() 441 +QWARN : MaxWarnings::warn() 442 +QWARN : MaxWarnings::warn() 443 +QWARN : MaxWarnings::warn() 444 +QWARN : MaxWarnings::warn() 445 +QWARN : MaxWarnings::warn() 446 +QWARN : MaxWarnings::warn() 447 +QWARN : MaxWarnings::warn() 448 +QWARN : MaxWarnings::warn() 449 +QWARN : MaxWarnings::warn() 450 +QWARN : MaxWarnings::warn() 451 +QWARN : MaxWarnings::warn() 452 +QWARN : MaxWarnings::warn() 453 +QWARN : MaxWarnings::warn() 454 +QWARN : MaxWarnings::warn() 455 +QWARN : MaxWarnings::warn() 456 +QWARN : MaxWarnings::warn() 457 +QWARN : MaxWarnings::warn() 458 +QWARN : MaxWarnings::warn() 459 +QWARN : MaxWarnings::warn() 460 +QWARN : MaxWarnings::warn() 461 +QWARN : MaxWarnings::warn() 462 +QWARN : MaxWarnings::warn() 463 +QWARN : MaxWarnings::warn() 464 +QWARN : MaxWarnings::warn() 465 +QWARN : MaxWarnings::warn() 466 +QWARN : MaxWarnings::warn() 467 +QWARN : MaxWarnings::warn() 468 +QWARN : MaxWarnings::warn() 469 +QWARN : MaxWarnings::warn() 470 +QWARN : MaxWarnings::warn() 471 +QWARN : MaxWarnings::warn() 472 +QWARN : MaxWarnings::warn() 473 +QWARN : MaxWarnings::warn() 474 +QWARN : MaxWarnings::warn() 475 +QWARN : MaxWarnings::warn() 476 +QWARN : MaxWarnings::warn() 477 +QWARN : MaxWarnings::warn() 478 +QWARN : MaxWarnings::warn() 479 +QWARN : MaxWarnings::warn() 480 +QWARN : MaxWarnings::warn() 481 +QWARN : MaxWarnings::warn() 482 +QWARN : MaxWarnings::warn() 483 +QWARN : MaxWarnings::warn() 484 +QWARN : MaxWarnings::warn() 485 +QWARN : MaxWarnings::warn() 486 +QWARN : MaxWarnings::warn() 487 +QWARN : MaxWarnings::warn() 488 +QWARN : MaxWarnings::warn() 489 +QWARN : MaxWarnings::warn() 490 +QWARN : MaxWarnings::warn() 491 +QWARN : MaxWarnings::warn() 492 +QWARN : MaxWarnings::warn() 493 +QWARN : MaxWarnings::warn() 494 +QWARN : MaxWarnings::warn() 495 +QWARN : MaxWarnings::warn() 496 +QWARN : MaxWarnings::warn() 497 +QWARN : MaxWarnings::warn() 498 +QWARN : MaxWarnings::warn() 499 +QWARN : MaxWarnings::warn() 500 +QWARN : MaxWarnings::warn() 501 +QWARN : MaxWarnings::warn() 502 +QWARN : MaxWarnings::warn() 503 +QWARN : MaxWarnings::warn() 504 +QWARN : MaxWarnings::warn() 505 +QWARN : MaxWarnings::warn() 506 +QWARN : MaxWarnings::warn() 507 +QWARN : MaxWarnings::warn() 508 +QWARN : MaxWarnings::warn() 509 +QWARN : MaxWarnings::warn() 510 +QWARN : MaxWarnings::warn() 511 +QWARN : MaxWarnings::warn() 512 +QWARN : MaxWarnings::warn() 513 +QWARN : MaxWarnings::warn() 514 +QWARN : MaxWarnings::warn() 515 +QWARN : MaxWarnings::warn() 516 +QWARN : MaxWarnings::warn() 517 +QWARN : MaxWarnings::warn() 518 +QWARN : MaxWarnings::warn() 519 +QWARN : MaxWarnings::warn() 520 +QWARN : MaxWarnings::warn() 521 +QWARN : MaxWarnings::warn() 522 +QWARN : MaxWarnings::warn() 523 +QWARN : MaxWarnings::warn() 524 +QWARN : MaxWarnings::warn() 525 +QWARN : MaxWarnings::warn() 526 +QWARN : MaxWarnings::warn() 527 +QWARN : MaxWarnings::warn() 528 +QWARN : MaxWarnings::warn() 529 +QWARN : MaxWarnings::warn() 530 +QWARN : MaxWarnings::warn() 531 +QWARN : MaxWarnings::warn() 532 +QWARN : MaxWarnings::warn() 533 +QWARN : MaxWarnings::warn() 534 +QWARN : MaxWarnings::warn() 535 +QWARN : MaxWarnings::warn() 536 +QWARN : MaxWarnings::warn() 537 +QWARN : MaxWarnings::warn() 538 +QWARN : MaxWarnings::warn() 539 +QWARN : MaxWarnings::warn() 540 +QWARN : MaxWarnings::warn() 541 +QWARN : MaxWarnings::warn() 542 +QWARN : MaxWarnings::warn() 543 +QWARN : MaxWarnings::warn() 544 +QWARN : MaxWarnings::warn() 545 +QWARN : MaxWarnings::warn() 546 +QWARN : MaxWarnings::warn() 547 +QWARN : MaxWarnings::warn() 548 +QWARN : MaxWarnings::warn() 549 +QWARN : MaxWarnings::warn() 550 +QWARN : MaxWarnings::warn() 551 +QWARN : MaxWarnings::warn() 552 +QWARN : MaxWarnings::warn() 553 +QWARN : MaxWarnings::warn() 554 +QWARN : MaxWarnings::warn() 555 +QWARN : MaxWarnings::warn() 556 +QWARN : MaxWarnings::warn() 557 +QWARN : MaxWarnings::warn() 558 +QWARN : MaxWarnings::warn() 559 +QWARN : MaxWarnings::warn() 560 +QWARN : MaxWarnings::warn() 561 +QWARN : MaxWarnings::warn() 562 +QWARN : MaxWarnings::warn() 563 +QWARN : MaxWarnings::warn() 564 +QWARN : MaxWarnings::warn() 565 +QWARN : MaxWarnings::warn() 566 +QWARN : MaxWarnings::warn() 567 +QWARN : MaxWarnings::warn() 568 +QWARN : MaxWarnings::warn() 569 +QWARN : MaxWarnings::warn() 570 +QWARN : MaxWarnings::warn() 571 +QWARN : MaxWarnings::warn() 572 +QWARN : MaxWarnings::warn() 573 +QWARN : MaxWarnings::warn() 574 +QWARN : MaxWarnings::warn() 575 +QWARN : MaxWarnings::warn() 576 +QWARN : MaxWarnings::warn() 577 +QWARN : MaxWarnings::warn() 578 +QWARN : MaxWarnings::warn() 579 +QWARN : MaxWarnings::warn() 580 +QWARN : MaxWarnings::warn() 581 +QWARN : MaxWarnings::warn() 582 +QWARN : MaxWarnings::warn() 583 +QWARN : MaxWarnings::warn() 584 +QWARN : MaxWarnings::warn() 585 +QWARN : MaxWarnings::warn() 586 +QWARN : MaxWarnings::warn() 587 +QWARN : MaxWarnings::warn() 588 +QWARN : MaxWarnings::warn() 589 +QWARN : MaxWarnings::warn() 590 +QWARN : MaxWarnings::warn() 591 +QWARN : MaxWarnings::warn() 592 +QWARN : MaxWarnings::warn() 593 +QWARN : MaxWarnings::warn() 594 +QWARN : MaxWarnings::warn() 595 +QWARN : MaxWarnings::warn() 596 +QWARN : MaxWarnings::warn() 597 +QWARN : MaxWarnings::warn() 598 +QWARN : MaxWarnings::warn() 599 +QWARN : MaxWarnings::warn() 600 +QWARN : MaxWarnings::warn() 601 +QWARN : MaxWarnings::warn() 602 +QWARN : MaxWarnings::warn() 603 +QWARN : MaxWarnings::warn() 604 +QWARN : MaxWarnings::warn() 605 +QWARN : MaxWarnings::warn() 606 +QWARN : MaxWarnings::warn() 607 +QWARN : MaxWarnings::warn() 608 +QWARN : MaxWarnings::warn() 609 +QWARN : MaxWarnings::warn() 610 +QWARN : MaxWarnings::warn() 611 +QWARN : MaxWarnings::warn() 612 +QWARN : MaxWarnings::warn() 613 +QWARN : MaxWarnings::warn() 614 +QWARN : MaxWarnings::warn() 615 +QWARN : MaxWarnings::warn() 616 +QWARN : MaxWarnings::warn() 617 +QWARN : MaxWarnings::warn() 618 +QWARN : MaxWarnings::warn() 619 +QWARN : MaxWarnings::warn() 620 +QWARN : MaxWarnings::warn() 621 +QWARN : MaxWarnings::warn() 622 +QWARN : MaxWarnings::warn() 623 +QWARN : MaxWarnings::warn() 624 +QWARN : MaxWarnings::warn() 625 +QWARN : MaxWarnings::warn() 626 +QWARN : MaxWarnings::warn() 627 +QWARN : MaxWarnings::warn() 628 +QWARN : MaxWarnings::warn() 629 +QWARN : MaxWarnings::warn() 630 +QWARN : MaxWarnings::warn() 631 +QWARN : MaxWarnings::warn() 632 +QWARN : MaxWarnings::warn() 633 +QWARN : MaxWarnings::warn() 634 +QWARN : MaxWarnings::warn() 635 +QWARN : MaxWarnings::warn() 636 +QWARN : MaxWarnings::warn() 637 +QWARN : MaxWarnings::warn() 638 +QWARN : MaxWarnings::warn() 639 +QWARN : MaxWarnings::warn() 640 +QWARN : MaxWarnings::warn() 641 +QWARN : MaxWarnings::warn() 642 +QWARN : MaxWarnings::warn() 643 +QWARN : MaxWarnings::warn() 644 +QWARN : MaxWarnings::warn() 645 +QWARN : MaxWarnings::warn() 646 +QWARN : MaxWarnings::warn() 647 +QWARN : MaxWarnings::warn() 648 +QWARN : MaxWarnings::warn() 649 +QWARN : MaxWarnings::warn() 650 +QWARN : MaxWarnings::warn() 651 +QWARN : MaxWarnings::warn() 652 +QWARN : MaxWarnings::warn() 653 +QWARN : MaxWarnings::warn() 654 +QWARN : MaxWarnings::warn() 655 +QWARN : MaxWarnings::warn() 656 +QWARN : MaxWarnings::warn() 657 +QWARN : MaxWarnings::warn() 658 +QWARN : MaxWarnings::warn() 659 +QWARN : MaxWarnings::warn() 660 +QWARN : MaxWarnings::warn() 661 +QWARN : MaxWarnings::warn() 662 +QWARN : MaxWarnings::warn() 663 +QWARN : MaxWarnings::warn() 664 +QWARN : MaxWarnings::warn() 665 +QWARN : MaxWarnings::warn() 666 +QWARN : MaxWarnings::warn() 667 +QWARN : MaxWarnings::warn() 668 +QWARN : MaxWarnings::warn() 669 +QWARN : MaxWarnings::warn() 670 +QWARN : MaxWarnings::warn() 671 +QWARN : MaxWarnings::warn() 672 +QWARN : MaxWarnings::warn() 673 +QWARN : MaxWarnings::warn() 674 +QWARN : MaxWarnings::warn() 675 +QWARN : MaxWarnings::warn() 676 +QWARN : MaxWarnings::warn() 677 +QWARN : MaxWarnings::warn() 678 +QWARN : MaxWarnings::warn() 679 +QWARN : MaxWarnings::warn() 680 +QWARN : MaxWarnings::warn() 681 +QWARN : MaxWarnings::warn() 682 +QWARN : MaxWarnings::warn() 683 +QWARN : MaxWarnings::warn() 684 +QWARN : MaxWarnings::warn() 685 +QWARN : MaxWarnings::warn() 686 +QWARN : MaxWarnings::warn() 687 +QWARN : MaxWarnings::warn() 688 +QWARN : MaxWarnings::warn() 689 +QWARN : MaxWarnings::warn() 690 +QWARN : MaxWarnings::warn() 691 +QWARN : MaxWarnings::warn() 692 +QWARN : MaxWarnings::warn() 693 +QWARN : MaxWarnings::warn() 694 +QWARN : MaxWarnings::warn() 695 +QWARN : MaxWarnings::warn() 696 +QWARN : MaxWarnings::warn() 697 +QWARN : MaxWarnings::warn() 698 +QWARN : MaxWarnings::warn() 699 +QWARN : MaxWarnings::warn() 700 +QWARN : MaxWarnings::warn() 701 +QWARN : MaxWarnings::warn() 702 +QWARN : MaxWarnings::warn() 703 +QWARN : MaxWarnings::warn() 704 +QWARN : MaxWarnings::warn() 705 +QWARN : MaxWarnings::warn() 706 +QWARN : MaxWarnings::warn() 707 +QWARN : MaxWarnings::warn() 708 +QWARN : MaxWarnings::warn() 709 +QWARN : MaxWarnings::warn() 710 +QWARN : MaxWarnings::warn() 711 +QWARN : MaxWarnings::warn() 712 +QWARN : MaxWarnings::warn() 713 +QWARN : MaxWarnings::warn() 714 +QWARN : MaxWarnings::warn() 715 +QWARN : MaxWarnings::warn() 716 +QWARN : MaxWarnings::warn() 717 +QWARN : MaxWarnings::warn() 718 +QWARN : MaxWarnings::warn() 719 +QWARN : MaxWarnings::warn() 720 +QWARN : MaxWarnings::warn() 721 +QWARN : MaxWarnings::warn() 722 +QWARN : MaxWarnings::warn() 723 +QWARN : MaxWarnings::warn() 724 +QWARN : MaxWarnings::warn() 725 +QWARN : MaxWarnings::warn() 726 +QWARN : MaxWarnings::warn() 727 +QWARN : MaxWarnings::warn() 728 +QWARN : MaxWarnings::warn() 729 +QWARN : MaxWarnings::warn() 730 +QWARN : MaxWarnings::warn() 731 +QWARN : MaxWarnings::warn() 732 +QWARN : MaxWarnings::warn() 733 +QWARN : MaxWarnings::warn() 734 +QWARN : MaxWarnings::warn() 735 +QWARN : MaxWarnings::warn() 736 +QWARN : MaxWarnings::warn() 737 +QWARN : MaxWarnings::warn() 738 +QWARN : MaxWarnings::warn() 739 +QWARN : MaxWarnings::warn() 740 +QWARN : MaxWarnings::warn() 741 +QWARN : MaxWarnings::warn() 742 +QWARN : MaxWarnings::warn() 743 +QWARN : MaxWarnings::warn() 744 +QWARN : MaxWarnings::warn() 745 +QWARN : MaxWarnings::warn() 746 +QWARN : MaxWarnings::warn() 747 +QWARN : MaxWarnings::warn() 748 +QWARN : MaxWarnings::warn() 749 +QWARN : MaxWarnings::warn() 750 +QWARN : MaxWarnings::warn() 751 +QWARN : MaxWarnings::warn() 752 +QWARN : MaxWarnings::warn() 753 +QWARN : MaxWarnings::warn() 754 +QWARN : MaxWarnings::warn() 755 +QWARN : MaxWarnings::warn() 756 +QWARN : MaxWarnings::warn() 757 +QWARN : MaxWarnings::warn() 758 +QWARN : MaxWarnings::warn() 759 +QWARN : MaxWarnings::warn() 760 +QWARN : MaxWarnings::warn() 761 +QWARN : MaxWarnings::warn() 762 +QWARN : MaxWarnings::warn() 763 +QWARN : MaxWarnings::warn() 764 +QWARN : MaxWarnings::warn() 765 +QWARN : MaxWarnings::warn() 766 +QWARN : MaxWarnings::warn() 767 +QWARN : MaxWarnings::warn() 768 +QWARN : MaxWarnings::warn() 769 +QWARN : MaxWarnings::warn() 770 +QWARN : MaxWarnings::warn() 771 +QWARN : MaxWarnings::warn() 772 +QWARN : MaxWarnings::warn() 773 +QWARN : MaxWarnings::warn() 774 +QWARN : MaxWarnings::warn() 775 +QWARN : MaxWarnings::warn() 776 +QWARN : MaxWarnings::warn() 777 +QWARN : MaxWarnings::warn() 778 +QWARN : MaxWarnings::warn() 779 +QWARN : MaxWarnings::warn() 780 +QWARN : MaxWarnings::warn() 781 +QWARN : MaxWarnings::warn() 782 +QWARN : MaxWarnings::warn() 783 +QWARN : MaxWarnings::warn() 784 +QWARN : MaxWarnings::warn() 785 +QWARN : MaxWarnings::warn() 786 +QWARN : MaxWarnings::warn() 787 +QWARN : MaxWarnings::warn() 788 +QWARN : MaxWarnings::warn() 789 +QWARN : MaxWarnings::warn() 790 +QWARN : MaxWarnings::warn() 791 +QWARN : MaxWarnings::warn() 792 +QWARN : MaxWarnings::warn() 793 +QWARN : MaxWarnings::warn() 794 +QWARN : MaxWarnings::warn() 795 +QWARN : MaxWarnings::warn() 796 +QWARN : MaxWarnings::warn() 797 +QWARN : MaxWarnings::warn() 798 +QWARN : MaxWarnings::warn() 799 +QWARN : MaxWarnings::warn() 800 +QWARN : MaxWarnings::warn() 801 +QWARN : MaxWarnings::warn() 802 +QWARN : MaxWarnings::warn() 803 +QWARN : MaxWarnings::warn() 804 +QWARN : MaxWarnings::warn() 805 +QWARN : MaxWarnings::warn() 806 +QWARN : MaxWarnings::warn() 807 +QWARN : MaxWarnings::warn() 808 +QWARN : MaxWarnings::warn() 809 +QWARN : MaxWarnings::warn() 810 +QWARN : MaxWarnings::warn() 811 +QWARN : MaxWarnings::warn() 812 +QWARN : MaxWarnings::warn() 813 +QWARN : MaxWarnings::warn() 814 +QWARN : MaxWarnings::warn() 815 +QWARN : MaxWarnings::warn() 816 +QWARN : MaxWarnings::warn() 817 +QWARN : MaxWarnings::warn() 818 +QWARN : MaxWarnings::warn() 819 +QWARN : MaxWarnings::warn() 820 +QWARN : MaxWarnings::warn() 821 +QWARN : MaxWarnings::warn() 822 +QWARN : MaxWarnings::warn() 823 +QWARN : MaxWarnings::warn() 824 +QWARN : MaxWarnings::warn() 825 +QWARN : MaxWarnings::warn() 826 +QWARN : MaxWarnings::warn() 827 +QWARN : MaxWarnings::warn() 828 +QWARN : MaxWarnings::warn() 829 +QWARN : MaxWarnings::warn() 830 +QWARN : MaxWarnings::warn() 831 +QWARN : MaxWarnings::warn() 832 +QWARN : MaxWarnings::warn() 833 +QWARN : MaxWarnings::warn() 834 +QWARN : MaxWarnings::warn() 835 +QWARN : MaxWarnings::warn() 836 +QWARN : MaxWarnings::warn() 837 +QWARN : MaxWarnings::warn() 838 +QWARN : MaxWarnings::warn() 839 +QWARN : MaxWarnings::warn() 840 +QWARN : MaxWarnings::warn() 841 +QWARN : MaxWarnings::warn() 842 +QWARN : MaxWarnings::warn() 843 +QWARN : MaxWarnings::warn() 844 +QWARN : MaxWarnings::warn() 845 +QWARN : MaxWarnings::warn() 846 +QWARN : MaxWarnings::warn() 847 +QWARN : MaxWarnings::warn() 848 +QWARN : MaxWarnings::warn() 849 +QWARN : MaxWarnings::warn() 850 +QWARN : MaxWarnings::warn() 851 +QWARN : MaxWarnings::warn() 852 +QWARN : MaxWarnings::warn() 853 +QWARN : MaxWarnings::warn() 854 +QWARN : MaxWarnings::warn() 855 +QWARN : MaxWarnings::warn() 856 +QWARN : MaxWarnings::warn() 857 +QWARN : MaxWarnings::warn() 858 +QWARN : MaxWarnings::warn() 859 +QWARN : MaxWarnings::warn() 860 +QWARN : MaxWarnings::warn() 861 +QWARN : MaxWarnings::warn() 862 +QWARN : MaxWarnings::warn() 863 +QWARN : MaxWarnings::warn() 864 +QWARN : MaxWarnings::warn() 865 +QWARN : MaxWarnings::warn() 866 +QWARN : MaxWarnings::warn() 867 +QWARN : MaxWarnings::warn() 868 +QWARN : MaxWarnings::warn() 869 +QWARN : MaxWarnings::warn() 870 +QWARN : MaxWarnings::warn() 871 +QWARN : MaxWarnings::warn() 872 +QWARN : MaxWarnings::warn() 873 +QWARN : MaxWarnings::warn() 874 +QWARN : MaxWarnings::warn() 875 +QWARN : MaxWarnings::warn() 876 +QWARN : MaxWarnings::warn() 877 +QWARN : MaxWarnings::warn() 878 +QWARN : MaxWarnings::warn() 879 +QWARN : MaxWarnings::warn() 880 +QWARN : MaxWarnings::warn() 881 +QWARN : MaxWarnings::warn() 882 +QWARN : MaxWarnings::warn() 883 +QWARN : MaxWarnings::warn() 884 +QWARN : MaxWarnings::warn() 885 +QWARN : MaxWarnings::warn() 886 +QWARN : MaxWarnings::warn() 887 +QWARN : MaxWarnings::warn() 888 +QWARN : MaxWarnings::warn() 889 +QWARN : MaxWarnings::warn() 890 +QWARN : MaxWarnings::warn() 891 +QWARN : MaxWarnings::warn() 892 +QWARN : MaxWarnings::warn() 893 +QWARN : MaxWarnings::warn() 894 +QWARN : MaxWarnings::warn() 895 +QWARN : MaxWarnings::warn() 896 +QWARN : MaxWarnings::warn() 897 +QWARN : MaxWarnings::warn() 898 +QWARN : MaxWarnings::warn() 899 +QWARN : MaxWarnings::warn() 900 +QWARN : MaxWarnings::warn() 901 +QWARN : MaxWarnings::warn() 902 +QWARN : MaxWarnings::warn() 903 +QWARN : MaxWarnings::warn() 904 +QWARN : MaxWarnings::warn() 905 +QWARN : MaxWarnings::warn() 906 +QWARN : MaxWarnings::warn() 907 +QWARN : MaxWarnings::warn() 908 +QWARN : MaxWarnings::warn() 909 +QWARN : MaxWarnings::warn() 910 +QWARN : MaxWarnings::warn() 911 +QWARN : MaxWarnings::warn() 912 +QWARN : MaxWarnings::warn() 913 +QWARN : MaxWarnings::warn() 914 +QWARN : MaxWarnings::warn() 915 +QWARN : MaxWarnings::warn() 916 +QWARN : MaxWarnings::warn() 917 +QWARN : MaxWarnings::warn() 918 +QWARN : MaxWarnings::warn() 919 +QWARN : MaxWarnings::warn() 920 +QWARN : MaxWarnings::warn() 921 +QWARN : MaxWarnings::warn() 922 +QWARN : MaxWarnings::warn() 923 +QWARN : MaxWarnings::warn() 924 +QWARN : MaxWarnings::warn() 925 +QWARN : MaxWarnings::warn() 926 +QWARN : MaxWarnings::warn() 927 +QWARN : MaxWarnings::warn() 928 +QWARN : MaxWarnings::warn() 929 +QWARN : MaxWarnings::warn() 930 +QWARN : MaxWarnings::warn() 931 +QWARN : MaxWarnings::warn() 932 +QWARN : MaxWarnings::warn() 933 +QWARN : MaxWarnings::warn() 934 +QWARN : MaxWarnings::warn() 935 +QWARN : MaxWarnings::warn() 936 +QWARN : MaxWarnings::warn() 937 +QWARN : MaxWarnings::warn() 938 +QWARN : MaxWarnings::warn() 939 +QWARN : MaxWarnings::warn() 940 +QWARN : MaxWarnings::warn() 941 +QWARN : MaxWarnings::warn() 942 +QWARN : MaxWarnings::warn() 943 +QWARN : MaxWarnings::warn() 944 +QWARN : MaxWarnings::warn() 945 +QWARN : MaxWarnings::warn() 946 +QWARN : MaxWarnings::warn() 947 +QWARN : MaxWarnings::warn() 948 +QWARN : MaxWarnings::warn() 949 +QWARN : MaxWarnings::warn() 950 +QWARN : MaxWarnings::warn() 951 +QWARN : MaxWarnings::warn() 952 +QWARN : MaxWarnings::warn() 953 +QWARN : MaxWarnings::warn() 954 +QWARN : MaxWarnings::warn() 955 +QWARN : MaxWarnings::warn() 956 +QWARN : MaxWarnings::warn() 957 +QWARN : MaxWarnings::warn() 958 +QWARN : MaxWarnings::warn() 959 +QWARN : MaxWarnings::warn() 960 +QWARN : MaxWarnings::warn() 961 +QWARN : MaxWarnings::warn() 962 +QWARN : MaxWarnings::warn() 963 +QWARN : MaxWarnings::warn() 964 +QWARN : MaxWarnings::warn() 965 +QWARN : MaxWarnings::warn() 966 +QWARN : MaxWarnings::warn() 967 +QWARN : MaxWarnings::warn() 968 +QWARN : MaxWarnings::warn() 969 +QWARN : MaxWarnings::warn() 970 +QWARN : MaxWarnings::warn() 971 +QWARN : MaxWarnings::warn() 972 +QWARN : MaxWarnings::warn() 973 +QWARN : MaxWarnings::warn() 974 +QWARN : MaxWarnings::warn() 975 +QWARN : MaxWarnings::warn() 976 +QWARN : MaxWarnings::warn() 977 +QWARN : MaxWarnings::warn() 978 +QWARN : MaxWarnings::warn() 979 +QWARN : MaxWarnings::warn() 980 +QWARN : MaxWarnings::warn() 981 +QWARN : MaxWarnings::warn() 982 +QWARN : MaxWarnings::warn() 983 +QWARN : MaxWarnings::warn() 984 +QWARN : MaxWarnings::warn() 985 +QWARN : MaxWarnings::warn() 986 +QWARN : MaxWarnings::warn() 987 +QWARN : MaxWarnings::warn() 988 +QWARN : MaxWarnings::warn() 989 +QWARN : MaxWarnings::warn() 990 +QWARN : MaxWarnings::warn() 991 +QWARN : MaxWarnings::warn() 992 +QWARN : MaxWarnings::warn() 993 +QWARN : MaxWarnings::warn() 994 +QWARN : MaxWarnings::warn() 995 +QWARN : MaxWarnings::warn() 996 +QWARN : MaxWarnings::warn() 997 +QWARN : MaxWarnings::warn() 998 +QWARN : MaxWarnings::warn() 999 +QWARN : MaxWarnings::warn() 1000 +QWARN : MaxWarnings::warn() 1001 +QWARN : MaxWarnings::warn() 1002 +QWARN : MaxWarnings::warn() 1003 +QWARN : MaxWarnings::warn() 1004 +QWARN : MaxWarnings::warn() 1005 +QWARN : MaxWarnings::warn() 1006 +QWARN : MaxWarnings::warn() 1007 +QWARN : MaxWarnings::warn() 1008 +QWARN : MaxWarnings::warn() 1009 +QWARN : MaxWarnings::warn() 1010 +QWARN : MaxWarnings::warn() 1011 +QWARN : MaxWarnings::warn() 1012 +QWARN : MaxWarnings::warn() 1013 +QWARN : MaxWarnings::warn() 1014 +QWARN : MaxWarnings::warn() 1015 +QWARN : MaxWarnings::warn() 1016 +QWARN : MaxWarnings::warn() 1017 +QWARN : MaxWarnings::warn() 1018 +QWARN : MaxWarnings::warn() 1019 +QWARN : MaxWarnings::warn() 1020 +QWARN : MaxWarnings::warn() 1021 +QWARN : MaxWarnings::warn() 1022 +QWARN : MaxWarnings::warn() 1023 +QWARN : MaxWarnings::warn() 1024 +QWARN : MaxWarnings::warn() 1025 +QWARN : MaxWarnings::warn() 1026 +QWARN : MaxWarnings::warn() 1027 +QWARN : MaxWarnings::warn() 1028 +QWARN : MaxWarnings::warn() 1029 +QWARN : MaxWarnings::warn() 1030 +QWARN : MaxWarnings::warn() 1031 +QWARN : MaxWarnings::warn() 1032 +QWARN : MaxWarnings::warn() 1033 +QWARN : MaxWarnings::warn() 1034 +QWARN : MaxWarnings::warn() 1035 +QWARN : MaxWarnings::warn() 1036 +QWARN : MaxWarnings::warn() 1037 +QWARN : MaxWarnings::warn() 1038 +QWARN : MaxWarnings::warn() 1039 +QWARN : MaxWarnings::warn() 1040 +QWARN : MaxWarnings::warn() 1041 +QWARN : MaxWarnings::warn() 1042 +QWARN : MaxWarnings::warn() 1043 +QWARN : MaxWarnings::warn() 1044 +QWARN : MaxWarnings::warn() 1045 +QWARN : MaxWarnings::warn() 1046 +QWARN : MaxWarnings::warn() 1047 +QWARN : MaxWarnings::warn() 1048 +QWARN : MaxWarnings::warn() 1049 +QWARN : MaxWarnings::warn() 1050 +QWARN : MaxWarnings::warn() 1051 +QWARN : MaxWarnings::warn() 1052 +QWARN : MaxWarnings::warn() 1053 +QWARN : MaxWarnings::warn() 1054 +QWARN : MaxWarnings::warn() 1055 +QWARN : MaxWarnings::warn() 1056 +QWARN : MaxWarnings::warn() 1057 +QWARN : MaxWarnings::warn() 1058 +QWARN : MaxWarnings::warn() 1059 +QWARN : MaxWarnings::warn() 1060 +QWARN : MaxWarnings::warn() 1061 +QWARN : MaxWarnings::warn() 1062 +QWARN : MaxWarnings::warn() 1063 +QWARN : MaxWarnings::warn() 1064 +QWARN : MaxWarnings::warn() 1065 +QWARN : MaxWarnings::warn() 1066 +QWARN : MaxWarnings::warn() 1067 +QWARN : MaxWarnings::warn() 1068 +QWARN : MaxWarnings::warn() 1069 +QWARN : MaxWarnings::warn() 1070 +QWARN : MaxWarnings::warn() 1071 +QWARN : MaxWarnings::warn() 1072 +QWARN : MaxWarnings::warn() 1073 +QWARN : MaxWarnings::warn() 1074 +QWARN : MaxWarnings::warn() 1075 +QWARN : MaxWarnings::warn() 1076 +QWARN : MaxWarnings::warn() 1077 +QWARN : MaxWarnings::warn() 1078 +QWARN : MaxWarnings::warn() 1079 +QWARN : MaxWarnings::warn() 1080 +QWARN : MaxWarnings::warn() 1081 +QWARN : MaxWarnings::warn() 1082 +QWARN : MaxWarnings::warn() 1083 +QWARN : MaxWarnings::warn() 1084 +QWARN : MaxWarnings::warn() 1085 +QWARN : MaxWarnings::warn() 1086 +QWARN : MaxWarnings::warn() 1087 +QWARN : MaxWarnings::warn() 1088 +QWARN : MaxWarnings::warn() 1089 +QWARN : MaxWarnings::warn() 1090 +QWARN : MaxWarnings::warn() 1091 +QWARN : MaxWarnings::warn() 1092 +QWARN : MaxWarnings::warn() 1093 +QWARN : MaxWarnings::warn() 1094 +QWARN : MaxWarnings::warn() 1095 +QWARN : MaxWarnings::warn() 1096 +QWARN : MaxWarnings::warn() 1097 +QWARN : MaxWarnings::warn() 1098 +QWARN : MaxWarnings::warn() 1099 +QWARN : MaxWarnings::warn() 1100 +QWARN : MaxWarnings::warn() 1101 +QWARN : MaxWarnings::warn() 1102 +QWARN : MaxWarnings::warn() 1103 +QWARN : MaxWarnings::warn() 1104 +QWARN : MaxWarnings::warn() 1105 +QWARN : MaxWarnings::warn() 1106 +QWARN : MaxWarnings::warn() 1107 +QWARN : MaxWarnings::warn() 1108 +QWARN : MaxWarnings::warn() 1109 +QWARN : MaxWarnings::warn() 1110 +QWARN : MaxWarnings::warn() 1111 +QWARN : MaxWarnings::warn() 1112 +QWARN : MaxWarnings::warn() 1113 +QWARN : MaxWarnings::warn() 1114 +QWARN : MaxWarnings::warn() 1115 +QWARN : MaxWarnings::warn() 1116 +QWARN : MaxWarnings::warn() 1117 +QWARN : MaxWarnings::warn() 1118 +QWARN : MaxWarnings::warn() 1119 +QWARN : MaxWarnings::warn() 1120 +QWARN : MaxWarnings::warn() 1121 +QWARN : MaxWarnings::warn() 1122 +QWARN : MaxWarnings::warn() 1123 +QWARN : MaxWarnings::warn() 1124 +QWARN : MaxWarnings::warn() 1125 +QWARN : MaxWarnings::warn() 1126 +QWARN : MaxWarnings::warn() 1127 +QWARN : MaxWarnings::warn() 1128 +QWARN : MaxWarnings::warn() 1129 +QWARN : MaxWarnings::warn() 1130 +QWARN : MaxWarnings::warn() 1131 +QWARN : MaxWarnings::warn() 1132 +QWARN : MaxWarnings::warn() 1133 +QWARN : MaxWarnings::warn() 1134 +QWARN : MaxWarnings::warn() 1135 +QWARN : MaxWarnings::warn() 1136 +QWARN : MaxWarnings::warn() 1137 +QWARN : MaxWarnings::warn() 1138 +QWARN : MaxWarnings::warn() 1139 +QWARN : MaxWarnings::warn() 1140 +QWARN : MaxWarnings::warn() 1141 +QWARN : MaxWarnings::warn() 1142 +QWARN : MaxWarnings::warn() 1143 +QWARN : MaxWarnings::warn() 1144 +QWARN : MaxWarnings::warn() 1145 +QWARN : MaxWarnings::warn() 1146 +QWARN : MaxWarnings::warn() 1147 +QWARN : MaxWarnings::warn() 1148 +QWARN : MaxWarnings::warn() 1149 +QWARN : MaxWarnings::warn() 1150 +QWARN : MaxWarnings::warn() 1151 +QWARN : MaxWarnings::warn() 1152 +QWARN : MaxWarnings::warn() 1153 +QWARN : MaxWarnings::warn() 1154 +QWARN : MaxWarnings::warn() 1155 +QWARN : MaxWarnings::warn() 1156 +QWARN : MaxWarnings::warn() 1157 +QWARN : MaxWarnings::warn() 1158 +QWARN : MaxWarnings::warn() 1159 +QWARN : MaxWarnings::warn() 1160 +QWARN : MaxWarnings::warn() 1161 +QWARN : MaxWarnings::warn() 1162 +QWARN : MaxWarnings::warn() 1163 +QWARN : MaxWarnings::warn() 1164 +QWARN : MaxWarnings::warn() 1165 +QWARN : MaxWarnings::warn() 1166 +QWARN : MaxWarnings::warn() 1167 +QWARN : MaxWarnings::warn() 1168 +QWARN : MaxWarnings::warn() 1169 +QWARN : MaxWarnings::warn() 1170 +QWARN : MaxWarnings::warn() 1171 +QWARN : MaxWarnings::warn() 1172 +QWARN : MaxWarnings::warn() 1173 +QWARN : MaxWarnings::warn() 1174 +QWARN : MaxWarnings::warn() 1175 +QWARN : MaxWarnings::warn() 1176 +QWARN : MaxWarnings::warn() 1177 +QWARN : MaxWarnings::warn() 1178 +QWARN : MaxWarnings::warn() 1179 +QWARN : MaxWarnings::warn() 1180 +QWARN : MaxWarnings::warn() 1181 +QWARN : MaxWarnings::warn() 1182 +QWARN : MaxWarnings::warn() 1183 +QWARN : MaxWarnings::warn() 1184 +QWARN : MaxWarnings::warn() 1185 +QWARN : MaxWarnings::warn() 1186 +QWARN : MaxWarnings::warn() 1187 +QWARN : MaxWarnings::warn() 1188 +QWARN : MaxWarnings::warn() 1189 +QWARN : MaxWarnings::warn() 1190 +QWARN : MaxWarnings::warn() 1191 +QWARN : MaxWarnings::warn() 1192 +QWARN : MaxWarnings::warn() 1193 +QWARN : MaxWarnings::warn() 1194 +QWARN : MaxWarnings::warn() 1195 +QWARN : MaxWarnings::warn() 1196 +QWARN : MaxWarnings::warn() 1197 +QWARN : MaxWarnings::warn() 1198 +QWARN : MaxWarnings::warn() 1199 +QWARN : MaxWarnings::warn() 1200 +QWARN : MaxWarnings::warn() 1201 +QWARN : MaxWarnings::warn() 1202 +QWARN : MaxWarnings::warn() 1203 +QWARN : MaxWarnings::warn() 1204 +QWARN : MaxWarnings::warn() 1205 +QWARN : MaxWarnings::warn() 1206 +QWARN : MaxWarnings::warn() 1207 +QWARN : MaxWarnings::warn() 1208 +QWARN : MaxWarnings::warn() 1209 +QWARN : MaxWarnings::warn() 1210 +QWARN : MaxWarnings::warn() 1211 +QWARN : MaxWarnings::warn() 1212 +QWARN : MaxWarnings::warn() 1213 +QWARN : MaxWarnings::warn() 1214 +QWARN : MaxWarnings::warn() 1215 +QWARN : MaxWarnings::warn() 1216 +QWARN : MaxWarnings::warn() 1217 +QWARN : MaxWarnings::warn() 1218 +QWARN : MaxWarnings::warn() 1219 +QWARN : MaxWarnings::warn() 1220 +QWARN : MaxWarnings::warn() 1221 +QWARN : MaxWarnings::warn() 1222 +QWARN : MaxWarnings::warn() 1223 +QWARN : MaxWarnings::warn() 1224 +QWARN : MaxWarnings::warn() 1225 +QWARN : MaxWarnings::warn() 1226 +QWARN : MaxWarnings::warn() 1227 +QWARN : MaxWarnings::warn() 1228 +QWARN : MaxWarnings::warn() 1229 +QWARN : MaxWarnings::warn() 1230 +QWARN : MaxWarnings::warn() 1231 +QWARN : MaxWarnings::warn() 1232 +QWARN : MaxWarnings::warn() 1233 +QWARN : MaxWarnings::warn() 1234 +QWARN : MaxWarnings::warn() 1235 +QWARN : MaxWarnings::warn() 1236 +QWARN : MaxWarnings::warn() 1237 +QWARN : MaxWarnings::warn() 1238 +QWARN : MaxWarnings::warn() 1239 +QWARN : MaxWarnings::warn() 1240 +QWARN : MaxWarnings::warn() 1241 +QWARN : MaxWarnings::warn() 1242 +QWARN : MaxWarnings::warn() 1243 +QWARN : MaxWarnings::warn() 1244 +QWARN : MaxWarnings::warn() 1245 +QWARN : MaxWarnings::warn() 1246 +QWARN : MaxWarnings::warn() 1247 +QWARN : MaxWarnings::warn() 1248 +QWARN : MaxWarnings::warn() 1249 +QWARN : MaxWarnings::warn() 1250 +QWARN : MaxWarnings::warn() 1251 +QWARN : MaxWarnings::warn() 1252 +QWARN : MaxWarnings::warn() 1253 +QWARN : MaxWarnings::warn() 1254 +QWARN : MaxWarnings::warn() 1255 +QWARN : MaxWarnings::warn() 1256 +QWARN : MaxWarnings::warn() 1257 +QWARN : MaxWarnings::warn() 1258 +QWARN : MaxWarnings::warn() 1259 +QWARN : MaxWarnings::warn() 1260 +QWARN : MaxWarnings::warn() 1261 +QWARN : MaxWarnings::warn() 1262 +QWARN : MaxWarnings::warn() 1263 +QWARN : MaxWarnings::warn() 1264 +QWARN : MaxWarnings::warn() 1265 +QWARN : MaxWarnings::warn() 1266 +QWARN : MaxWarnings::warn() 1267 +QWARN : MaxWarnings::warn() 1268 +QWARN : MaxWarnings::warn() 1269 +QWARN : MaxWarnings::warn() 1270 +QWARN : MaxWarnings::warn() 1271 +QWARN : MaxWarnings::warn() 1272 +QWARN : MaxWarnings::warn() 1273 +QWARN : MaxWarnings::warn() 1274 +QWARN : MaxWarnings::warn() 1275 +QWARN : MaxWarnings::warn() 1276 +QWARN : MaxWarnings::warn() 1277 +QWARN : MaxWarnings::warn() 1278 +QWARN : MaxWarnings::warn() 1279 +QWARN : MaxWarnings::warn() 1280 +QWARN : MaxWarnings::warn() 1281 +QWARN : MaxWarnings::warn() 1282 +QWARN : MaxWarnings::warn() 1283 +QWARN : MaxWarnings::warn() 1284 +QWARN : MaxWarnings::warn() 1285 +QWARN : MaxWarnings::warn() 1286 +QWARN : MaxWarnings::warn() 1287 +QWARN : MaxWarnings::warn() 1288 +QWARN : MaxWarnings::warn() 1289 +QWARN : MaxWarnings::warn() 1290 +QWARN : MaxWarnings::warn() 1291 +QWARN : MaxWarnings::warn() 1292 +QWARN : MaxWarnings::warn() 1293 +QWARN : MaxWarnings::warn() 1294 +QWARN : MaxWarnings::warn() 1295 +QWARN : MaxWarnings::warn() 1296 +QWARN : MaxWarnings::warn() 1297 +QWARN : MaxWarnings::warn() 1298 +QWARN : MaxWarnings::warn() 1299 +QWARN : MaxWarnings::warn() 1300 +QWARN : MaxWarnings::warn() 1301 +QWARN : MaxWarnings::warn() 1302 +QWARN : MaxWarnings::warn() 1303 +QWARN : MaxWarnings::warn() 1304 +QWARN : MaxWarnings::warn() 1305 +QWARN : MaxWarnings::warn() 1306 +QWARN : MaxWarnings::warn() 1307 +QWARN : MaxWarnings::warn() 1308 +QWARN : MaxWarnings::warn() 1309 +QWARN : MaxWarnings::warn() 1310 +QWARN : MaxWarnings::warn() 1311 +QWARN : MaxWarnings::warn() 1312 +QWARN : MaxWarnings::warn() 1313 +QWARN : MaxWarnings::warn() 1314 +QWARN : MaxWarnings::warn() 1315 +QWARN : MaxWarnings::warn() 1316 +QWARN : MaxWarnings::warn() 1317 +QWARN : MaxWarnings::warn() 1318 +QWARN : MaxWarnings::warn() 1319 +QWARN : MaxWarnings::warn() 1320 +QWARN : MaxWarnings::warn() 1321 +QWARN : MaxWarnings::warn() 1322 +QWARN : MaxWarnings::warn() 1323 +QWARN : MaxWarnings::warn() 1324 +QWARN : MaxWarnings::warn() 1325 +QWARN : MaxWarnings::warn() 1326 +QWARN : MaxWarnings::warn() 1327 +QWARN : MaxWarnings::warn() 1328 +QWARN : MaxWarnings::warn() 1329 +QWARN : MaxWarnings::warn() 1330 +QWARN : MaxWarnings::warn() 1331 +QWARN : MaxWarnings::warn() 1332 +QWARN : MaxWarnings::warn() 1333 +QWARN : MaxWarnings::warn() 1334 +QWARN : MaxWarnings::warn() 1335 +QWARN : MaxWarnings::warn() 1336 +QWARN : MaxWarnings::warn() 1337 +QWARN : MaxWarnings::warn() 1338 +QWARN : MaxWarnings::warn() 1339 +QWARN : MaxWarnings::warn() 1340 +QWARN : MaxWarnings::warn() 1341 +QWARN : MaxWarnings::warn() 1342 +QWARN : MaxWarnings::warn() 1343 +QWARN : MaxWarnings::warn() 1344 +QWARN : MaxWarnings::warn() 1345 +QWARN : MaxWarnings::warn() 1346 +QWARN : MaxWarnings::warn() 1347 +QWARN : MaxWarnings::warn() 1348 +QWARN : MaxWarnings::warn() 1349 +QWARN : MaxWarnings::warn() 1350 +QWARN : MaxWarnings::warn() 1351 +QWARN : MaxWarnings::warn() 1352 +QWARN : MaxWarnings::warn() 1353 +QWARN : MaxWarnings::warn() 1354 +QWARN : MaxWarnings::warn() 1355 +QWARN : MaxWarnings::warn() 1356 +QWARN : MaxWarnings::warn() 1357 +QWARN : MaxWarnings::warn() 1358 +QWARN : MaxWarnings::warn() 1359 +QWARN : MaxWarnings::warn() 1360 +QWARN : MaxWarnings::warn() 1361 +QWARN : MaxWarnings::warn() 1362 +QWARN : MaxWarnings::warn() 1363 +QWARN : MaxWarnings::warn() 1364 +QWARN : MaxWarnings::warn() 1365 +QWARN : MaxWarnings::warn() 1366 +QWARN : MaxWarnings::warn() 1367 +QWARN : MaxWarnings::warn() 1368 +QWARN : MaxWarnings::warn() 1369 +QWARN : MaxWarnings::warn() 1370 +QWARN : MaxWarnings::warn() 1371 +QWARN : MaxWarnings::warn() 1372 +QWARN : MaxWarnings::warn() 1373 +QWARN : MaxWarnings::warn() 1374 +QWARN : MaxWarnings::warn() 1375 +QWARN : MaxWarnings::warn() 1376 +QWARN : MaxWarnings::warn() 1377 +QWARN : MaxWarnings::warn() 1378 +QWARN : MaxWarnings::warn() 1379 +QWARN : MaxWarnings::warn() 1380 +QWARN : MaxWarnings::warn() 1381 +QWARN : MaxWarnings::warn() 1382 +QWARN : MaxWarnings::warn() 1383 +QWARN : MaxWarnings::warn() 1384 +QWARN : MaxWarnings::warn() 1385 +QWARN : MaxWarnings::warn() 1386 +QWARN : MaxWarnings::warn() 1387 +QWARN : MaxWarnings::warn() 1388 +QWARN : MaxWarnings::warn() 1389 +QWARN : MaxWarnings::warn() 1390 +QWARN : MaxWarnings::warn() 1391 +QWARN : MaxWarnings::warn() 1392 +QWARN : MaxWarnings::warn() 1393 +QWARN : MaxWarnings::warn() 1394 +QWARN : MaxWarnings::warn() 1395 +QWARN : MaxWarnings::warn() 1396 +QWARN : MaxWarnings::warn() 1397 +QWARN : MaxWarnings::warn() 1398 +QWARN : MaxWarnings::warn() 1399 +QWARN : MaxWarnings::warn() 1400 +QWARN : MaxWarnings::warn() 1401 +QWARN : MaxWarnings::warn() 1402 +QWARN : MaxWarnings::warn() 1403 +QWARN : MaxWarnings::warn() 1404 +QWARN : MaxWarnings::warn() 1405 +QWARN : MaxWarnings::warn() 1406 +QWARN : MaxWarnings::warn() 1407 +QWARN : MaxWarnings::warn() 1408 +QWARN : MaxWarnings::warn() 1409 +QWARN : MaxWarnings::warn() 1410 +QWARN : MaxWarnings::warn() 1411 +QWARN : MaxWarnings::warn() 1412 +QWARN : MaxWarnings::warn() 1413 +QWARN : MaxWarnings::warn() 1414 +QWARN : MaxWarnings::warn() 1415 +QWARN : MaxWarnings::warn() 1416 +QWARN : MaxWarnings::warn() 1417 +QWARN : MaxWarnings::warn() 1418 +QWARN : MaxWarnings::warn() 1419 +QWARN : MaxWarnings::warn() 1420 +QWARN : MaxWarnings::warn() 1421 +QWARN : MaxWarnings::warn() 1422 +QWARN : MaxWarnings::warn() 1423 +QWARN : MaxWarnings::warn() 1424 +QWARN : MaxWarnings::warn() 1425 +QWARN : MaxWarnings::warn() 1426 +QWARN : MaxWarnings::warn() 1427 +QWARN : MaxWarnings::warn() 1428 +QWARN : MaxWarnings::warn() 1429 +QWARN : MaxWarnings::warn() 1430 +QWARN : MaxWarnings::warn() 1431 +QWARN : MaxWarnings::warn() 1432 +QWARN : MaxWarnings::warn() 1433 +QWARN : MaxWarnings::warn() 1434 +QWARN : MaxWarnings::warn() 1435 +QWARN : MaxWarnings::warn() 1436 +QWARN : MaxWarnings::warn() 1437 +QWARN : MaxWarnings::warn() 1438 +QWARN : MaxWarnings::warn() 1439 +QWARN : MaxWarnings::warn() 1440 +QWARN : MaxWarnings::warn() 1441 +QWARN : MaxWarnings::warn() 1442 +QWARN : MaxWarnings::warn() 1443 +QWARN : MaxWarnings::warn() 1444 +QWARN : MaxWarnings::warn() 1445 +QWARN : MaxWarnings::warn() 1446 +QWARN : MaxWarnings::warn() 1447 +QWARN : MaxWarnings::warn() 1448 +QWARN : MaxWarnings::warn() 1449 +QWARN : MaxWarnings::warn() 1450 +QWARN : MaxWarnings::warn() 1451 +QWARN : MaxWarnings::warn() 1452 +QWARN : MaxWarnings::warn() 1453 +QWARN : MaxWarnings::warn() 1454 +QWARN : MaxWarnings::warn() 1455 +QWARN : MaxWarnings::warn() 1456 +QWARN : MaxWarnings::warn() 1457 +QWARN : MaxWarnings::warn() 1458 +QWARN : MaxWarnings::warn() 1459 +QWARN : MaxWarnings::warn() 1460 +QWARN : MaxWarnings::warn() 1461 +QWARN : MaxWarnings::warn() 1462 +QWARN : MaxWarnings::warn() 1463 +QWARN : MaxWarnings::warn() 1464 +QWARN : MaxWarnings::warn() 1465 +QWARN : MaxWarnings::warn() 1466 +QWARN : MaxWarnings::warn() 1467 +QWARN : MaxWarnings::warn() 1468 +QWARN : MaxWarnings::warn() 1469 +QWARN : MaxWarnings::warn() 1470 +QWARN : MaxWarnings::warn() 1471 +QWARN : MaxWarnings::warn() 1472 +QWARN : MaxWarnings::warn() 1473 +QWARN : MaxWarnings::warn() 1474 +QWARN : MaxWarnings::warn() 1475 +QWARN : MaxWarnings::warn() 1476 +QWARN : MaxWarnings::warn() 1477 +QWARN : MaxWarnings::warn() 1478 +QWARN : MaxWarnings::warn() 1479 +QWARN : MaxWarnings::warn() 1480 +QWARN : MaxWarnings::warn() 1481 +QWARN : MaxWarnings::warn() 1482 +QWARN : MaxWarnings::warn() 1483 +QWARN : MaxWarnings::warn() 1484 +QWARN : MaxWarnings::warn() 1485 +QWARN : MaxWarnings::warn() 1486 +QWARN : MaxWarnings::warn() 1487 +QWARN : MaxWarnings::warn() 1488 +QWARN : MaxWarnings::warn() 1489 +QWARN : MaxWarnings::warn() 1490 +QWARN : MaxWarnings::warn() 1491 +QWARN : MaxWarnings::warn() 1492 +QWARN : MaxWarnings::warn() 1493 +QWARN : MaxWarnings::warn() 1494 +QWARN : MaxWarnings::warn() 1495 +QWARN : MaxWarnings::warn() 1496 +QWARN : MaxWarnings::warn() 1497 +QWARN : MaxWarnings::warn() 1498 +QWARN : MaxWarnings::warn() 1499 +QWARN : MaxWarnings::warn() 1500 +QWARN : MaxWarnings::warn() 1501 +QWARN : MaxWarnings::warn() 1502 +QWARN : MaxWarnings::warn() 1503 +QWARN : MaxWarnings::warn() 1504 +QWARN : MaxWarnings::warn() 1505 +QWARN : MaxWarnings::warn() 1506 +QWARN : MaxWarnings::warn() 1507 +QWARN : MaxWarnings::warn() 1508 +QWARN : MaxWarnings::warn() 1509 +QWARN : MaxWarnings::warn() 1510 +QWARN : MaxWarnings::warn() 1511 +QWARN : MaxWarnings::warn() 1512 +QWARN : MaxWarnings::warn() 1513 +QWARN : MaxWarnings::warn() 1514 +QWARN : MaxWarnings::warn() 1515 +QWARN : MaxWarnings::warn() 1516 +QWARN : MaxWarnings::warn() 1517 +QWARN : MaxWarnings::warn() 1518 +QWARN : MaxWarnings::warn() 1519 +QWARN : MaxWarnings::warn() 1520 +QWARN : MaxWarnings::warn() 1521 +QWARN : MaxWarnings::warn() 1522 +QWARN : MaxWarnings::warn() 1523 +QWARN : MaxWarnings::warn() 1524 +QWARN : MaxWarnings::warn() 1525 +QWARN : MaxWarnings::warn() 1526 +QWARN : MaxWarnings::warn() 1527 +QWARN : MaxWarnings::warn() 1528 +QWARN : MaxWarnings::warn() 1529 +QWARN : MaxWarnings::warn() 1530 +QWARN : MaxWarnings::warn() 1531 +QWARN : MaxWarnings::warn() 1532 +QWARN : MaxWarnings::warn() 1533 +QWARN : MaxWarnings::warn() 1534 +QWARN : MaxWarnings::warn() 1535 +QWARN : MaxWarnings::warn() 1536 +QWARN : MaxWarnings::warn() 1537 +QWARN : MaxWarnings::warn() 1538 +QWARN : MaxWarnings::warn() 1539 +QWARN : MaxWarnings::warn() 1540 +QWARN : MaxWarnings::warn() 1541 +QWARN : MaxWarnings::warn() 1542 +QWARN : MaxWarnings::warn() 1543 +QWARN : MaxWarnings::warn() 1544 +QWARN : MaxWarnings::warn() 1545 +QWARN : MaxWarnings::warn() 1546 +QWARN : MaxWarnings::warn() 1547 +QWARN : MaxWarnings::warn() 1548 +QWARN : MaxWarnings::warn() 1549 +QWARN : MaxWarnings::warn() 1550 +QWARN : MaxWarnings::warn() 1551 +QWARN : MaxWarnings::warn() 1552 +QWARN : MaxWarnings::warn() 1553 +QWARN : MaxWarnings::warn() 1554 +QWARN : MaxWarnings::warn() 1555 +QWARN : MaxWarnings::warn() 1556 +QWARN : MaxWarnings::warn() 1557 +QWARN : MaxWarnings::warn() 1558 +QWARN : MaxWarnings::warn() 1559 +QWARN : MaxWarnings::warn() 1560 +QWARN : MaxWarnings::warn() 1561 +QWARN : MaxWarnings::warn() 1562 +QWARN : MaxWarnings::warn() 1563 +QWARN : MaxWarnings::warn() 1564 +QWARN : MaxWarnings::warn() 1565 +QWARN : MaxWarnings::warn() 1566 +QWARN : MaxWarnings::warn() 1567 +QWARN : MaxWarnings::warn() 1568 +QWARN : MaxWarnings::warn() 1569 +QWARN : MaxWarnings::warn() 1570 +QWARN : MaxWarnings::warn() 1571 +QWARN : MaxWarnings::warn() 1572 +QWARN : MaxWarnings::warn() 1573 +QWARN : MaxWarnings::warn() 1574 +QWARN : MaxWarnings::warn() 1575 +QWARN : MaxWarnings::warn() 1576 +QWARN : MaxWarnings::warn() 1577 +QWARN : MaxWarnings::warn() 1578 +QWARN : MaxWarnings::warn() 1579 +QWARN : MaxWarnings::warn() 1580 +QWARN : MaxWarnings::warn() 1581 +QWARN : MaxWarnings::warn() 1582 +QWARN : MaxWarnings::warn() 1583 +QWARN : MaxWarnings::warn() 1584 +QWARN : MaxWarnings::warn() 1585 +QWARN : MaxWarnings::warn() 1586 +QWARN : MaxWarnings::warn() 1587 +QWARN : MaxWarnings::warn() 1588 +QWARN : MaxWarnings::warn() 1589 +QWARN : MaxWarnings::warn() 1590 +QWARN : MaxWarnings::warn() 1591 +QWARN : MaxWarnings::warn() 1592 +QWARN : MaxWarnings::warn() 1593 +QWARN : MaxWarnings::warn() 1594 +QWARN : MaxWarnings::warn() 1595 +QWARN : MaxWarnings::warn() 1596 +QWARN : MaxWarnings::warn() 1597 +QWARN : MaxWarnings::warn() 1598 +QWARN : MaxWarnings::warn() 1599 +QWARN : MaxWarnings::warn() 1600 +QWARN : MaxWarnings::warn() 1601 +QWARN : MaxWarnings::warn() 1602 +QWARN : MaxWarnings::warn() 1603 +QWARN : MaxWarnings::warn() 1604 +QWARN : MaxWarnings::warn() 1605 +QWARN : MaxWarnings::warn() 1606 +QWARN : MaxWarnings::warn() 1607 +QWARN : MaxWarnings::warn() 1608 +QWARN : MaxWarnings::warn() 1609 +QWARN : MaxWarnings::warn() 1610 +QWARN : MaxWarnings::warn() 1611 +QWARN : MaxWarnings::warn() 1612 +QWARN : MaxWarnings::warn() 1613 +QWARN : MaxWarnings::warn() 1614 +QWARN : MaxWarnings::warn() 1615 +QWARN : MaxWarnings::warn() 1616 +QWARN : MaxWarnings::warn() 1617 +QWARN : MaxWarnings::warn() 1618 +QWARN : MaxWarnings::warn() 1619 +QWARN : MaxWarnings::warn() 1620 +QWARN : MaxWarnings::warn() 1621 +QWARN : MaxWarnings::warn() 1622 +QWARN : MaxWarnings::warn() 1623 +QWARN : MaxWarnings::warn() 1624 +QWARN : MaxWarnings::warn() 1625 +QWARN : MaxWarnings::warn() 1626 +QWARN : MaxWarnings::warn() 1627 +QWARN : MaxWarnings::warn() 1628 +QWARN : MaxWarnings::warn() 1629 +QWARN : MaxWarnings::warn() 1630 +QWARN : MaxWarnings::warn() 1631 +QWARN : MaxWarnings::warn() 1632 +QWARN : MaxWarnings::warn() 1633 +QWARN : MaxWarnings::warn() 1634 +QWARN : MaxWarnings::warn() 1635 +QWARN : MaxWarnings::warn() 1636 +QWARN : MaxWarnings::warn() 1637 +QWARN : MaxWarnings::warn() 1638 +QWARN : MaxWarnings::warn() 1639 +QWARN : MaxWarnings::warn() 1640 +QWARN : MaxWarnings::warn() 1641 +QWARN : MaxWarnings::warn() 1642 +QWARN : MaxWarnings::warn() 1643 +QWARN : MaxWarnings::warn() 1644 +QWARN : MaxWarnings::warn() 1645 +QWARN : MaxWarnings::warn() 1646 +QWARN : MaxWarnings::warn() 1647 +QWARN : MaxWarnings::warn() 1648 +QWARN : MaxWarnings::warn() 1649 +QWARN : MaxWarnings::warn() 1650 +QWARN : MaxWarnings::warn() 1651 +QWARN : MaxWarnings::warn() 1652 +QWARN : MaxWarnings::warn() 1653 +QWARN : MaxWarnings::warn() 1654 +QWARN : MaxWarnings::warn() 1655 +QWARN : MaxWarnings::warn() 1656 +QWARN : MaxWarnings::warn() 1657 +QWARN : MaxWarnings::warn() 1658 +QWARN : MaxWarnings::warn() 1659 +QWARN : MaxWarnings::warn() 1660 +QWARN : MaxWarnings::warn() 1661 +QWARN : MaxWarnings::warn() 1662 +QWARN : MaxWarnings::warn() 1663 +QWARN : MaxWarnings::warn() 1664 +QWARN : MaxWarnings::warn() 1665 +QWARN : MaxWarnings::warn() 1666 +QWARN : MaxWarnings::warn() 1667 +QWARN : MaxWarnings::warn() 1668 +QWARN : MaxWarnings::warn() 1669 +QWARN : MaxWarnings::warn() 1670 +QWARN : MaxWarnings::warn() 1671 +QWARN : MaxWarnings::warn() 1672 +QWARN : MaxWarnings::warn() 1673 +QWARN : MaxWarnings::warn() 1674 +QWARN : MaxWarnings::warn() 1675 +QWARN : MaxWarnings::warn() 1676 +QWARN : MaxWarnings::warn() 1677 +QWARN : MaxWarnings::warn() 1678 +QWARN : MaxWarnings::warn() 1679 +QWARN : MaxWarnings::warn() 1680 +QWARN : MaxWarnings::warn() 1681 +QWARN : MaxWarnings::warn() 1682 +QWARN : MaxWarnings::warn() 1683 +QWARN : MaxWarnings::warn() 1684 +QWARN : MaxWarnings::warn() 1685 +QWARN : MaxWarnings::warn() 1686 +QWARN : MaxWarnings::warn() 1687 +QWARN : MaxWarnings::warn() 1688 +QWARN : MaxWarnings::warn() 1689 +QWARN : MaxWarnings::warn() 1690 +QWARN : MaxWarnings::warn() 1691 +QWARN : MaxWarnings::warn() 1692 +QWARN : MaxWarnings::warn() 1693 +QWARN : MaxWarnings::warn() 1694 +QWARN : MaxWarnings::warn() 1695 +QWARN : MaxWarnings::warn() 1696 +QWARN : MaxWarnings::warn() 1697 +QWARN : MaxWarnings::warn() 1698 +QWARN : MaxWarnings::warn() 1699 +QWARN : MaxWarnings::warn() 1700 +QWARN : MaxWarnings::warn() 1701 +QWARN : MaxWarnings::warn() 1702 +QWARN : MaxWarnings::warn() 1703 +QWARN : MaxWarnings::warn() 1704 +QWARN : MaxWarnings::warn() 1705 +QWARN : MaxWarnings::warn() 1706 +QWARN : MaxWarnings::warn() 1707 +QWARN : MaxWarnings::warn() 1708 +QWARN : MaxWarnings::warn() 1709 +QWARN : MaxWarnings::warn() 1710 +QWARN : MaxWarnings::warn() 1711 +QWARN : MaxWarnings::warn() 1712 +QWARN : MaxWarnings::warn() 1713 +QWARN : MaxWarnings::warn() 1714 +QWARN : MaxWarnings::warn() 1715 +QWARN : MaxWarnings::warn() 1716 +QWARN : MaxWarnings::warn() 1717 +QWARN : MaxWarnings::warn() 1718 +QWARN : MaxWarnings::warn() 1719 +QWARN : MaxWarnings::warn() 1720 +QWARN : MaxWarnings::warn() 1721 +QWARN : MaxWarnings::warn() 1722 +QWARN : MaxWarnings::warn() 1723 +QWARN : MaxWarnings::warn() 1724 +QWARN : MaxWarnings::warn() 1725 +QWARN : MaxWarnings::warn() 1726 +QWARN : MaxWarnings::warn() 1727 +QWARN : MaxWarnings::warn() 1728 +QWARN : MaxWarnings::warn() 1729 +QWARN : MaxWarnings::warn() 1730 +QWARN : MaxWarnings::warn() 1731 +QWARN : MaxWarnings::warn() 1732 +QWARN : MaxWarnings::warn() 1733 +QWARN : MaxWarnings::warn() 1734 +QWARN : MaxWarnings::warn() 1735 +QWARN : MaxWarnings::warn() 1736 +QWARN : MaxWarnings::warn() 1737 +QWARN : MaxWarnings::warn() 1738 +QWARN : MaxWarnings::warn() 1739 +QWARN : MaxWarnings::warn() 1740 +QWARN : MaxWarnings::warn() 1741 +QWARN : MaxWarnings::warn() 1742 +QWARN : MaxWarnings::warn() 1743 +QWARN : MaxWarnings::warn() 1744 +QWARN : MaxWarnings::warn() 1745 +QWARN : MaxWarnings::warn() 1746 +QWARN : MaxWarnings::warn() 1747 +QWARN : MaxWarnings::warn() 1748 +QWARN : MaxWarnings::warn() 1749 +QWARN : MaxWarnings::warn() 1750 +QWARN : MaxWarnings::warn() 1751 +QWARN : MaxWarnings::warn() 1752 +QWARN : MaxWarnings::warn() 1753 +QWARN : MaxWarnings::warn() 1754 +QWARN : MaxWarnings::warn() 1755 +QWARN : MaxWarnings::warn() 1756 +QWARN : MaxWarnings::warn() 1757 +QWARN : MaxWarnings::warn() 1758 +QWARN : MaxWarnings::warn() 1759 +QWARN : MaxWarnings::warn() 1760 +QWARN : MaxWarnings::warn() 1761 +QWARN : MaxWarnings::warn() 1762 +QWARN : MaxWarnings::warn() 1763 +QWARN : MaxWarnings::warn() 1764 +QWARN : MaxWarnings::warn() 1765 +QWARN : MaxWarnings::warn() 1766 +QWARN : MaxWarnings::warn() 1767 +QWARN : MaxWarnings::warn() 1768 +QWARN : MaxWarnings::warn() 1769 +QWARN : MaxWarnings::warn() 1770 +QWARN : MaxWarnings::warn() 1771 +QWARN : MaxWarnings::warn() 1772 +QWARN : MaxWarnings::warn() 1773 +QWARN : MaxWarnings::warn() 1774 +QWARN : MaxWarnings::warn() 1775 +QWARN : MaxWarnings::warn() 1776 +QWARN : MaxWarnings::warn() 1777 +QWARN : MaxWarnings::warn() 1778 +QWARN : MaxWarnings::warn() 1779 +QWARN : MaxWarnings::warn() 1780 +QWARN : MaxWarnings::warn() 1781 +QWARN : MaxWarnings::warn() 1782 +QWARN : MaxWarnings::warn() 1783 +QWARN : MaxWarnings::warn() 1784 +QWARN : MaxWarnings::warn() 1785 +QWARN : MaxWarnings::warn() 1786 +QWARN : MaxWarnings::warn() 1787 +QWARN : MaxWarnings::warn() 1788 +QWARN : MaxWarnings::warn() 1789 +QWARN : MaxWarnings::warn() 1790 +QWARN : MaxWarnings::warn() 1791 +QWARN : MaxWarnings::warn() 1792 +QWARN : MaxWarnings::warn() 1793 +QWARN : MaxWarnings::warn() 1794 +QWARN : MaxWarnings::warn() 1795 +QWARN : MaxWarnings::warn() 1796 +QWARN : MaxWarnings::warn() 1797 +QWARN : MaxWarnings::warn() 1798 +QWARN : MaxWarnings::warn() 1799 +QWARN : MaxWarnings::warn() 1800 +QWARN : MaxWarnings::warn() 1801 +QWARN : MaxWarnings::warn() 1802 +QWARN : MaxWarnings::warn() 1803 +QWARN : MaxWarnings::warn() 1804 +QWARN : MaxWarnings::warn() 1805 +QWARN : MaxWarnings::warn() 1806 +QWARN : MaxWarnings::warn() 1807 +QWARN : MaxWarnings::warn() 1808 +QWARN : MaxWarnings::warn() 1809 +QWARN : MaxWarnings::warn() 1810 +QWARN : MaxWarnings::warn() 1811 +QWARN : MaxWarnings::warn() 1812 +QWARN : MaxWarnings::warn() 1813 +QWARN : MaxWarnings::warn() 1814 +QWARN : MaxWarnings::warn() 1815 +QWARN : MaxWarnings::warn() 1816 +QWARN : MaxWarnings::warn() 1817 +QWARN : MaxWarnings::warn() 1818 +QWARN : MaxWarnings::warn() 1819 +QWARN : MaxWarnings::warn() 1820 +QWARN : MaxWarnings::warn() 1821 +QWARN : MaxWarnings::warn() 1822 +QWARN : MaxWarnings::warn() 1823 +QWARN : MaxWarnings::warn() 1824 +QWARN : MaxWarnings::warn() 1825 +QWARN : MaxWarnings::warn() 1826 +QWARN : MaxWarnings::warn() 1827 +QWARN : MaxWarnings::warn() 1828 +QWARN : MaxWarnings::warn() 1829 +QWARN : MaxWarnings::warn() 1830 +QWARN : MaxWarnings::warn() 1831 +QWARN : MaxWarnings::warn() 1832 +QWARN : MaxWarnings::warn() 1833 +QWARN : MaxWarnings::warn() 1834 +QWARN : MaxWarnings::warn() 1835 +QWARN : MaxWarnings::warn() 1836 +QWARN : MaxWarnings::warn() 1837 +QWARN : MaxWarnings::warn() 1838 +QWARN : MaxWarnings::warn() 1839 +QWARN : MaxWarnings::warn() 1840 +QWARN : MaxWarnings::warn() 1841 +QWARN : MaxWarnings::warn() 1842 +QWARN : MaxWarnings::warn() 1843 +QWARN : MaxWarnings::warn() 1844 +QWARN : MaxWarnings::warn() 1845 +QWARN : MaxWarnings::warn() 1846 +QWARN : MaxWarnings::warn() 1847 +QWARN : MaxWarnings::warn() 1848 +QWARN : MaxWarnings::warn() 1849 +QWARN : MaxWarnings::warn() 1850 +QWARN : MaxWarnings::warn() 1851 +QWARN : MaxWarnings::warn() 1852 +QWARN : MaxWarnings::warn() 1853 +QWARN : MaxWarnings::warn() 1854 +QWARN : MaxWarnings::warn() 1855 +QWARN : MaxWarnings::warn() 1856 +QWARN : MaxWarnings::warn() 1857 +QWARN : MaxWarnings::warn() 1858 +QWARN : MaxWarnings::warn() 1859 +QWARN : MaxWarnings::warn() 1860 +QWARN : MaxWarnings::warn() 1861 +QWARN : MaxWarnings::warn() 1862 +QWARN : MaxWarnings::warn() 1863 +QWARN : MaxWarnings::warn() 1864 +QWARN : MaxWarnings::warn() 1865 +QWARN : MaxWarnings::warn() 1866 +QWARN : MaxWarnings::warn() 1867 +QWARN : MaxWarnings::warn() 1868 +QWARN : MaxWarnings::warn() 1869 +QWARN : MaxWarnings::warn() 1870 +QWARN : MaxWarnings::warn() 1871 +QWARN : MaxWarnings::warn() 1872 +QWARN : MaxWarnings::warn() 1873 +QWARN : MaxWarnings::warn() 1874 +QWARN : MaxWarnings::warn() 1875 +QWARN : MaxWarnings::warn() 1876 +QWARN : MaxWarnings::warn() 1877 +QWARN : MaxWarnings::warn() 1878 +QWARN : MaxWarnings::warn() 1879 +QWARN : MaxWarnings::warn() 1880 +QWARN : MaxWarnings::warn() 1881 +QWARN : MaxWarnings::warn() 1882 +QWARN : MaxWarnings::warn() 1883 +QWARN : MaxWarnings::warn() 1884 +QWARN : MaxWarnings::warn() 1885 +QWARN : MaxWarnings::warn() 1886 +QWARN : MaxWarnings::warn() 1887 +QWARN : MaxWarnings::warn() 1888 +QWARN : MaxWarnings::warn() 1889 +QWARN : MaxWarnings::warn() 1890 +QWARN : MaxWarnings::warn() 1891 +QWARN : MaxWarnings::warn() 1892 +QWARN : MaxWarnings::warn() 1893 +QWARN : MaxWarnings::warn() 1894 +QWARN : MaxWarnings::warn() 1895 +QWARN : MaxWarnings::warn() 1896 +QWARN : MaxWarnings::warn() 1897 +QWARN : MaxWarnings::warn() 1898 +QWARN : MaxWarnings::warn() 1899 +QWARN : MaxWarnings::warn() 1900 +QWARN : MaxWarnings::warn() 1901 +QWARN : MaxWarnings::warn() 1902 +QWARN : MaxWarnings::warn() 1903 +QWARN : MaxWarnings::warn() 1904 +QWARN : MaxWarnings::warn() 1905 +QWARN : MaxWarnings::warn() 1906 +QWARN : MaxWarnings::warn() 1907 +QWARN : MaxWarnings::warn() 1908 +QWARN : MaxWarnings::warn() 1909 +QWARN : MaxWarnings::warn() 1910 +QWARN : MaxWarnings::warn() 1911 +QWARN : MaxWarnings::warn() 1912 +QWARN : MaxWarnings::warn() 1913 +QWARN : MaxWarnings::warn() 1914 +QWARN : MaxWarnings::warn() 1915 +QWARN : MaxWarnings::warn() 1916 +QWARN : MaxWarnings::warn() 1917 +QWARN : MaxWarnings::warn() 1918 +QWARN : MaxWarnings::warn() 1919 +QWARN : MaxWarnings::warn() 1920 +QWARN : MaxWarnings::warn() 1921 +QWARN : MaxWarnings::warn() 1922 +QWARN : MaxWarnings::warn() 1923 +QWARN : MaxWarnings::warn() 1924 +QWARN : MaxWarnings::warn() 1925 +QWARN : MaxWarnings::warn() 1926 +QWARN : MaxWarnings::warn() 1927 +QWARN : MaxWarnings::warn() 1928 +QWARN : MaxWarnings::warn() 1929 +QWARN : MaxWarnings::warn() 1930 +QWARN : MaxWarnings::warn() 1931 +QWARN : MaxWarnings::warn() 1932 +QWARN : MaxWarnings::warn() 1933 +QWARN : MaxWarnings::warn() 1934 +QWARN : MaxWarnings::warn() 1935 +QWARN : MaxWarnings::warn() 1936 +QWARN : MaxWarnings::warn() 1937 +QWARN : MaxWarnings::warn() 1938 +QWARN : MaxWarnings::warn() 1939 +QWARN : MaxWarnings::warn() 1940 +QWARN : MaxWarnings::warn() 1941 +QWARN : MaxWarnings::warn() 1942 +QWARN : MaxWarnings::warn() 1943 +QWARN : MaxWarnings::warn() 1944 +QWARN : MaxWarnings::warn() 1945 +QWARN : MaxWarnings::warn() 1946 +QWARN : MaxWarnings::warn() 1947 +QWARN : MaxWarnings::warn() 1948 +QWARN : MaxWarnings::warn() 1949 +QWARN : MaxWarnings::warn() 1950 +QWARN : MaxWarnings::warn() 1951 +QWARN : MaxWarnings::warn() 1952 +QWARN : MaxWarnings::warn() 1953 +QWARN : MaxWarnings::warn() 1954 +QWARN : MaxWarnings::warn() 1955 +QWARN : MaxWarnings::warn() 1956 +QWARN : MaxWarnings::warn() 1957 +QWARN : MaxWarnings::warn() 1958 +QWARN : MaxWarnings::warn() 1959 +QWARN : MaxWarnings::warn() 1960 +QWARN : MaxWarnings::warn() 1961 +QWARN : MaxWarnings::warn() 1962 +QWARN : MaxWarnings::warn() 1963 +QWARN : MaxWarnings::warn() 1964 +QWARN : MaxWarnings::warn() 1965 +QWARN : MaxWarnings::warn() 1966 +QWARN : MaxWarnings::warn() 1967 +QWARN : MaxWarnings::warn() 1968 +QWARN : MaxWarnings::warn() 1969 +QWARN : MaxWarnings::warn() 1970 +QWARN : MaxWarnings::warn() 1971 +QWARN : MaxWarnings::warn() 1972 +QWARN : MaxWarnings::warn() 1973 +QWARN : MaxWarnings::warn() 1974 +QWARN : MaxWarnings::warn() 1975 +QWARN : MaxWarnings::warn() 1976 +QWARN : MaxWarnings::warn() 1977 +QWARN : MaxWarnings::warn() 1978 +QWARN : MaxWarnings::warn() 1979 +QWARN : MaxWarnings::warn() 1980 +QWARN : MaxWarnings::warn() 1981 +QWARN : MaxWarnings::warn() 1982 +QWARN : MaxWarnings::warn() 1983 +QWARN : MaxWarnings::warn() 1984 +QWARN : MaxWarnings::warn() 1985 +QWARN : MaxWarnings::warn() 1986 +QWARN : MaxWarnings::warn() 1987 +QWARN : MaxWarnings::warn() 1988 +QWARN : MaxWarnings::warn() 1989 +QWARN : MaxWarnings::warn() 1990 +QWARN : MaxWarnings::warn() 1991 +QWARN : MaxWarnings::warn() 1992 +QWARN : MaxWarnings::warn() 1993 +QWARN : MaxWarnings::warn() 1994 +QWARN : MaxWarnings::warn() 1995 +QWARN : MaxWarnings::warn() 1996 +QWARN : MaxWarnings::warn() 1997 +QWARN : MaxWarnings::warn() 1998 +QWARN : MaxWarnings::warn() 1999 +QWARN : MaxWarnings::warn() 2000 +QSYSTEM: MaxWarnings::warn() Maximum amount of warnings exceeded. +PASS : MaxWarnings::warn() +PASS : MaxWarnings::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of MaxWarnings ********* diff --git a/tests/auto/selftests/expected_multiexec.txt b/tests/auto/selftests/expected_multiexec.txt new file mode 100644 index 0000000..11d7a90 --- /dev/null +++ b/tests/auto/selftests/expected_multiexec.txt @@ -0,0 +1,35 @@ +********* Start testing of tst_Nothing ********* +Config: Using QTest library 4.1.0, Qt 4.1.1 +PASS : tst_Nothing::initTestCase() +PASS : tst_Nothing::nothing() +PASS : tst_Nothing::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_Nothing ********* +********* Start testing of tst_Nothing ********* +Config: Using QTest library 4.1.0, Qt 4.1.1 +PASS : tst_Nothing::initTestCase() +PASS : tst_Nothing::nothing() +PASS : tst_Nothing::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_Nothing ********* +********* Start testing of tst_Nothing ********* +Config: Using QTest library 4.1.0, Qt 4.1.1 +PASS : tst_Nothing::initTestCase() +PASS : tst_Nothing::nothing() +PASS : tst_Nothing::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_Nothing ********* +********* Start testing of tst_Nothing ********* +Config: Using QTest library 4.1.0, Qt 4.1.1 +PASS : tst_Nothing::initTestCase() +PASS : tst_Nothing::nothing() +PASS : tst_Nothing::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_Nothing ********* +********* Start testing of tst_Nothing ********* +Config: Using QTest library 4.1.0, Qt 4.1.1 +PASS : tst_Nothing::initTestCase() +PASS : tst_Nothing::nothing() +PASS : tst_Nothing::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_Nothing ********* diff --git a/tests/auto/selftests/expected_qexecstringlist.txt b/tests/auto/selftests/expected_qexecstringlist.txt new file mode 100644 index 0000000..e6c8f00 --- /dev/null +++ b/tests/auto/selftests/expected_qexecstringlist.txt @@ -0,0 +1,46 @@ +********* Start testing of tst_QExecStringList ********* +Config: Using QTest library 4.4.0, Qt 4.4.0 +PASS : tst_QExecStringList::initTestCase() +PASS : tst_QExecStringList::testA() +PASS : tst_QExecStringList::testB() +PASS : tst_QExecStringList::testC() +PASS : tst_QExecStringList::cleanupTestCase() +Totals: 5 passed, 0 failed, 0 skipped +********* Finished testing of tst_QExecStringList ********* +********* Start testing of tst_QExecStringList ********* +Config: Using QTest library 4.4.0, Qt 4.4.0 +PASS : tst_QExecStringList::initTestCase() +PASS : tst_QExecStringList::testA() +PASS : tst_QExecStringList::testB() +PASS : tst_QExecStringList::testC() +PASS : tst_QExecStringList::cleanupTestCase() +Totals: 5 passed, 0 failed, 0 skipped +********* Finished testing of tst_QExecStringList ********* +********* Start testing of tst_QExecStringList ********* +Config: Using QTest library 4.4.0, Qt 4.4.0 +PASS : tst_QExecStringList::initTestCase() +PASS : tst_QExecStringList::testA() +PASS : tst_QExecStringList::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_QExecStringList ********* +********* Start testing of tst_QExecStringList ********* +Config: Using QTest library 4.4.0, Qt 4.4.0 +PASS : tst_QExecStringList::initTestCase() +PASS : tst_QExecStringList::testB() +PASS : tst_QExecStringList::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_QExecStringList ********* +********* Start testing of tst_QExecStringList ********* +Config: Using QTest library 4.4.0, Qt 4.4.0 +PASS : tst_QExecStringList::initTestCase() +PASS : tst_QExecStringList::testB() +PASS : tst_QExecStringList::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_QExecStringList ********* +********* Start testing of tst_QExecStringList ********* +Config: Using QTest library 4.4.0, Qt 4.4.0 +PASS : tst_QExecStringList::initTestCase() +PASS : tst_QExecStringList::testC() +PASS : tst_QExecStringList::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_QExecStringList ********* diff --git a/tests/auto/selftests/expected_singleskip.txt b/tests/auto/selftests/expected_singleskip.txt new file mode 100644 index 0000000..19cb797 --- /dev/null +++ b/tests/auto/selftests/expected_singleskip.txt @@ -0,0 +1,8 @@ +********* Start testing of tst_SingleSkip ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +PASS : tst_SingleSkip::initTestCase() +SKIP : tst_SingleSkip::myTest() skipping test + Loc: [/home/fenglich/dev/qt-4.3/tests/auto/selftests/singleskip/tst_singleskip.cpp(23)] +PASS : tst_SingleSkip::cleanupTestCase() +Totals: 2 passed, 0 failed, 1 skipped +********* Finished testing of tst_SingleSkip ********* diff --git a/tests/auto/selftests/expected_skip.txt b/tests/auto/selftests/expected_skip.txt new file mode 100644 index 0000000..88c0426 --- /dev/null +++ b/tests/auto/selftests/expected_skip.txt @@ -0,0 +1,14 @@ +********* Start testing of tst_Skip ********* +Config: Using QTest library 4.6.0, Qt 4.6.0 +PASS : tst_Skip::initTestCase() +SKIP : tst_Skip::test() skipping all + Loc: [/home/rmcgover/depot/qt-git/mainline/tests/auto/selftests/skip/tst_skip.cpp(68)] +SKIP : tst_Skip::emptytest() skipping all + Loc: [/home/rmcgover/depot/qt-git/mainline/tests/auto/selftests/skip/tst_skip.cpp(78)] +SKIP : tst_Skip::singleSkip(local 1) skipping one + Loc: [/home/rmcgover/depot/qt-git/mainline/tests/auto/selftests/skip/tst_skip.cpp(97)] +QDEBUG : tst_Skip::singleSkip(local 2) this line should only be reached once (true) +PASS : tst_Skip::singleSkip() +PASS : tst_Skip::cleanupTestCase() +Totals: 3 passed, 0 failed, 3 skipped +********* Finished testing of tst_Skip ********* diff --git a/tests/auto/selftests/expected_skipglobal.txt b/tests/auto/selftests/expected_skipglobal.txt new file mode 100644 index 0000000..dcd6c44 --- /dev/null +++ b/tests/auto/selftests/expected_skipglobal.txt @@ -0,0 +1,6 @@ +********* Start testing of tst_SkipGlobal ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +SKIP : tst_SkipGlobal::initTestCase() Skippy Skippy + Loc: [/home/fenglich/dev/qt-4.3/tests/auto/selftests/skipglobal/tst_skipglobal.cpp(39)] +Totals: 0 passed, 0 failed, 1 skipped +********* Finished testing of tst_SkipGlobal ********* diff --git a/tests/auto/selftests/expected_skipinit.txt b/tests/auto/selftests/expected_skipinit.txt new file mode 100644 index 0000000..a156785 --- /dev/null +++ b/tests/auto/selftests/expected_skipinit.txt @@ -0,0 +1,7 @@ +********* Start testing of tst_SkipInit ********* +Config: Using QTest library 4.4.0, Qt 4.4.0 +SKIP : tst_SkipInit::initTestCase() Skip inside initTestCase. This should skip all tests in the class. + Loc: [/home/fenglich/dev/qt/tests/auto/selftests/skipinit/tst_skipinit.cpp(22)] +PASS : tst_SkipInit::cleanupTestCase() +Totals: 1 passed, 0 failed, 1 skipped +********* Finished testing of tst_SkipInit ********* diff --git a/tests/auto/selftests/expected_skipinitdata.txt b/tests/auto/selftests/expected_skipinitdata.txt new file mode 100644 index 0000000..11ca438 --- /dev/null +++ b/tests/auto/selftests/expected_skipinitdata.txt @@ -0,0 +1,6 @@ +********* Start testing of tst_SkipInitData ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +SKIP : tst_SkipInitData::initTestCase() Skip inside initTestCase. This should skip all tests in the class. + Loc: [/home/fenglich/dev/qt-4.3/tests/auto/selftests/skipinitdata/tst_skipinitdata.cpp(23)] +Totals: 0 passed, 0 failed, 1 skipped +********* Finished testing of tst_SkipInitData ********* diff --git a/tests/auto/selftests/expected_sleep.txt b/tests/auto/selftests/expected_sleep.txt new file mode 100644 index 0000000..67f1f2f --- /dev/null +++ b/tests/auto/selftests/expected_sleep.txt @@ -0,0 +1,7 @@ +********* Start testing of tst_Sleep ********* +Config: Using QTest library 4.1.0, Qt 4.1.0 +PASS : tst_Sleep::initTestCase() +PASS : tst_Sleep::sleep() +PASS : tst_Sleep::cleanupTestCase() +Totals: 3 passed, 0 failed, 0 skipped +********* Finished testing of tst_Sleep ********* diff --git a/tests/auto/selftests/expected_strcmp.txt b/tests/auto/selftests/expected_strcmp.txt new file mode 100644 index 0000000..c739d94 --- /dev/null +++ b/tests/auto/selftests/expected_strcmp.txt @@ -0,0 +1,33 @@ +********* Start testing of tst_StrCmp ********* +Config: Using QTest library 4.3.0, Qt 4.3.0 +PASS : tst_StrCmp::initTestCase() +PASS : tst_StrCmp::compareCharStars() +XFAIL : tst_StrCmp::compareByteArray() Next test should fail + Loc: [./tst_strcmp.cpp(55)] +XFAIL : tst_StrCmp::compareByteArray() Next test should fail + Loc: [./tst_strcmp.cpp(62)] +XFAIL : tst_StrCmp::compareByteArray() Next test should fail + Loc: [./tst_strcmp.cpp(69)] +FAIL! : tst_StrCmp::compareByteArray() Compared values are not the same + Actual (a): 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 ... + Expected (b): 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 ... + Loc: [./tst_strcmp.cpp(76)] +FAIL! : tst_StrCmp::failByteArray() Compared values are not the same + Actual (QByteArray("abc")): 61 62 63 + Expected (QByteArray("cba")): 63 62 61 + Loc: [./tst_strcmp.cpp(82)] +FAIL! : tst_StrCmp::failByteArrayNull() Compared values are not the same + Actual (QByteArray("foo")): 66 6F 6F + Expected (QByteArray()): + Loc: [./tst_strcmp.cpp(88)] +FAIL! : tst_StrCmp::failByteArrayEmpty() Compared values are not the same + Actual (QByteArray("")): + Expected (QByteArray("foo")): 66 6F 6F + Loc: [./tst_strcmp.cpp(93)] +FAIL! : tst_StrCmp::failByteArraySingleChars() Compared values are not the same + Actual (QByteArray("6")): 36 + Expected (QByteArray("7")): 37 + Loc: [./tst_strcmp.cpp(100)] +PASS : tst_StrCmp::cleanupTestCase() +Totals: 3 passed, 5 failed, 0 skipped +********* Finished testing of tst_StrCmp ********* diff --git a/tests/auto/selftests/expected_subtest.txt b/tests/auto/selftests/expected_subtest.txt new file mode 100644 index 0000000..ec459c5 --- /dev/null +++ b/tests/auto/selftests/expected_subtest.txt @@ -0,0 +1,81 @@ +********* Start testing of tst_Subtest ********* +Config: Using QTest library 4.4.0, Qt 4.4.0 +initTestCase initTestCase (null) +PASS : tst_Subtest::initTestCase() +init test1 (null) +test1 test1 (null) +cleanup test1 (null) +PASS : tst_Subtest::test1() +test2_data test2 (null) +test2_data end +init test2 data0 +test2 test2 data0 +test2 end +cleanup test2 data0 +init test2 data1 +test2 test2 data1 +test2 end +cleanup test2 data1 +init test2 data2 +test2 test2 data2 +test2 end +cleanup test2 data2 +PASS : tst_Subtest::test2() +test3_data test3 (null) +test3_data end +init test3 data0 +test2 test3 data0 +test2 end +cleanup test3 data0 +init test3 data1 +test2 test3 data1 +FAIL! : tst_Subtest::test3(data1) Compared values are not the same + Actual (str): hello1 + Expected (QString("hello0")): hello0 + Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(124)] +cleanup test3 data1 +init test3 data2 +test2 test3 data2 +FAIL! : tst_Subtest::test3(data2) Compared values are not the same + Actual (str): hello2 + Expected (QString("hello0")): hello0 + Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(124)] +cleanup test3 data2 +init floatComparisons should SUCCEED +cleanup floatComparisons should SUCCEED +init floatComparisons should FAIL +FAIL! : tst_Subtest::floatComparisons(should FAIL) Compared floats are not the same (fuzzy compare) + Actual (operandLeft): 1 + Expected (operandRight): 3 + Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(134)] +cleanup floatComparisons should FAIL +init floatComparisons should FAIL +FAIL! : tst_Subtest::floatComparisons(should FAIL) Compared floats are not the same (fuzzy compare) + Actual (operandLeft): 1e-07 + Expected (operandRight): 3e-07 + Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(134)] +cleanup floatComparisons should FAIL +init floatComparisons should FAIL +cleanup floatComparisons should FAIL +init compareFloatTests 1e0 +FAIL! : tst_Subtest::compareFloatTests(1e0) Compared floats are not the same (fuzzy compare) + Actual (t1): 1 + Expected (t3): 3 + Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(173)] +cleanup compareFloatTests 1e0 +init compareFloatTests 1e-7 +FAIL! : tst_Subtest::compareFloatTests(1e-7) Compared floats are not the same (fuzzy compare) + Actual (t1): 1e-07 + Expected (t3): 3e-07 + Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(173)] +cleanup compareFloatTests 1e-7 +init compareFloatTests 1e+7 +FAIL! : tst_Subtest::compareFloatTests(1e+7) Compared floats are not the same (fuzzy compare) + Actual (t1): 1e+07 + Expected (t3): 3e+07 + Loc: [/home/fenglich/dev/qt-4.4/tests/auto/selftests/subtest/tst_subtest.cpp(173)] +cleanup compareFloatTests 1e+7 +cleanupTestCase cleanupTestCase (null) +PASS : tst_Subtest::cleanupTestCase() +Totals: 4 passed, 7 failed, 0 skipped +********* Finished testing of tst_Subtest ********* diff --git a/tests/auto/selftests/expected_waitwithoutgui.txt b/tests/auto/selftests/expected_waitwithoutgui.txt new file mode 100644 index 0000000..a169107 --- /dev/null +++ b/tests/auto/selftests/expected_waitwithoutgui.txt @@ -0,0 +1,2 @@ +We just output something such that there's a baseline to compare against. +Finished waiting! diff --git a/tests/auto/selftests/expected_warnings.txt b/tests/auto/selftests/expected_warnings.txt new file mode 100644 index 0000000..0a9437f --- /dev/null +++ b/tests/auto/selftests/expected_warnings.txt @@ -0,0 +1,24 @@ +********* Start testing of tst_Warnings ********* +Config: Using QTest library 4.1.0, Qt 4.1.0 +PASS : tst_Warnings::initTestCase() +testWarnings 1: next line prints "Warning" +QWARN : tst_Warnings::testWarnings() Warning +testWarnings 2: next line prints nothing +testWarnings 3: next line prints "Warning" +QWARN : tst_Warnings::testWarnings() Warning +testWarnings 4: over +testWarnings 5: next line prints "Debug" +QDEBUG : tst_Warnings::testWarnings() Debug +testWarnings 6: next line prints nothing +testWarnings 7: next line prints "Debug" +QDEBUG : tst_Warnings::testWarnings() Debug +testWarnings 8: next comes "Baba" twice +QDEBUG : tst_Warnings::testWarnings() Baba +QDEBUG : tst_Warnings::testWarnings() Baba +PASS : tst_Warnings::testWarnings() +INFO : tst_Warnings::testMissingWarnings() Did not receive message: "Warning0" +INFO : tst_Warnings::testMissingWarnings() Did not receive message: "Warning1" +FAIL! : tst_Warnings::testMissingWarnings() Not all expected messages were received +PASS : tst_Warnings::cleanupTestCase() +Totals: 3 passed, 1 failed, 0 skipped +********* Finished testing of tst_Warnings ********* diff --git a/tests/auto/selftests/expected_xunit.txt b/tests/auto/selftests/expected_xunit.txt new file mode 100644 index 0000000..0f7e70a --- /dev/null +++ b/tests/auto/selftests/expected_xunit.txt @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<testsuite errors="3" failures="2" tests="6" name="tst_Xunit"> + <properties> + <property value="4.6.0" name="QTestVersion"/> + <property value="4.6.0" name="QtVersion"/> + </properties> + <testcase result="pass" name="initTestCase"/> + <testcase result="pass" name="testFunc1"> + <error message="just a QWARN() !" type="warn"/> + </testcase> + <testcase result="fail" name="testFunc2"> + <error message="a qDebug() call!" type="qdebug"/> + <failure message="Compared values are not the same + Actual (2): 2 + Expected (3): 3" result="fail"/> + </testcase> + <testcase name="testFunc3"> + <error message="skipping this function!" type="skip"/> + </testcase> + <testcase result="fail" name="testFunc4"> + <failure message="a forced failure!" result="fail"/> + </testcase> + <testcase result="pass" name="cleanupTestCase"/> +</testsuite> diff --git a/tests/auto/selftests/expectfail/expectfail.pro b/tests/auto/selftests/expectfail/expectfail.pro new file mode 100644 index 0000000..c411199 --- /dev/null +++ b/tests/auto/selftests/expectfail/expectfail.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_expectfail.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/expectfail/tst_expectfail.cpp b/tests/auto/selftests/expectfail/tst_expectfail.cpp new file mode 100644 index 0000000..925c992 --- /dev/null +++ b/tests/auto/selftests/expectfail/tst_expectfail.cpp @@ -0,0 +1,85 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_ExpectFail: public QObject +{ + Q_OBJECT + +private slots: + void expectAndContinue() const; + void expectAndAbort() const; + void xfailWithQString() const; +}; + +void tst_ExpectFail::expectAndContinue() const +{ + qDebug("begin"); + QEXPECT_FAIL("", "This should xfail", Continue); + QVERIFY(false); + qDebug("after"); +} + +void tst_ExpectFail::expectAndAbort() const +{ + qDebug("begin"); + QEXPECT_FAIL("", "This should xfail", Abort); + QVERIFY(false); + qDebug("this should not be reached"); +} + +void tst_ExpectFail::xfailWithQString() const +{ + QEXPECT_FAIL("", QString("A string").toLatin1().constData(), Continue); + QVERIFY(false); + + int bugNo = 5; + QString msg("The message"); + QEXPECT_FAIL( "", QString("Bug %1 (%2)").arg(bugNo).arg(msg).toLatin1().constData(), Continue); + QVERIFY(false); +} + +QTEST_MAIN(tst_ExpectFail) + +#include "tst_expectfail.moc" diff --git a/tests/auto/selftests/failinit/failinit.pro b/tests/auto/selftests/failinit/failinit.pro new file mode 100644 index 0000000..729cf74 --- /dev/null +++ b/tests/auto/selftests/failinit/failinit.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_failinit.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/failinit/tst_failinit.cpp b/tests/auto/selftests/failinit/tst_failinit.cpp new file mode 100644 index 0000000..fcff2fd --- /dev/null +++ b/tests/auto/selftests/failinit/tst_failinit.cpp @@ -0,0 +1,68 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtTest/QtTest> + +class tst_FailInit: public QObject +{ +Q_OBJECT +private slots: + void initTestCase() const; + void aTestFunction() const; +}; + +void tst_FailInit::initTestCase() const +{ + QVERIFY(false); +} + +/*! \internal + This function should never be run because initTestCase fails. + */ +void tst_FailInit::aTestFunction() const +{ + qDebug() << "ERROR: this function is NOT supposed to be run."; +} + +QTEST_APPLESS_MAIN(tst_FailInit) + +#include "tst_failinit.moc" diff --git a/tests/auto/selftests/failinitdata/failinitdata.pro b/tests/auto/selftests/failinitdata/failinitdata.pro new file mode 100644 index 0000000..6b48af1 --- /dev/null +++ b/tests/auto/selftests/failinitdata/failinitdata.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_failinitdata.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/failinitdata/tst_failinitdata.cpp b/tests/auto/selftests/failinitdata/tst_failinitdata.cpp new file mode 100644 index 0000000..52d3c80 --- /dev/null +++ b/tests/auto/selftests/failinitdata/tst_failinitdata.cpp @@ -0,0 +1,77 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtTest/QtTest> + +class tst_FailInitData: public QObject +{ +Q_OBJECT +private slots: + void initTestCase() const; + void initTestCase_data() const; + void aTestFunction() const; +}; + +void tst_FailInitData::initTestCase_data() const +{ + QVERIFY(false); +} + +/*! \internal + This function should never be run because initTestCase_data fails. + */ +void tst_FailInitData::initTestCase() const +{ + qDebug() << "This function is NOT supposed to be called."; +} + +/*! \internal + This function should never be run because initTestCase_data fails. + */ +void tst_FailInitData::aTestFunction() const +{ + qDebug() << "This function is NOT supposed to be called."; +} + +QTEST_APPLESS_MAIN(tst_FailInitData) + +#include "tst_failinitdata.moc" diff --git a/tests/auto/selftests/fetchbogus/fetchbogus.pro b/tests/auto/selftests/fetchbogus/fetchbogus.pro new file mode 100644 index 0000000..badb636 --- /dev/null +++ b/tests/auto/selftests/fetchbogus/fetchbogus.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_fetchbogus.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/fetchbogus/tst_fetchbogus.cpp b/tests/auto/selftests/fetchbogus/tst_fetchbogus.cpp new file mode 100644 index 0000000..085cf73 --- /dev/null +++ b/tests/auto/selftests/fetchbogus/tst_fetchbogus.cpp @@ -0,0 +1,68 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_FetchBogus: public QObject +{ + Q_OBJECT + +private slots: + void fetchBogus_data(); + void fetchBogus(); +}; + +void tst_FetchBogus::fetchBogus_data() +{ + QTest::addColumn<QString>("string"); + QTest::newRow("foo") << QString("blah"); +} + +void tst_FetchBogus::fetchBogus() +{ + QFETCH(QString, bubu); +} + +QTEST_MAIN(tst_FetchBogus) + +#include "tst_fetchbogus.moc" diff --git a/tests/auto/selftests/globaldata/globaldata.pro b/tests/auto/selftests/globaldata/globaldata.pro new file mode 100644 index 0000000..eb3b454 --- /dev/null +++ b/tests/auto/selftests/globaldata/globaldata.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_globaldata.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/globaldata/tst_globaldata.cpp b/tests/auto/selftests/globaldata/tst_globaldata.cpp new file mode 100644 index 0000000..15acf82 --- /dev/null +++ b/tests/auto/selftests/globaldata/tst_globaldata.cpp @@ -0,0 +1,153 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_Subtest: public QObject +{ + Q_OBJECT +public slots: + void init(); + void initTestCase(); + void initTestCase_data(); + + void cleanup(); + void cleanupTestCase(); + +private slots: + void testGlobal_data(); + void testGlobal(); + + void skip_data(); + void skip(); + + void skipLocal_data() { testGlobal_data(); } + void skipLocal(); + + void skipSingle_data() { testGlobal_data(); } + void skipSingle(); +}; + + +void tst_Subtest::initTestCase() +{ + printf("initTestCase %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); +} + +void tst_Subtest::initTestCase_data() +{ + QTest::addColumn<bool>("booli"); + QTest::newRow("1") << false; + QTest::newRow("2") << true; +} + +void tst_Subtest::cleanupTestCase() +{ + printf("cleanupTestCase %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); +} + +void tst_Subtest::init() +{ + printf("init %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); +} + +void tst_Subtest::cleanup() +{ + printf("cleanup %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); +} + +void tst_Subtest::testGlobal_data() +{ + QTest::addColumn<bool>("booll"); + QTest::newRow("local 1") << false; + QTest::newRow("local 2") << true; +} + +void tst_Subtest::testGlobal() +{ + QFETCH_GLOBAL(bool, booli); + printf("global: %d\n", booli); + QFETCH(bool, booll); + printf("local: %d\n", booll); +} + +void tst_Subtest::skip_data() +{ + QTest::addColumn<bool>("booll"); + QTest::newRow("local 1") << false; + QTest::newRow("local 2") << true; + + QSKIP("skipping", SkipAll); +} + +void tst_Subtest::skip() +{ + printf("this line should never be reached\n"); +} + +void tst_Subtest::skipSingle() +{ + QFETCH_GLOBAL(bool, booli); + QFETCH(bool, booll); + + if (booli && !booll) + QSKIP("skipping", SkipSingle); + printf("global: %d, local %d\n", booli, booll); +} + +void tst_Subtest::skipLocal() +{ + QSKIP("skipping", SkipAll); +} + +QTEST_MAIN(tst_Subtest) + +#include "tst_globaldata.moc" diff --git a/tests/auto/selftests/maxwarnings/maxwarnings.cpp b/tests/auto/selftests/maxwarnings/maxwarnings.cpp new file mode 100644 index 0000000..37340cf --- /dev/null +++ b/tests/auto/selftests/maxwarnings/maxwarnings.cpp @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore/QtCore> +#include <QtTest/QtTest> + +class MaxWarnings: public QObject +{ + Q_OBJECT +private slots: + void warn(); +}; + +void MaxWarnings::warn() +{ + for (int i = 0; i < 10000; ++i) + qWarning("%d", i); +} + +QTEST_MAIN(MaxWarnings) +#include "maxwarnings.moc" diff --git a/tests/auto/selftests/maxwarnings/maxwarnings.pro b/tests/auto/selftests/maxwarnings/maxwarnings.pro new file mode 100644 index 0000000..b43affe --- /dev/null +++ b/tests/auto/selftests/maxwarnings/maxwarnings.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += maxwarnings.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/multiexec/multiexec.pro b/tests/auto/selftests/multiexec/multiexec.pro new file mode 100644 index 0000000..723f56f --- /dev/null +++ b/tests/auto/selftests/multiexec/multiexec.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_multiexec.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/multiexec/tst_multiexec.cpp b/tests/auto/selftests/multiexec/tst_multiexec.cpp new file mode 100644 index 0000000..5ae32aa --- /dev/null +++ b/tests/auto/selftests/multiexec/tst_multiexec.cpp @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtTest/QtTest> + +class tst_Nothing: public QObject +{ +Q_OBJECT +private slots: + void nothing() { QVERIFY(true); } +}; + +int main(int argc, char *argv[]) +{ + tst_Nothing nada; + for (int i = 0; i < 5; ++i) + QTest::qExec(&nada, argc, argv); + return 0; +} + +#include "tst_multiexec.moc" diff --git a/tests/auto/selftests/qexecstringlist/qexecstringlist.pro b/tests/auto/selftests/qexecstringlist/qexecstringlist.pro new file mode 100644 index 0000000..27afcb2 --- /dev/null +++ b/tests/auto/selftests/qexecstringlist/qexecstringlist.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_qexecstringlist.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/qexecstringlist/tst_qexecstringlist.cpp b/tests/auto/selftests/qexecstringlist/tst_qexecstringlist.cpp new file mode 100644 index 0000000..2c0175c --- /dev/null +++ b/tests/auto/selftests/qexecstringlist/tst_qexecstringlist.cpp @@ -0,0 +1,96 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_QExecStringList: public QObject +{ + Q_OBJECT + +private slots: + void testA() const; + void testB() const; + void testB_data() const; + void testC() const; +}; + +void tst_QExecStringList::testA() const +{ +} + +void tst_QExecStringList::testB() const +{ + QFETCH(bool, dummy); + Q_UNUSED(dummy); +} + +void tst_QExecStringList::testB_data() const +{ + QTest::addColumn<bool>("dummy"); + + QTest::newRow("Data1") << false; + QTest::newRow("Data2") << false; + QTest::newRow("Data3") << false; +} + +void tst_QExecStringList::testC() const +{ +} + +int main(int argc,char *argv[]) +{ + QCoreApplication app(argc, argv); + + tst_QExecStringList test; + + QTest::qExec(&test, app.arguments()); + QTest::qExec(&test, QStringList("appName")); + QTest::qExec(&test, QStringList("appName") << "testA"); + QTest::qExec(&test, QStringList("appName") << "testB"); + QTest::qExec(&test, QStringList("appName") << "testB:Data2"); + QTest::qExec(&test, QStringList("appName") << "testC"); + + return 0; +} + +#include "tst_qexecstringlist.moc" diff --git a/tests/auto/selftests/selftests.pro b/tests/auto/selftests/selftests.pro new file mode 100644 index 0000000..ca69afa --- /dev/null +++ b/tests/auto/selftests/selftests.pro @@ -0,0 +1,14 @@ +TEMPLATE = subdirs + +SUBDIRS = subtest test warnings maxwarnings cmptest globaldata skipglobal skip \ + strcmp expectfail sleep fetchbogus crashes multiexec failinit failinitdata \ + skipinit skipinitdata datetime singleskip assert waitwithoutgui differentexec \ + exception qexecstringlist datatable commandlinedata\ + benchlibwalltime benchlibcallgrind benchlibeventcounter benchlibtickcounter \ + benchliboptions xunit badxml + +INSTALLS = + +QT = core + + diff --git a/tests/auto/selftests/selftests.qrc b/tests/auto/selftests/selftests.qrc new file mode 100644 index 0000000..d57ff29 --- /dev/null +++ b/tests/auto/selftests/selftests.qrc @@ -0,0 +1,39 @@ +<RCC> + <qresource prefix="/" > + <file>expected_subtest.txt</file> + <file>expected_warnings.txt</file> + <file>expected_maxwarnings.txt</file> + <file>expected_cmptest.txt</file> + <file>expected_alive.txt</file> + <file>expected_globaldata.txt</file> + <file>expected_skipglobal.txt</file> + <file>expected_skip.txt</file> + <file>expected_expectfail.txt</file> + <file>expected_strcmp.txt</file> + <file>expected_sleep.txt</file> + <file>expected_fetchbogus.txt</file> + <file>expected_crashes_1.txt</file> + <file>expected_crashes_2.txt</file> + <file>expected_multiexec.txt</file> + <file>expected_failinit.txt</file> + <file>expected_failinitdata.txt</file> + <file>expected_skipinitdata.txt</file> + <file>expected_skipinit.txt</file> + <file>expected_datetime.txt</file> + <file>expected_singleskip.txt</file> + <file>expected_assert.txt</file> + <file>expected_fatal.txt</file> + <file>expected_waitwithoutgui.txt</file> + <file>expected_differentexec.txt</file> + <file>expected_exception.txt</file> + <file>expected_qexecstringlist.txt</file> + <file>expected_datatable.txt</file> + <file>expected_commandlinedata.txt</file> + <file>expected_benchlibcallgrind.txt</file> + <file>expected_benchlibwalltime.txt</file> + <file>expected_benchlibeventcounter.txt</file> + <file>expected_benchliboptions.txt</file> + <file>expected_benchlibtickcounter.txt</file> + <file>expected_xunit.txt</file> + </qresource> +</RCC> diff --git a/tests/auto/selftests/singleskip/singleskip.pro b/tests/auto/selftests/singleskip/singleskip.pro new file mode 100644 index 0000000..0d66f68 --- /dev/null +++ b/tests/auto/selftests/singleskip/singleskip.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_singleskip.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/singleskip/tst_singleskip.cpp b/tests/auto/selftests/singleskip/tst_singleskip.cpp new file mode 100644 index 0000000..569934a --- /dev/null +++ b/tests/auto/selftests/singleskip/tst_singleskip.cpp @@ -0,0 +1,61 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_SingleSkip: public QObject +{ + Q_OBJECT + +private slots: + void myTest() const; +}; + +void tst_SingleSkip::myTest() const +{ + QSKIP("skipping test", SkipAll); +} + +QTEST_MAIN(tst_SingleSkip) + +#include "tst_singleskip.moc" diff --git a/tests/auto/selftests/skip/skip.pro b/tests/auto/selftests/skip/skip.pro new file mode 100644 index 0000000..545a579 --- /dev/null +++ b/tests/auto/selftests/skip/skip.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_skip.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/skip/tst_skip.cpp b/tests/auto/selftests/skip/tst_skip.cpp new file mode 100644 index 0000000..437cf62 --- /dev/null +++ b/tests/auto/selftests/skip/tst_skip.cpp @@ -0,0 +1,103 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_Skip: public QObject +{ + Q_OBJECT + +private slots: + void test_data(); + void test(); + + void emptytest_data(); + void emptytest(); + + void singleSkip_data(); + void singleSkip(); +}; + + +void tst_Skip::test_data() +{ + QTest::addColumn<bool>("booll"); + QTest::newRow("local 1") << false; + QTest::newRow("local 2") << true; + + QSKIP("skipping all", SkipAll); +} + +void tst_Skip::test() +{ + qDebug("this line should never be reached, since we skip in the _data function"); +} + +void tst_Skip::emptytest_data() +{ + QSKIP("skipping all", SkipAll); +} + +void tst_Skip::emptytest() +{ + qDebug("this line should never be reached, since we skip in the _data function"); +} + +void tst_Skip::singleSkip_data() +{ + QTest::addColumn<bool>("booll"); + QTest::newRow("local 1") << false; + QTest::newRow("local 2") << true; +} + +void tst_Skip::singleSkip() +{ + QFETCH(bool, booll); + if (!booll) + QSKIP("skipping one", SkipSingle); + qDebug("this line should only be reached once (%s)", booll ? "true" : "false"); +} + +QTEST_MAIN(tst_Skip) + +#include "tst_skip.moc" diff --git a/tests/auto/selftests/skipglobal/skipglobal.pro b/tests/auto/selftests/skipglobal/skipglobal.pro new file mode 100644 index 0000000..97553c6 --- /dev/null +++ b/tests/auto/selftests/skipglobal/skipglobal.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_skipglobal.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/skipglobal/tst_skipglobal.cpp b/tests/auto/selftests/skipglobal/tst_skipglobal.cpp new file mode 100644 index 0000000..fef35d1 --- /dev/null +++ b/tests/auto/selftests/skipglobal/tst_skipglobal.cpp @@ -0,0 +1,113 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_SkipGlobal: public QObject +{ + Q_OBJECT +public slots: + void init(); + void initTestCase(); + void initTestCase_data(); + + void cleanup(); + void cleanupTestCase(); + +private slots: + void testGlobal_data(); + void testGlobal(); +}; + + +void tst_SkipGlobal::initTestCase() +{ + printf("initTestCase %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); +} + +void tst_SkipGlobal::initTestCase_data() +{ + QSKIP("Skippy Skippy", SkipAll); +} + +void tst_SkipGlobal::cleanupTestCase() +{ + printf("cleanupTestCase %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); +} + +void tst_SkipGlobal::init() +{ + printf("init %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); +} + +void tst_SkipGlobal::cleanup() +{ + printf("cleanup %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); +} + +void tst_SkipGlobal::testGlobal_data() +{ + QTest::addColumn<bool>("booll"); + QTest::newRow("local 1") << false; + QTest::newRow("local 2") << true; +} + +void tst_SkipGlobal::testGlobal() +{ + QFETCH_GLOBAL(bool, booli); + printf("global: %d\n", booli); + QFETCH(bool, booll); + printf("local: %d\n", booll); +} + +QTEST_MAIN(tst_SkipGlobal) + +#include "tst_skipglobal.moc" diff --git a/tests/auto/selftests/skipinit/skipinit.pro b/tests/auto/selftests/skipinit/skipinit.pro new file mode 100644 index 0000000..d8ee13e --- /dev/null +++ b/tests/auto/selftests/skipinit/skipinit.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_skipinit.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/skipinit/tst_skipinit.cpp b/tests/auto/selftests/skipinit/tst_skipinit.cpp new file mode 100644 index 0000000..8ecaf3a --- /dev/null +++ b/tests/auto/selftests/skipinit/tst_skipinit.cpp @@ -0,0 +1,68 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtTest/QtTest> + +class tst_SkipInit: public QObject +{ +Q_OBJECT +private slots: + void initTestCase() const; + void aTestFunction() const; +}; + +void tst_SkipInit::initTestCase() const +{ + QSKIP("Skip inside initTestCase. This should skip all tests in the class.", SkipAll); +} + +/*! \internal + This function should never be run because initTestCase fails. + */ +void tst_SkipInit::aTestFunction() const +{ + qDebug() << "ERROR: This function is NOT supposed to be run."; +} + +QTEST_APPLESS_MAIN(tst_SkipInit) + +#include "tst_skipinit.moc" diff --git a/tests/auto/selftests/skipinitdata/skipinitdata.pro b/tests/auto/selftests/skipinitdata/skipinitdata.pro new file mode 100644 index 0000000..8da653e --- /dev/null +++ b/tests/auto/selftests/skipinitdata/skipinitdata.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_skipinitdata.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/skipinitdata/tst_skipinitdata.cpp b/tests/auto/selftests/skipinitdata/tst_skipinitdata.cpp new file mode 100644 index 0000000..ff005a2 --- /dev/null +++ b/tests/auto/selftests/skipinitdata/tst_skipinitdata.cpp @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtTest/QtTest> + +class tst_SkipInitData: public QObject +{ +Q_OBJECT +private slots: + void initTestCase_data() const; + void initTestCase() const; + void aTestFunction() const; +}; + +void tst_SkipInitData::initTestCase_data() const +{ + QSKIP("Skip inside initTestCase. This should skip all tests in the class.", SkipAll); +} + +void tst_SkipInitData::initTestCase() const +{ +} + +/*! \internal + This function should never be run because initTestCase fails. + */ +void tst_SkipInitData::aTestFunction() const +{ + qDebug() << "ERROR: this function is NOT supposed to be run."; +} + +QTEST_APPLESS_MAIN(tst_SkipInitData) + +#include "tst_skipinitdata.moc" diff --git a/tests/auto/selftests/sleep/sleep.pro b/tests/auto/selftests/sleep/sleep.pro new file mode 100644 index 0000000..7b28ccc --- /dev/null +++ b/tests/auto/selftests/sleep/sleep.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_sleep.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/sleep/tst_sleep.cpp b/tests/auto/selftests/sleep/tst_sleep.cpp new file mode 100644 index 0000000..f9e1cf7 --- /dev/null +++ b/tests/auto/selftests/sleep/tst_sleep.cpp @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_Sleep: public QObject +{ + Q_OBJECT + +private slots: + void sleep(); +}; + +void tst_Sleep::sleep() +{ + QTime t; + t.start(); + + QTest::qSleep(100); + QVERIFY(t.elapsed() > 90); + + QTest::qSleep(1000); + QVERIFY(t.elapsed() > 1000); + + QTest::qSleep(1000 * 10); // 10 seconds + QVERIFY(t.elapsed() > 1000 * 10); +} + +QTEST_MAIN(tst_Sleep) + +#include "tst_sleep.moc" diff --git a/tests/auto/selftests/strcmp/strcmp.pro b/tests/auto/selftests/strcmp/strcmp.pro new file mode 100644 index 0000000..489211c --- /dev/null +++ b/tests/auto/selftests/strcmp/strcmp.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_strcmp.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/strcmp/tst_strcmp.cpp b/tests/auto/selftests/strcmp/tst_strcmp.cpp new file mode 100644 index 0000000..b4d61ac --- /dev/null +++ b/tests/auto/selftests/strcmp/tst_strcmp.cpp @@ -0,0 +1,138 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_StrCmp: public QObject +{ + Q_OBJECT + +private slots: + void compareCharStars() const; + void compareByteArray() const; + void failByteArray() const; + void failByteArrayNull() const; + void failByteArrayEmpty() const; + void failByteArraySingleChars() const; +}; + +void tst_StrCmp::compareCharStars() const +{ + QCOMPARE((const char *)"foo", (const char *)"foo"); + + const char *str1 = "foo"; + QCOMPARE("foo", str1); + QCOMPARE(str1, "foo"); + QCOMPARE(str1, str1); + + char *str2 = "foo"; + QCOMPARE("foo", str2); + QCOMPARE(str2, "foo"); + QCOMPARE(str2, str2); + QCOMPARE(str1, str2); + QCOMPARE(str2, str1); + + const char str3[] = "foo"; + QCOMPARE((const char *)str3, "foo"); + QCOMPARE("foo", (const char *)str3); + QCOMPARE((const char *)str3, str1); + QCOMPARE((const char *)str3, str2); + QCOMPARE(str1, (const char *)str3); + QCOMPARE(str2, (const char *)str3); +} + +void tst_StrCmp::compareByteArray() const +{ + QByteArray ba = "foo"; + QEXPECT_FAIL("", "Next test should fail", Continue); + QCOMPARE(ba.constData(), "bar"); + QCOMPARE(ba.constData(), "foo"); + + char *bar = "bar"; + char *foo = "foo"; + + QEXPECT_FAIL("", "Next test should fail", Continue); + QCOMPARE(ba.data(), bar); + QCOMPARE(ba.data(), foo); + + const char *cbar = "bar"; + const char *cfoo = "foo"; + + QEXPECT_FAIL("", "Next test should fail", Continue); + QCOMPARE(ba.constData(), cbar); + QCOMPARE(ba.constData(), cfoo); + + /* Create QByteArrays of the size that makes the corresponding toString() crop output. */ + const QByteArray b(500, 'A'); + const QByteArray a(500, 'B'); + + QCOMPARE(a, b); +} + +void tst_StrCmp::failByteArray() const +{ + /* Compare small, different byte arrays. */ + QCOMPARE(QByteArray("abc"), QByteArray("cba")); +} + +void tst_StrCmp::failByteArrayNull() const +{ + /* Compare null byte array against with content. */ + QCOMPARE(QByteArray("foo"), QByteArray()); +} + +void tst_StrCmp::failByteArrayEmpty() const +{ + QCOMPARE(QByteArray(""), QByteArray("foo")); +} + +void tst_StrCmp::failByteArraySingleChars() const +{ + /* Compare null byte array against with content. */ + //QCOMPARE(QString(250, 'a'), QString(250, 'b')); + QCOMPARE(QByteArray("6"), QByteArray("7")); +} + +QTEST_MAIN(tst_StrCmp) + +#include "tst_strcmp.moc" diff --git a/tests/auto/selftests/subtest/subtest.pro b/tests/auto/selftests/subtest/subtest.pro new file mode 100644 index 0000000..4d258ee --- /dev/null +++ b/tests/auto/selftests/subtest/subtest.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_subtest.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/subtest/tst_subtest.cpp b/tests/auto/selftests/subtest/tst_subtest.cpp new file mode 100644 index 0000000..cf7ad88 --- /dev/null +++ b/tests/auto/selftests/subtest/tst_subtest.cpp @@ -0,0 +1,219 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_Subtest: public QObject +{ + Q_OBJECT +public slots: + void init(); + void initTestCase(); + + void cleanup(); + void cleanupTestCase(); + +private slots: + void test1(); + void test2_data(); + void test2(); + void test3_data(); + void test3(); + void floatComparisons() const; + void floatComparisons_data() const; + void compareFloatTests() const; + void compareFloatTests_data() const; +}; + + +void tst_Subtest::initTestCase() +{ + printf("initTestCase %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); +} + +void tst_Subtest::cleanupTestCase() +{ + printf("cleanupTestCase %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); +} + +void tst_Subtest::init() +{ + printf("init %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); +} + +void tst_Subtest::cleanup() +{ + printf("cleanup %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); +} + +void tst_Subtest::test1() +{ + printf("test1 %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); +} + +void tst_Subtest::test2_data() +{ + printf("test2_data %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); + + QTest::addColumn<QString>("str"); + + QTest::newRow("data0") << QString("hello0"); + QTest::newRow("data1") << QString("hello1"); + QTest::newRow("data2") << QString("hello2"); + + printf("test2_data end\n"); +} + +void tst_Subtest::test2() +{ + printf("test2 %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); + + static int count = 0; + + QFETCH(QString, str); + QCOMPARE(str, QString("hello%1").arg(count++)); + + printf("test2 end\n"); +} + +void tst_Subtest::test3_data() +{ + printf("test3_data %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); + + QTest::addColumn<QString>("str"); + + QTest::newRow("data0") << QString("hello0"); + QTest::newRow("data1") << QString("hello1"); + QTest::newRow("data2") << QString("hello2"); + + printf("test3_data end\n"); +} + +void tst_Subtest::test3() +{ + printf("test2 %s %s\n", + QTest::currentTestFunction() ? QTest::currentTestFunction() : "(null)", + QTest::currentDataTag() ? QTest::currentDataTag() : "(null)"); + + QFETCH(QString, str); + + // second and third time we call this it shoud FAIL + QCOMPARE(str, QString("hello0")); + + printf("test2 end\n"); +} + +void tst_Subtest::floatComparisons() const +{ + QFETCH(float, operandLeft); + QFETCH(float, operandRight); + + QCOMPARE(operandLeft, operandRight); +} + +void tst_Subtest::floatComparisons_data() const +{ + QTest::addColumn<float>("operandLeft"); + QTest::addColumn<float>("operandRight"); + + QTest::newRow("should SUCCEED") + << float(0) + << float(0); + + QTest::newRow("should FAIL") + << float(1.00000) + << float(3.00000); + + QTest::newRow("should FAIL") + << float(1.00000e-7f) + << float(3.00000e-7f); + + QTest::newRow("should FAIL") + << float(100001) + << float(100002); +} + +void tst_Subtest::compareFloatTests() const +{ + QFETCH(float, t1); + + // Create two more values + // t2 differs from t1 by 1 ppm (part per million) + // t3 differs from t1 by 200% + // we should consider that t1 == t2 and t1 != t3 + const float t2 = t1 + (t1 / 1e6); + const float t3 = 3 * t1; + + QCOMPARE(t1, t2); + + /* Should FAIL. */ + QCOMPARE(t1, t3); +} + +void tst_Subtest::compareFloatTests_data() const +{ + QTest::addColumn<float>("t1"); + QTest::newRow("1e0") << 1e0f; + QTest::newRow("1e-7") << 1e-7f; + QTest::newRow("1e+7") << 1e+7f; +} + +QTEST_MAIN(tst_Subtest) + +#include "tst_subtest.moc" diff --git a/tests/auto/selftests/test/test.pro b/tests/auto/selftests/test/test.pro new file mode 100644 index 0000000..d61606c --- /dev/null +++ b/tests/auto/selftests/test/test.pro @@ -0,0 +1,17 @@ +load(qttest_p4) +SOURCES += ../tst_selftests.cpp +QT += core xml + +TARGET = ../tst_selftests + +win32 { + CONFIG(debug, debug|release) { + TARGET = ../../debug/tst_selftests +} else { + TARGET = ../../release/tst_selftests + } +} + +RESOURCES += ../selftests.qrc + + diff --git a/tests/auto/selftests/tst_selftests.cpp b/tests/auto/selftests/tst_selftests.cpp new file mode 100644 index 0000000..fcfc625 --- /dev/null +++ b/tests/auto/selftests/tst_selftests.cpp @@ -0,0 +1,511 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> +#include <QtXml/QXmlStreamReader> +#include <private/cycle_p.h> + +class tst_Selftests: public QObject +{ + Q_OBJECT +private slots: + void initTestCase(); + void runSubTest_data(); + void runSubTest(); + void checkXML() const; + void checkXML_data(); + void checkXunitxml() const; + void checkXunitxml_data(); + +private: + QStringList m_checkXMLBlacklist; + QStringList m_checkXunitBlacklist; + void doRunSubTest(QString &subdir, QStringList &arguments ); +}; + +struct BenchmarkResult +{ + qint64 total; + qint64 iterations; + QString unit; + + inline QString toString() const + { return QString("total:%1, unit:%2, iterations:%3").arg(total).arg(unit).arg(iterations); } + + static BenchmarkResult parse(QString const&, QString*); +}; + +QT_BEGIN_NAMESPACE +namespace QTest +{ +template <> +inline bool qCompare + (BenchmarkResult const &r1, BenchmarkResult const &r2, + const char* actual, const char* expected, const char* file, int line) +{ + // First make sure the iterations and unit match. + if (r1.iterations != r2.iterations || r1.unit != r2.unit) { + /* Nope - compare whole string for best failure message */ + return qCompare(r1.toString(), r2.toString(), actual, expected, file, line); + } + + /* + Now check the value. Some variance is allowed, and how much depends on the + measured unit. + */ + qreal variance = 0.; + if (r1.unit == "msec") { + variance = 0.1; + } + else if (r1.unit == "instr. loads") { + variance = 0.001; + } + else if (r1.unit == "ticks") { + variance = 0.0001; + } + if (variance == 0.) { + /* No variance allowed - compare whole string */ + return qCompare(r1.toString(), r2.toString(), actual, expected, file, line); + } + + if (qAbs(qreal(r1.total) - qreal(r2.total)) <= qreal(r1.total)*variance) { + return compare_helper(true, "COMPARE()", file, line); + } + + /* Whoops, didn't match. Compare the whole string for the most useful failure message. */ + return qCompare(r1.toString(), r2.toString(), actual, expected, file, line); +} +} +QT_END_NAMESPACE + +static QList<QByteArray> splitLines(QByteArray ba) +{ + ba.replace('\r', ""); + return ba.split('\n'); +} + +static QList<QByteArray> expectedResult(const QString &subdir) +{ + QFile file(":/expected_" + subdir + ".txt"); + if (!file.open(QIODevice::ReadOnly)) + return QList<QByteArray>(); + return splitLines(file.readAll()); +} + +void tst_Selftests::runSubTest_data() +{ + QTest::addColumn<QString>("subdir"); + QTest::addColumn<QStringList>("arguments"); + + QTest::newRow("subtest") << "subtest" << QStringList(); + QTest::newRow("warnings") << "warnings" << QStringList(); + QTest::newRow("maxwarnings") << "maxwarnings" << QStringList(); + QTest::newRow("cmptest") << "cmptest" << QStringList(); +// QTest::newRow("alive") << "alive" << QStringList(); // timer dependent + QTest::newRow("globaldata") << "globaldata" << QStringList(); + QTest::newRow("skipglobal") << "skipglobal" << QStringList(); + QTest::newRow("skip") << "skip" << QStringList(); + QTest::newRow("strcmp") << "strcmp" << QStringList(); + QTest::newRow("expectfail") << "expectfail" << QStringList(); + QTest::newRow("sleep") << "sleep" << QStringList(); + QTest::newRow("fetchbogus") << "fetchbogus" << QStringList(); + QTest::newRow("crashes") << "crashes" << QStringList(); + QTest::newRow("multiexec") << "multiexec" << QStringList(); + QTest::newRow("failinit") << "failinit" << QStringList(); + QTest::newRow("failinitdata") << "failinitdata" << QStringList(); + QTest::newRow("skipinit") << "skipinit" << QStringList(); + QTest::newRow("skipinitdata") << "skipinitdata" << QStringList(); + QTest::newRow("datetime") << "datetime" << QStringList(); + QTest::newRow("singleskip") << "singleskip" << QStringList(); + + //on windows assert does nothing in release mode and blocks execution with a popup window in debug mode +#if !defined(Q_OS_WIN) + QTest::newRow("assert") << "assert" << QStringList(); +#endif + + QTest::newRow("waitwithoutgui") << "waitwithoutgui" << QStringList(); + QTest::newRow("differentexec") << "differentexec" << QStringList(); +#ifndef QT_NO_EXCEPTIONS + // The machine that run the intel autotests will popup a dialog + // with a warning that an uncaught exception was thrown. + // This will time out and falsely fail, therefore we disable the test for that platform. +# if !defined(Q_CC_INTEL) || !defined(Q_OS_WIN) + QTest::newRow("exception") << "exception" << QStringList(); +# endif +#endif + QTest::newRow("qexecstringlist") << "qexecstringlist" << QStringList(); + QTest::newRow("datatable") << "datatable" << QStringList(); + QTest::newRow("commandlinedata") << "commandlinedata" << QString("fiveTablePasses fiveTablePasses:fiveTablePasses_data1 -v2").split(' '); + +#if defined(__GNUC__) && defined(__i386) && defined(Q_OS_LINUX) + QTest::newRow("benchlibcallgrind") << "benchlibcallgrind" << QStringList("-callgrind"); +#endif + QTest::newRow("benchlibeventcounter") << "benchlibeventcounter" << QStringList("-eventcounter"); + QTest::newRow("benchliboptions") << "benchliboptions" << QStringList("-eventcounter"); + QTest::newRow("benchlibwalltime") << "benchlibwalltime" << QStringList(); + + //### QWS tests are currently run on a virtual machine, where ticks are not + //### monotonously increasing +#if defined(HAVE_TICK_COUNTER) && !defined(Q_WS_QWS) + QTest::newRow("benchlibtickcounter") << "benchlibtickcounter" << QStringList("-tickcounter"); +#endif + + QTest::newRow("xunit") << "xunit" << QStringList("-xunitxml"); + +} + +void tst_Selftests::doRunSubTest(QString &subdir, QStringList &arguments ) +{ + QProcess proc; + proc.setEnvironment(QStringList("")); + proc.start(subdir + "/tst_" + subdir, arguments); + QVERIFY2(proc.waitForFinished(), qPrintable(proc.errorString())); + + const QByteArray out(proc.readAllStandardOutput()); + const QByteArray err(proc.readAllStandardError()); + + /* Windows-MSVC decide to output an error message when exceptions are thrown, + * so let's not check stderr for those. */ +#if defined(Q_OS_WIN) + if(subdir != QLatin1String("exception") && subdir != QLatin1String("fetchbogus")) +#endif + if(subdir != QLatin1String("xunit")) + QVERIFY2(err.isEmpty(), err.constData()); + + QList<QByteArray> res = splitLines(out); + QList<QByteArray> exp = expectedResult(subdir); + + if (exp.count() == 0) { + QList<QList<QByteArray> > expArr; + int i = 1; + do { + exp = expectedResult(subdir + QString("_%1").arg(i++)); + if (exp.count()) + expArr += exp; + } while(exp.count()); + + for (int j = 0; j < expArr.count(); ++j) { + if (res.count() == expArr.at(j).count()) { + exp = expArr.at(j); + break; + } + } + } else { + QCOMPARE(res.count(), exp.count()); + } + + bool benchmark = false; + for (int i = 0; i < res.count(); ++i) { + QByteArray line = res.at(i); + if (line.startsWith("Config: Using QTest")) + continue; + // the __FILE__ __LINE__ output is compiler dependent, skip it + if (line.startsWith(" Loc: [") && line.endsWith(")]")) + continue; + if (line.endsWith(" : failure location")) + continue; + + const QString output(QString::fromLatin1(line)); + const QString expected(QString::fromLatin1(exp.at(i))); + + if (line.contains("ASSERT") && output != expected) + QEXPECT_FAIL("assert", "QTestLib prints out the absolute path.", Continue); + + /* On some platforms we compile without RTTI, and as a result we never throw an exception. */ + if(expected.startsWith(QLatin1String("FAIL! : tst_Exception::throwException() Caught unhandled exce")) && expected != output) + QCOMPARE(output.simplified(), QString::fromLatin1("tst_Exception::throwException()").simplified()); + else + { + if(output != expected && qstrcmp(QTest::currentDataTag(), "subtest") == 0) + { + /* The floating point formatting differs between platforms, so let's just skip it. */ + continue; + } + else { + /* + Are we expecting this line to be a benchmark result? + If so, don't do a literal comparison, since results have some natural variance. + */ + if (benchmark) { + QString error; + + BenchmarkResult actualResult = BenchmarkResult::parse(output, &error); + QVERIFY2(error.isEmpty(), qPrintable(QString("Actual line didn't parse as benchmark result: %1\nLine: %2").arg(error).arg(output))); + + BenchmarkResult expectedResult = BenchmarkResult::parse(expected, &error); + QVERIFY2(error.isEmpty(), qPrintable(QString("Expected line didn't parse as benchmark result: %1\nLine: %2").arg(error).arg(expected))); + + QCOMPARE(actualResult, expectedResult); + } + else { + QCOMPARE(output, expected); + } + } + } + + benchmark = line.startsWith("RESULT : "); + } +} + +void tst_Selftests::runSubTest() +{ + QFETCH(QString, subdir); + QFETCH(QStringList, arguments); + + doRunSubTest(subdir, arguments); +} + +void tst_Selftests::initTestCase() +{ + m_checkXMLBlacklist.append("crashes"); // This test crashes + m_checkXMLBlacklist.append("waitwithoutgui"); // This test is not a QTestLib test. + + /* Output from several tests is broken with the XML output method, + * and it's quite heavy in the design. See task 155001. */ + m_checkXMLBlacklist.append("multiexec"); + m_checkXMLBlacklist.append("differentexec"); + m_checkXMLBlacklist.append("qexecstringlist"); + m_checkXMLBlacklist.append("benchliboptions"); + + m_checkXunitBlacklist = m_checkXMLBlacklist; + m_checkXunitBlacklist.append("benchlibwalltime"); + m_checkXunitBlacklist.append("benchlibeventcounter"); + m_checkXunitBlacklist.append("benchlibcallgrind"); + m_checkXunitBlacklist.append("subtest"); + m_checkXunitBlacklist.append("globaldata"); + m_checkXunitBlacklist.append("warnings"); +} + +void tst_Selftests::checkXML() const +{ + QFETCH(QString, subdir); + QFETCH(QStringList, arguments); + + if(m_checkXMLBlacklist.contains(subdir)) + return; + + arguments.prepend("-xml"); + arguments.prepend("-flush"); + + QProcess proc; + proc.setEnvironment(QStringList("")); + proc.start(subdir + "/tst_" + subdir, arguments); + QVERIFY(proc.waitForFinished()); + + QByteArray out(proc.readAllStandardOutput()); + QByteArray err(proc.readAllStandardError()); + + /* Some platforms decides to output a message for uncaught exceptions. For instance, + * this is what windows platforms says: + * "This application has requested the Runtime to terminate it in an unusual way. + * Please contact the application's support team for more information." */ + if(subdir != QLatin1String("exception") && subdir != QLatin1String("fetchbogus")) + QVERIFY2(err.isEmpty(), err.constData()); + + QXmlStreamReader reader(out); + + while(!reader.atEnd()) + reader.readNext(); + + QVERIFY2(!reader.error(), qPrintable(QString("line %1, col %2: %3") + .arg(reader.lineNumber()) + .arg(reader.columnNumber()) + .arg(reader.errorString()) + )); +} + +void tst_Selftests::checkXunitxml() const +{ + QFETCH(QString, subdir); + QFETCH(QStringList, arguments); + + if(m_checkXunitBlacklist.contains(subdir)) + return; + + arguments.prepend("-xunitxml"); + arguments.prepend("-flush"); + + QProcess proc; + proc.setEnvironment(QStringList("")); + proc.start(subdir + "/tst_" + subdir, arguments); + QVERIFY(proc.waitForFinished()); + + QByteArray out(proc.readAllStandardOutput()); + QByteArray err(proc.readAllStandardError()); + +// qDebug()<<out; + + /* Some platforms decides to output a message for uncaught exceptions. For instance, + * this is what windows platforms says: + * "This application has requested the Runtime to terminate it in an unusual way. + * Please contact the application's support team for more information." */ + if(subdir != QLatin1String("exception") && subdir != QLatin1String("fetchbogus")) + QVERIFY2(err.isEmpty(), err.constData()); + + QXmlStreamReader reader(out); + + while(!reader.atEnd()) + reader.readNext(); + + QVERIFY2(!reader.error(), qPrintable(QString("line %1, col %2: %3") + .arg(reader.lineNumber()) + .arg(reader.columnNumber()) + .arg(reader.errorString()) + )); +} + +void tst_Selftests::checkXunitxml_data() +{ + checkXML_data(); +} + +void tst_Selftests::checkXML_data() +{ + runSubTest_data(); + QTest::newRow("badxml 1") << "badxml" << QStringList(); + QTest::newRow("badxml 2") << "badxml" << (QStringList() << "-badstring" << "0"); + QTest::newRow("badxml 3") << "badxml" << (QStringList() << "-badstring" << "1"); + QTest::newRow("badxml 4") << "badxml" << (QStringList() << "-badstring" << "2"); + QTest::newRow("badxml 5") << "badxml" << (QStringList() << "-badstring" << "3"); +} + +/* Parse line into the BenchmarkResult it represents. */ +BenchmarkResult BenchmarkResult::parse(QString const& line, QString* error) +{ + if (error) *error = QString(); + BenchmarkResult out; + + QString remaining = line.trimmed(); + + if (remaining.isEmpty()) { + if (error) *error = "Line is empty"; + return out; + } + + /* This code avoids using a QRegExp because QRegExp might be broken. */ + + /* Sample format: 4,000 msec per iteration (total: 4000, iterations: 1) */ + + QString sFirstNumber; + while (!remaining.isEmpty() && !remaining.at(0).isSpace()) { + sFirstNumber += remaining.at(0); + remaining.remove(0,1); + } + remaining = remaining.trimmed(); + + /* 4,000 -> 4000 */ + sFirstNumber.remove(','); + + /* Should now be parseable as floating point */ + bool ok; + double firstNumber = sFirstNumber.toDouble(&ok); + if (!ok) { + if (error) *error = sFirstNumber + " (at beginning of line) is not a valid number"; + return out; + } + + /* Remaining: msec per iteration (total: 4000, iterations: 1) */ + static const char periterbit[] = " per iteration (total: "; + QString unit; + while (!remaining.startsWith(periterbit) && !remaining.isEmpty()) { + unit += remaining.at(0); + remaining.remove(0,1); + } + if (remaining.isEmpty()) { + if (error) *error = "Could not find pattern: '<unit> per iteration (total: '"; + return out; + } + + remaining = remaining.mid(sizeof(periterbit)-1); + + /* Remaining: 4000, iterations: 1) */ + static const char itersbit[] = ", iterations: "; + QString sTotal; + while (!remaining.startsWith(itersbit) && !remaining.isEmpty()) { + sTotal += remaining.at(0); + remaining.remove(0,1); + } + if (remaining.isEmpty()) { + if (error) *error = "Could not find pattern: '<number>, iterations: '"; + return out; + } + + remaining = remaining.mid(sizeof(itersbit)-1); + + qint64 total = sTotal.toLongLong(&ok); + if (!ok) { + if (error) *error = sTotal + " (total) is not a valid integer"; + return out; + } + + /* Remaining: 1) */ + QString sIters; + while (remaining != QLatin1String(")") && !remaining.isEmpty()) { + sIters += remaining.at(0); + remaining.remove(0,1); + } + if (remaining.isEmpty()) { + if (error) *error = "Could not find pattern: '<num>)'"; + return out; + } + qint64 iters = sIters.toLongLong(&ok); + if (!ok) { + if (error) *error = sIters + " (iterations) is not a valid integer"; + return out; + } + + double calcFirstNumber = double(total)/double(iters); + if (!qFuzzyCompare(firstNumber, calcFirstNumber)) { + if (error) *error = QString("total/iters is %1, but benchlib output result as %2").arg(calcFirstNumber).arg(firstNumber); + return out; + } + + out.total = total; + out.unit = unit; + out.iterations = iters; + return out; +} + +QTEST_MAIN(tst_Selftests) + +#include "tst_selftests.moc" diff --git a/tests/auto/selftests/updateBaselines.sh b/tests/auto/selftests/updateBaselines.sh new file mode 100755 index 0000000..a0f22e6 --- /dev/null +++ b/tests/auto/selftests/updateBaselines.sh @@ -0,0 +1,34 @@ +# Be *really* sure that your fix is right, before running this script. + +tests=" \ + cmptest \ + cmptest \ + cmptest \ + datatable \ + datetime \ + expectfail \ + expectfail \ + globaldata \ + globaldata \ + maxwarnings \ + multiexec \ + singleskip \ + qexecstringlist \ + differentexec \ + skip \ + skip \ + skipglobal \ + sleep \ + strcmp \ + subtest \ + warnings" + +for test in $tests; do + echo "Updating $test" + cd $test + baseline="../expected_"$test".txt" + p4 edit $baseline + ./tst_$test > ../expected_"$test".txt + p4 revert -a $baseline + cd .. +done diff --git a/tests/auto/selftests/waitwithoutgui/tst_waitwithoutgui.cpp b/tests/auto/selftests/waitwithoutgui/tst_waitwithoutgui.cpp new file mode 100644 index 0000000..e43277f --- /dev/null +++ b/tests/auto/selftests/waitwithoutgui/tst_waitwithoutgui.cpp @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtTest/QtTest> +#include <QTextStream> +#include <QCoreApplication> + +int main(int argc, char **argv) +{ + QCoreApplication app(argc, argv); + + QTextStream out(stdout); + + out << "We just output something such that there's a baseline to compare against." << endl; + + /* Simply call qWait(). */ + QTest::qWait(100); + + out << "Finished waiting!" << endl; + + return 0; +} + diff --git a/tests/auto/selftests/waitwithoutgui/waitwithoutgui.pro b/tests/auto/selftests/waitwithoutgui/waitwithoutgui.pro new file mode 100644 index 0000000..8cdf7cc --- /dev/null +++ b/tests/auto/selftests/waitwithoutgui/waitwithoutgui.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +QT -= gui +SOURCES += tst_waitwithoutgui.cpp + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/warnings/tst_warnings.cpp b/tests/auto/selftests/warnings/tst_warnings.cpp new file mode 100644 index 0000000..8d5f276 --- /dev/null +++ b/tests/auto/selftests/warnings/tst_warnings.cpp @@ -0,0 +1,96 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include <QtCore> +#include <QtTest/QtTest> + +class tst_Warnings: public QObject +{ + Q_OBJECT +private slots: + void testWarnings(); + void testMissingWarnings(); +}; + +void tst_Warnings::testWarnings() +{ + printf("testWarnings 1: next line prints \"Warning\"\n"); + qWarning("Warning"); + printf("testWarnings 2: next line prints nothing\n"); + + QTest::ignoreMessage(QtWarningMsg, "Warning"); + qWarning("Warning"); + printf("testWarnings 3: next line prints \"Warning\"\n"); + + qWarning("Warning"); + printf("testWarnings 4: over\n"); + + printf("testWarnings 5: next line prints \"Debug\"\n"); + qDebug("Debug"); + printf("testWarnings 6: next line prints nothing\n"); + + QTest::ignoreMessage(QtDebugMsg, "Debug"); + qDebug("Debug"); + printf("testWarnings 7: next line prints \"Debug\"\n"); + + qDebug("Debug"); + printf("testWarnings 8: next comes \"Baba\" twice\n"); + + QTest::ignoreMessage(QtDebugMsg, "Bubu"); + qDebug("Baba"); + qDebug("Bubu"); + qDebug("Baba"); + +} + +void tst_Warnings::testMissingWarnings() +{ + QTest::ignoreMessage(QtWarningMsg, "Warning0"); + QTest::ignoreMessage(QtWarningMsg, "Warning1"); + QTest::ignoreMessage(QtWarningMsg, "Warning2"); + + qWarning("Warning2"); +} + +QTEST_MAIN(tst_Warnings) + +#include "tst_warnings.moc" diff --git a/tests/auto/selftests/warnings/warnings.pro b/tests/auto/selftests/warnings/warnings.pro new file mode 100644 index 0000000..9ae22d3 --- /dev/null +++ b/tests/auto/selftests/warnings/warnings.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +SOURCES += tst_warnings.cpp +QT = core + +mac:CONFIG -= app_bundle +CONFIG -= debug_and_release_target + + diff --git a/tests/auto/selftests/xunit/tst_xunit b/tests/auto/selftests/xunit/tst_xunit Binary files differnew file mode 100755 index 0000000..31d03a8 --- /dev/null +++ b/tests/auto/selftests/xunit/tst_xunit diff --git a/tests/auto/selftests/xunit/tst_xunit.cpp b/tests/auto/selftests/xunit/tst_xunit.cpp new file mode 100644 index 0000000..b42582e --- /dev/null +++ b/tests/auto/selftests/xunit/tst_xunit.cpp @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +****************************************************************************/ + +#include <QtTest/QtTest> + +class tst_Xunit : public QObject +{ + Q_OBJECT + +public: + tst_Xunit(); + +private slots: + void testFunc1(); + void testFunc2(); + void testFunc3(); + void testFunc4(); +}; + +tst_Xunit::tst_Xunit() +{ +} + +void tst_Xunit::testFunc1() +{ + QWARN("just a QWARN() !"); + QCOMPARE(1,1); +} + +void tst_Xunit::testFunc2() +{ + qDebug("a qDebug() call!"); + QCOMPARE(2, 3); +} + +void tst_Xunit::testFunc3() +{ + QSKIP("skipping this function!", SkipAll); +} + +void tst_Xunit::testFunc4() +{ + QFAIL("a forced failure!"); +} + + +QTEST_APPLESS_MAIN(tst_Xunit) +#include "tst_xunit.moc" diff --git a/tests/auto/selftests/xunit/xunit.pro b/tests/auto/selftests/xunit/xunit.pro new file mode 100644 index 0000000..eb98c2a --- /dev/null +++ b/tests/auto/selftests/xunit/xunit.pro @@ -0,0 +1,12 @@ +load(qttest_p4) +SOURCES += tst_xunit.cpp + +wince*: { + addImages.sources = images/* + addImages.path = images + DEPLOYMENT += addImages + DEFINES += SRCDIR=\\\".\\\" +} else { + contains(QT_CONFIG, qt3support): QT += qt3support + DEFINES += SRCDIR=\\\"$$PWD\\\" +} |