diff options
author | Jerome Pasion <jerome.pasion@digia.com> | 2012-11-02 14:41:27 +0100 |
---|---|---|
committer | Jerome Pasion <jerome.pasion@digia.com> | 2012-11-02 14:41:27 +0100 |
commit | c808dd27459e030fde0577feb8ba06e3bd465526 (patch) | |
tree | 4bf898dc4a88e2b03c9716f940638a2e01c6c0ce /src/testlib | |
parent | d9d8845d507a6bdbc9c9f24c0d9d86dca513461d (diff) | |
parent | 300534fc214f2547a63594ce0891e9a54c8f33ca (diff) |
Merge branch 'master' of ssh://codereview.qt-project.org/qt/qtbase into newdocs
Change-Id: I7e6cee190a341901dfbf8effb54ebccb91bf7a17
Diffstat (limited to 'src/testlib')
-rw-r--r-- | src/testlib/qtestcase.cpp | 16 | ||||
-rw-r--r-- | src/testlib/qtestlog.cpp | 10 | ||||
-rw-r--r-- | src/testlib/qtestsystem.h | 6 |
3 files changed, 25 insertions, 7 deletions
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 729ae49aaf..55e6f9b622 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -1202,12 +1202,15 @@ Q_TESTLIB_EXPORT bool printAvailableFunctions = false; Q_TESTLIB_EXPORT QStringList testFunctions; Q_TESTLIB_EXPORT QStringList testTags; -static void qPrintTestSlots(FILE *stream) +static void qPrintTestSlots(FILE *stream, const char *filter = 0) { for (int i = 0; i < QTest::currentTestObject->metaObject()->methodCount(); ++i) { QMetaMethod sl = QTest::currentTestObject->metaObject()->method(i); - if (isValidSlot(sl)) - fprintf(stream, "%s\n", sl.methodSignature().constData()); + if (isValidSlot(sl)) { + const QByteArray signature = sl.methodSignature(); + if (!filter || QString::fromLatin1(signature).contains(QLatin1String(filter), Qt::CaseInsensitive)) + fprintf(stream, "%s\n", signature.constData()); + } } } @@ -1569,9 +1572,10 @@ Q_TESTLIB_EXPORT void qtest_qParseArgs(int argc, char *argv[], bool qml) qsnprintf(buf + off, qMin(512 - off, 3), "()"); // append "()" int idx = QTest::currentTestObject->metaObject()->indexOfMethod(buf); if (idx < 0 || !isValidSlot(QTest::currentTestObject->metaObject()->method(idx))) { - fprintf(stderr, "Unknown testfunction: '%s'\n", buf); - fprintf(stderr, "Available testfunctions:\n"); - qPrintTestSlots(stderr); + fprintf(stderr, "Unknown test function: '%s'. Possible matches:\n", buf); + buf[off] = 0; + qPrintTestSlots(stderr, buf); + fprintf(stderr, "\n%s -functions\nlists all available test functions.\n", argv[0]); exit(1); } testFuncs[testFuncCount].set(idx, data); diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp index c56a00237b..a337a81959 100644 --- a/src/testlib/qtestlog.cpp +++ b/src/testlib/qtestlog.cpp @@ -238,6 +238,12 @@ namespace QTest { return false; } +// don't warn about qInstallMsgHandler +#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 406) && !defined(Q_CC_INTEL) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif + static void messageHandler(QtMsgType type, const char *msg) { static QBasicAtomicInt counter = Q_BASIC_ATOMIC_INITIALIZER(QTest::maxWarnings); @@ -287,6 +293,10 @@ namespace QTest { break; } } + +#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 406) && !defined(Q_CC_INTEL) +# pragma GCC diagnostic pop +#endif } void QTestLog::enterTestFunction(const char* function) diff --git a/src/testlib/qtestsystem.h b/src/testlib/qtestsystem.h index 2f3f499d47..094570bb8c 100644 --- a/src/testlib/qtestsystem.h +++ b/src/testlib/qtestsystem.h @@ -45,7 +45,9 @@ #include <QtTest/qtestcase.h> #include <QtCore/qcoreapplication.h> #include <QtCore/qelapsedtimer.h> -#include <QtGui/QWindow> +#ifdef QT_GUI_LIB +# include <QtGui/QWindow> +#endif #ifdef QT_WIDGETS_LIB # include <QtWidgets/QWidget> #endif @@ -69,6 +71,7 @@ namespace QTest } while (timer.elapsed() < ms); } +#ifdef QT_GUI_LIB inline static bool qWaitForWindowActive(QWindow *window, int timeout = 1000) { QElapsedTimer timer; @@ -112,6 +115,7 @@ namespace QTest } return window->isExposed(); } +#endif #ifdef QT_WIDGETS_LIB inline static bool qWaitForWindowActive(QWidget *widget, int timeout = 1000) |