diff options
Diffstat (limited to 'src/testlib')
27 files changed, 108 insertions, 110 deletions
diff --git a/src/testlib/doc/src/qttestlib-manual.qdoc b/src/testlib/doc/src/qttestlib-manual.qdoc index 70bc6112c0..9d4a34c9d4 100644 --- a/src/testlib/doc/src/qttestlib-manual.qdoc +++ b/src/testlib/doc/src/qttestlib-manual.qdoc @@ -247,6 +247,12 @@ 2000. \li \c -nocrashhandler \br Disables the crash handler on Unix platforms. + \li \c -platform \e name \br + This command line argument applies to all Qt applications, but might be + especially useful in the context of auto-testing. By using the "offscreen" + platform plugin (-platform offscreen) it's possible to have tests that use + QWidget or QWindow run without showing anything on the screen. Currently + the offscreen platform plugin is only fully supported on X11. \endlist \section3 Benchmarking Options diff --git a/src/testlib/qbenchmark.h b/src/testlib/qbenchmark.h index f166955249..ea5023c095 100644 --- a/src/testlib/qbenchmark.h +++ b/src/testlib/qbenchmark.h @@ -45,8 +45,6 @@ #include <QtTest/qtest_global.h> #include <QtTest/qbenchmarkmetric.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -94,6 +92,4 @@ namespace QTest QT_END_NAMESPACE -QT_END_HEADER - #endif // QBENCHMARK_H diff --git a/src/testlib/qbenchmarkmetric.h b/src/testlib/qbenchmarkmetric.h index 9a59156e66..3de73f6f87 100644 --- a/src/testlib/qbenchmarkmetric.h +++ b/src/testlib/qbenchmarkmetric.h @@ -44,8 +44,6 @@ #include <QtTest/qtest_global.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -67,6 +65,4 @@ enum QBenchmarkMetric { QT_END_NAMESPACE -QT_END_HEADER - #endif // QBENCHMARK_H diff --git a/src/testlib/qbenchmarkmetric_p.h b/src/testlib/qbenchmarkmetric_p.h index ad819e8757..0af2ed2d1a 100644 --- a/src/testlib/qbenchmarkmetric_p.h +++ b/src/testlib/qbenchmarkmetric_p.h @@ -56,8 +56,6 @@ #include <QtTest/qtest_global.h> #include <QtTest/qbenchmarkmetric.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -68,6 +66,4 @@ namespace QTest { QT_END_NAMESPACE -QT_END_HEADER - #endif // QBENCHMARK_H diff --git a/src/testlib/qsignalspy.h b/src/testlib/qsignalspy.h index 0323fa111f..72a5df1ed9 100644 --- a/src/testlib/qsignalspy.h +++ b/src/testlib/qsignalspy.h @@ -50,8 +50,6 @@ #include <QtCore/qvector.h> #include <QtTest/qtesteventloop.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -97,7 +95,7 @@ public: return; } sig = ba; - initArgs(mo->method(sigIndex)); + initArgs(mo->method(sigIndex), obj); } inline bool isValid() const { return !sig.isEmpty(); } @@ -131,10 +129,23 @@ public: private: void initArgs(const QMetaMethod &member) { + initArgs(member, 0); + } + + void initArgs(const QMetaMethod &member, const QObject *obj) + { const QList<QByteArray> params = member.parameterTypes(); args.reserve(params.size()); for (int i = 0; i < params.count(); ++i) { - const int tp = QMetaType::type(params.at(i).constData()); + int tp = QMetaType::type(params.at(i).constData()); + if (tp == QMetaType::UnknownType && obj) { + void *argv[] = { &tp, &i }; + QMetaObject::metacall(const_cast<QObject*>(obj), + QMetaObject::RegisterMethodArgumentMetaType, + member.methodIndex(), argv); + if (tp == -1) + tp = QMetaType::UnknownType; + } if (tp == QMetaType::UnknownType) { Q_ASSERT(tp != QMetaType::Void); // void parameter => metaobject is corrupt qWarning("Don't know how to handle '%s', use qRegisterMetaType to register it.", @@ -172,6 +183,4 @@ private: QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/qtest.h b/src/testlib/qtest.h index 6d130af27c..d15e432bd5 100644 --- a/src/testlib/qtest.h +++ b/src/testlib/qtest.h @@ -60,8 +60,6 @@ #include <QtCore/qrect.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -186,9 +184,9 @@ inline bool qCompare(QLatin1String const &t1, QString const &t2, const char *act return qCompare(QString(t1), t2, actual, expected, file, line); } -template<> -inline bool qCompare(QStringList const &t1, QStringList const &t2, - const char *actual, const char *expected, const char *file, int line) +template <typename T> +inline bool qCompare(QList<T> const &t1, QList<T> const &t2, const char *actual, const char *expected, + const char *file, int line) { char msg[1024]; msg[0] = '\0'; @@ -196,23 +194,30 @@ inline bool qCompare(QStringList const &t1, QStringList const &t2, const int actualSize = t1.count(); const int expectedSize = t2.count(); if (actualSize != expectedSize) { - qsnprintf(msg, sizeof(msg), "Compared QStringLists have different sizes.\n" + qsnprintf(msg, sizeof(msg), "Compared lists have different sizes.\n" " Actual (%s) size: '%d'\n" " Expected (%s) size: '%d'", actual, actualSize, expected, expectedSize); isOk = false; } for (int i = 0; isOk && i < actualSize; ++i) { - if (t1.at(i) != t2.at(i)) { - qsnprintf(msg, sizeof(msg), "Compared QStringLists differ at index %d.\n" + if (!(t1.at(i) == t2.at(i))) { + qsnprintf(msg, sizeof(msg), "Compared lists differ at index %d.\n" " Actual (%s): '%s'\n" - " Expected (%s): '%s'", i, actual, t1.at(i).toLatin1().constData(), - expected, t2.at(i).toLatin1().constData()); + " Expected (%s): '%s'", i, actual, toString(t1.at(i)), + expected, toString(t2.at(i))); isOk = false; } } return compare_helper(isOk, msg, 0, 0, actual, expected, file, line); } +template <> +inline bool qCompare(QStringList const &t1, QStringList const &t2, const char *actual, const char *expected, + const char *file, int line) +{ + return qCompare<QString>(t1, t2, actual, expected, file, line); +} + template <typename T> inline bool qCompare(QFlags<T> const &t1, T const &t2, const char *actual, const char *expected, const char *file, int line) @@ -227,6 +232,48 @@ inline bool qCompare(QFlags<T> const &t1, int const &t2, const char *actual, con return qCompare(int(t1), t2, actual, expected, file, line); } +template<> +inline bool qCompare(qint64 const &t1, qint32 const &t2, const char *actual, + const char *expected, const char *file, int line) +{ + return qCompare(t1, static_cast<qint64>(t2), actual, expected, file, line); +} + +template<> +inline bool qCompare(qint64 const &t1, quint32 const &t2, const char *actual, + const char *expected, const char *file, int line) +{ + return qCompare(t1, static_cast<qint64>(t2), actual, expected, file, line); +} + +template<> +inline bool qCompare(quint64 const &t1, quint32 const &t2, const char *actual, + const char *expected, const char *file, int line) +{ + return qCompare(t1, static_cast<quint64>(t2), actual, expected, file, line); +} + +template<> +inline bool qCompare(qint32 const &t1, qint64 const &t2, const char *actual, + const char *expected, const char *file, int line) +{ + return qCompare(static_cast<qint64>(t1), t2, actual, expected, file, line); +} + +template<> +inline bool qCompare(quint32 const &t1, qint64 const &t2, const char *actual, + const char *expected, const char *file, int line) +{ + return qCompare(static_cast<qint64>(t1), t2, actual, expected, file, line); +} + +template<> +inline bool qCompare(quint32 const &t1, quint64 const &t2, const char *actual, + const char *expected, const char *file, int line) +{ + return qCompare(static_cast<quint64>(t1), t2, actual, expected, file, line); +} + } QT_END_NAMESPACE @@ -294,6 +341,4 @@ int main(int argc, char *argv[]) \ return QTest::qExec(&tc, argc, argv); \ } -QT_END_HEADER - #endif diff --git a/src/testlib/qtest_global.h b/src/testlib/qtest_global.h index 9e59713663..ac5a0b23f5 100644 --- a/src/testlib/qtest_global.h +++ b/src/testlib/qtest_global.h @@ -44,8 +44,6 @@ #include <QtCore/qglobal.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -76,6 +74,4 @@ namespace QTest QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/qtest_gui.h b/src/testlib/qtest_gui.h index 1962344f12..a9ac7777c3 100644 --- a/src/testlib/qtest_gui.h +++ b/src/testlib/qtest_gui.h @@ -69,8 +69,6 @@ #pragma qt_no_master_include #endif -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -149,6 +147,4 @@ inline bool qCompare(QPixmap const &t1, QPixmap const &t2, const char *actual, c QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/qtest_widgets.h b/src/testlib/qtest_widgets.h index 265b3a4703..1161b84edc 100644 --- a/src/testlib/qtest_widgets.h +++ b/src/testlib/qtest_widgets.h @@ -57,11 +57,9 @@ #pragma qt_no_master_include #endif -QT_BEGIN_HEADER QT_BEGIN_NAMESPACE QT_END_NAMESPACE -QT_END_HEADER #endif diff --git a/src/testlib/qtestaccessible.h b/src/testlib/qtestaccessible.h index d2f57a0ced..24fc1d7991 100644 --- a/src/testlib/qtestaccessible.h +++ b/src/testlib/qtestaccessible.h @@ -59,8 +59,6 @@ #include <QtTest/qtest_global.h> #include <QtTest/qtestsystem.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -266,7 +264,5 @@ private: QT_END_NAMESPACE -QT_END_HEADER - #endif // QT_NO_ACCESSIBILITY #endif // QTESTACCESSIBLE_H diff --git a/src/testlib/qtestassert.h b/src/testlib/qtestassert.h index 7e88fa9d4d..c6942534c5 100644 --- a/src/testlib/qtestassert.h +++ b/src/testlib/qtestassert.h @@ -44,8 +44,6 @@ #include <QtCore/qglobal.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -55,6 +53,4 @@ QT_BEGIN_NAMESPACE QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 987c5d88b2..f9f21c6a8f 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -2684,6 +2684,10 @@ bool QTest::compare_string_helper(const char *t1, const char *t2, const char *ac \internal */ +/*! \fn bool QTest::qCompare(QList<T> const &t1, QList<T> const &t2, const char *actual, const char *expected, const char *file, int line) + \internal +*/ + /*! \fn bool QTest::qCompare(QFlags<T> const &t1, T const &t2, const char *actual, const char *expected, const char *file, int line) \internal */ @@ -2692,6 +2696,30 @@ bool QTest::compare_string_helper(const char *t1, const char *t2, const char *ac \internal */ +/*! \fn bool QTest::qCompare(qint64 const &t1, qint32 const &t2, const char *actual, const char *expected, const char *file, int line) + \internal +*/ + +/*! \fn bool QTest::qCompare(qint64 const &t1, quint32 const &t2, const char *actual, const char *expected, const char *file, int line) + \internal +*/ + +/*! \fn bool QTest::qCompare(quint64 const &t1, quint32 const &t2, const char *actual, const char *expected, const char *file, int line) + \internal +*/ + +/*! \fn bool QTest::qCompare(qint32 const &t1, qint64 const &t2, const char *actual, const char *expected, const char *file, int line) + \internal +*/ + +/*! \fn bool QTest::qCompare(quint32 const &t1, qint64 const &t2, const char *actual, const char *expected, const char *file, int line) + \internal +*/ + +/*! \fn bool QTest::qCompare(quint32 const &t1, quint64 const &t2, const char *actual, const char *expected, const char *file, int line) + \internal +*/ + /*! \fn bool QTest::qCompare(bool const &t1, int const &t2, const char *actual, const char *expected, const char *file, int line) \internal */ diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h index a13bd49338..6b5e7a574b 100644 --- a/src/testlib/qtestcase.h +++ b/src/testlib/qtestcase.h @@ -51,8 +51,6 @@ #include <string.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -352,6 +350,4 @@ namespace QTest QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/qtestcoreelement_p.h b/src/testlib/qtestcoreelement_p.h index 22aa676263..023c50ab2c 100644 --- a/src/testlib/qtestcoreelement_p.h +++ b/src/testlib/qtestcoreelement_p.h @@ -56,8 +56,6 @@ #include <QtTest/private/qtestcorelist_p.h> #include <QtTest/private/qtestelementattribute_p.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -174,6 +172,4 @@ const QTestElementAttribute *QTestCoreElement<ElementType>::attribute(QTest::Att QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/qtestcorelist_p.h b/src/testlib/qtestcorelist_p.h index b5044df8ed..bd08ede949 100644 --- a/src/testlib/qtestcorelist_p.h +++ b/src/testlib/qtestcorelist_p.h @@ -55,8 +55,6 @@ #include <QtCore/qglobal.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -141,6 +139,4 @@ int QTestCoreList<T>::count() QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/qtestdata.h b/src/testlib/qtestdata.h index 6c4ef15bdc..d1bc3e7b4e 100644 --- a/src/testlib/qtestdata.h +++ b/src/testlib/qtestdata.h @@ -47,8 +47,6 @@ #include <QtCore/qmetatype.h> #include <QtCore/qstring.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -99,6 +97,4 @@ inline QTestData &operator<<(QTestData &data, const QStringBuilder<A, B> &value) QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/qtestelement_p.h b/src/testlib/qtestelement_p.h index 77204c4ce5..71f05f94af 100644 --- a/src/testlib/qtestelement_p.h +++ b/src/testlib/qtestelement_p.h @@ -55,8 +55,6 @@ #include <QtTest/private/qtestcoreelement_p.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -80,6 +78,4 @@ class QTestElement: public QTestCoreElement<QTestElement> QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/qtestelementattribute_p.h b/src/testlib/qtestelementattribute_p.h index 54afb7cd93..c84b6d07c8 100644 --- a/src/testlib/qtestelementattribute_p.h +++ b/src/testlib/qtestelementattribute_p.h @@ -55,8 +55,6 @@ #include <QtTest/private/qtestcorelist_p.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -116,6 +114,4 @@ class QTestElementAttribute: public QTestCoreList<QTestElementAttribute> QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/qtestevent.h b/src/testlib/qtestevent.h index 20f988b216..a96cfa7370 100644 --- a/src/testlib/qtestevent.h +++ b/src/testlib/qtestevent.h @@ -58,8 +58,6 @@ #include <stdlib.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -227,6 +225,4 @@ QT_END_NAMESPACE Q_DECLARE_METATYPE(QTestEventList) -QT_END_HEADER - #endif diff --git a/src/testlib/qtesteventloop.h b/src/testlib/qtesteventloop.h index 15356bc445..b70954cf66 100644 --- a/src/testlib/qtesteventloop.h +++ b/src/testlib/qtesteventloop.h @@ -49,8 +49,6 @@ #include <QtCore/qobject.h> #include <QtCore/qpointer.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -131,6 +129,4 @@ inline void QTestEventLoop::timerEvent(QTimerEvent *e) QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/qtestkeyboard.h b/src/testlib/qtestkeyboard.h index b1f135a722..878806737e 100644 --- a/src/testlib/qtestkeyboard.h +++ b/src/testlib/qtestkeyboard.h @@ -62,8 +62,6 @@ #include <QtWidgets/qapplication.h> #endif -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE Q_GUI_EXPORT void qt_handleKeyEvent(QWindow *w, QEvent::Type t, int k, Qt::KeyboardModifiers mods, const QString & text = QString(), bool autorep = false, ushort count = 1); @@ -298,6 +296,4 @@ namespace QTest QT_END_NAMESPACE -QT_END_HEADER - #endif // QTESTKEYBOARD_H diff --git a/src/testlib/qtestmouse.h b/src/testlib/qtestmouse.h index c24b09b14c..ea57ac5b8c 100644 --- a/src/testlib/qtestmouse.h +++ b/src/testlib/qtestmouse.h @@ -54,14 +54,13 @@ #include <QtCore/qpoint.h> #include <QtCore/qstring.h> #include <QtGui/qevent.h> +#include <QtGui/qwindow.h> #ifdef QT_WIDGETS_LIB #include <QtWidgets/qapplication.h> #include <QtWidgets/qwidget.h> #endif -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE Q_GUI_EXPORT void qt_handleMouseEvent(QWindow *w, const QPointF & local, const QPointF & global, Qt::MouseButtons b, Qt::KeyboardModifiers mods = Qt::NoModifier); @@ -227,6 +226,4 @@ namespace QTest QT_END_NAMESPACE -QT_END_HEADER - #endif // QTESTMOUSE_H diff --git a/src/testlib/qtestspontaneevent.h b/src/testlib/qtestspontaneevent.h index ac8ea74cc2..45cc74e343 100644 --- a/src/testlib/qtestspontaneevent.h +++ b/src/testlib/qtestspontaneevent.h @@ -49,8 +49,6 @@ #pragma qt_no_master_include #endif -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -112,6 +110,4 @@ private: QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/qtestsystem.h b/src/testlib/qtestsystem.h index 5633b06e02..0625af0213 100644 --- a/src/testlib/qtestsystem.h +++ b/src/testlib/qtestsystem.h @@ -52,8 +52,6 @@ # include <QtWidgets/QWidget> #endif -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE namespace QTest @@ -145,7 +143,5 @@ namespace QTest QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/qtesttouch.h b/src/testlib/qtesttouch.h index a291507142..9a661b4ecd 100644 --- a/src/testlib/qtesttouch.h +++ b/src/testlib/qtesttouch.h @@ -53,12 +53,11 @@ #include <QtTest/qtestspontaneevent.h> #include <QtCore/qmap.h> #include <QtGui/qevent.h> +#include <QtGui/qwindow.h> #ifdef QT_WIDGETS_LIB #include <QtWidgets/qwidget.h> #endif -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE Q_GUI_EXPORT void qt_handleTouchEvent(QWindow *w, QTouchDevice *device, @@ -233,6 +232,4 @@ private: QT_END_NAMESPACE -QT_END_HEADER - #endif // QTESTTOUCH_H diff --git a/src/testlib/qtestxunitstreamer_p.h b/src/testlib/qtestxunitstreamer_p.h index e047f644d3..c3278b2b53 100644 --- a/src/testlib/qtestxunitstreamer_p.h +++ b/src/testlib/qtestxunitstreamer_p.h @@ -55,8 +55,6 @@ #include <QtCore/qglobal.h> -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -90,6 +88,4 @@ class QTestXunitStreamer QT_END_NAMESPACE -QT_END_HEADER - #endif diff --git a/src/testlib/testlib.pro b/src/testlib/testlib.pro index 6b74f23454..8c6972f6a3 100644 --- a/src/testlib/testlib.pro +++ b/src/testlib/testlib.pro @@ -74,9 +74,3 @@ mac { } load(qt_module) - -QMAKE_TARGET_PRODUCT = QTestLib -QMAKE_TARGET_DESCRIPTION = Qt \ - Unit \ - Testing \ - Library |