diff options
author | Jason McDonald <jason.mcdonald@nokia.com> | 2011-10-18 14:53:23 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-21 01:20:29 +0200 |
commit | 016cd01846539404a0eff1e3823fa2206fe2c9a9 (patch) | |
tree | 8971160e64893c8f674f209a49002aa59bfabdb0 /src/testlib/qtestcase.h | |
parent | 296bc328412f0cfec2318d04abd4717a4c70461c (diff) | |
download | qtbase-016cd01846539404a0eff1e3823fa2206fe2c9a9.tar.gz |
Remove QTest::SkipMode from qtestlib API.
When the SkipAll mode is used, tests only report a SKIP for the first
line of test data and subsequent lines are not reported at all. This
behaviour makes it impossible for anything post-processing test results
to accurately report test pass- and run- rates because they cannot see
how many lines of test data were skipped.
This commit removes SkipMode. QSKIPs in regular test functions and data
functions are treated the same as SkipSingle, so that every skipped line
of local or global test data is reported in the test log. QSKIPs
elsewhere are treated the same as SkipAll -- skipping in init() causes
the next test function to be skipped entirely, and skipping in
initTestCase() or initTestCase_data() causes all test functions to be
skipped.
This commit only changes qtestlib and the selftests. A further commit
will change the autotests to remove the SkipMode parameter from QSKIP
calls.
Note that the change in expected output for the globaldata selftest is
deliberate, as the QSKIP in the skipLocal test function has effectively
changed from SkipAll to SkipSingle.
Task-number: QTBUG-21851, QTBUG-21652
Change-Id: I7b1c53fe7ca9dde032810b789d967e2a402bbe5d
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Alex <alex.blasche@nokia.com>
Diffstat (limited to 'src/testlib/qtestcase.h')
-rw-r--r-- | src/testlib/qtestcase.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h index 3e0003505a..7ba9fd714b 100644 --- a/src/testlib/qtestcase.h +++ b/src/testlib/qtestcase.h @@ -47,6 +47,8 @@ #include <QtCore/qnamespace.h> #include <QtCore/qmetatype.h> +#include <string.h> + QT_BEGIN_HEADER QT_BEGIN_NAMESPACE @@ -110,9 +112,12 @@ do { \ QCOMPARE(__expr, __expected); \ } while (0) -#define QSKIP(statement, mode) \ +#define QSKIP(statement, ...) \ do {\ - QTest::qSkip(statement, QTest::mode, __FILE__, __LINE__);\ + if (strcmp(#__VA_ARGS__, "") != 0)\ + QTest::qWarn("The two argument version of QSKIP is deprecated and will be removed soon. "\ + "Please update this test by removing the second parameter.", __FILE__, __LINE__);\ + QTest::qSkip(statement, __FILE__, __LINE__);\ return;\ } while (0) @@ -162,7 +167,7 @@ namespace QTest Q_TESTLIB_EXPORT bool qVerify(bool statement, const char *statementStr, const char *description, const char *file, int line); Q_TESTLIB_EXPORT void qFail(const char *statementStr, const char *file, int line); - Q_TESTLIB_EXPORT void qSkip(const char *message, SkipMode mode, const char *file, int line); + Q_TESTLIB_EXPORT void qSkip(const char *message, const char *file, int line); Q_TESTLIB_EXPORT bool qExpectFail(const char *dataIndex, const char *comment, TestFailMode mode, const char *file, int line); Q_TESTLIB_EXPORT void qWarn(const char *message, const char *file = 0, int line = 0); |