summaryrefslogtreecommitdiffstats
path: root/src/testlib
diff options
context:
space:
mode:
authorJerome Pasion <jerome.pasion@digia.com>2012-11-02 14:41:27 +0100
committerJerome Pasion <jerome.pasion@digia.com>2012-11-02 14:41:27 +0100
commitc808dd27459e030fde0577feb8ba06e3bd465526 (patch)
tree4bf898dc4a88e2b03c9716f940638a2e01c6c0ce /src/testlib
parentd9d8845d507a6bdbc9c9f24c0d9d86dca513461d (diff)
parent300534fc214f2547a63594ce0891e9a54c8f33ca (diff)
Merge branch 'master' of ssh://codereview.qt-project.org/qt/qtbase into newdocs
Diffstat (limited to 'src/testlib')
-rw-r--r--src/testlib/qtestcase.cpp16
-rw-r--r--src/testlib/qtestlog.cpp10
-rw-r--r--src/testlib/qtestsystem.h6
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)