diff options
Diffstat (limited to 'src/testlib/qtest.h')
-rw-r--r-- | src/testlib/qtest.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/testlib/qtest.h b/src/testlib/qtest.h index 3906eddb79..ebd94939ce 100644 --- a/src/testlib/qtest.h +++ b/src/testlib/qtest.h @@ -374,9 +374,30 @@ QT_END_NAMESPACE # define QTEST_SET_MAIN_SOURCE_PATH QTest::setMainSourcePath(__FILE__); #endif +// Hooks for coverage-testing of QTestLib itself: +#if QT_CONFIG(testlib_selfcover) && defined(__COVERAGESCANNER__) +struct QtCoverageScanner +{ + QtCoverageScanner(const char *name) + { + __coveragescanner_clear(); + __coveragescanner_testname(name); + } + ~QtCoverageScanner() + { + __coveragescanner_save(); + __coveragescanner_testname(""); + } +}; +#define TESTLIB_SELFCOVERAGE_START(name) QtCoverageScanner _qtCoverageScanner(name); +#else +#define TESTLIB_SELFCOVERAGE_START(name) +#endif + #define QTEST_APPLESS_MAIN(TestObject) \ int main(int argc, char *argv[]) \ { \ + TESTLIB_SELFCOVERAGE_START(TestObject) \ TestObject tc; \ QTEST_SET_MAIN_SOURCE_PATH \ return QTest::qExec(&tc, argc, argv); \ @@ -406,6 +427,7 @@ int main(int argc, char *argv[]) \ #define QTEST_MAIN(TestObject) \ int main(int argc, char *argv[]) \ { \ + TESTLIB_SELFCOVERAGE_START(#TestObject) \ QApplication app(argc, argv); \ app.setAttribute(Qt::AA_Use96Dpi, true); \ QTEST_DISABLE_KEYPAD_NAVIGATION \ @@ -421,6 +443,7 @@ int main(int argc, char *argv[]) \ #define QTEST_MAIN(TestObject) \ int main(int argc, char *argv[]) \ { \ + TESTLIB_SELFCOVERAGE_START(#TestObject) \ QGuiApplication app(argc, argv); \ app.setAttribute(Qt::AA_Use96Dpi, true); \ TestObject tc; \ @@ -433,6 +456,7 @@ int main(int argc, char *argv[]) \ #define QTEST_MAIN(TestObject) \ int main(int argc, char *argv[]) \ { \ + TESTLIB_SELFCOVERAGE_START(#TestObject) \ QCoreApplication app(argc, argv); \ app.setAttribute(Qt::AA_Use96Dpi, true); \ TestObject tc; \ @@ -445,6 +469,7 @@ int main(int argc, char *argv[]) \ #define QTEST_GUILESS_MAIN(TestObject) \ int main(int argc, char *argv[]) \ { \ + TESTLIB_SELFCOVERAGE_START(#TestObject) \ QCoreApplication app(argc, argv); \ app.setAttribute(Qt::AA_Use96Dpi, true); \ TestObject tc; \ |