From abc174908ae3451f731064eed7c48b15560e298c Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Wed, 8 Dec 2010 10:30:48 +1000 Subject: Run tests that are not bound as resources --- src/quicktestlib/qdeclarativetest.cpp | 4 +++- src/quicktestlib/qdeclarativetest.h | 26 +++++++++++++++++++++++--- 2 files changed, 26 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/quicktestlib/qdeclarativetest.cpp b/src/quicktestlib/qdeclarativetest.cpp index 3eecb38..1e4c52f 100644 --- a/src/quicktestlib/qdeclarativetest.cpp +++ b/src/quicktestlib/qdeclarativetest.cpp @@ -71,13 +71,15 @@ private Q_SLOTS: void quit() { hasQuit = true; } }; -int qtest_quick_main(int argc, char **argv, const char *name, qtest_create_viewport createViewport) +int qtest_quick_main(int argc, char **argv, const char *name, qtest_create_viewport createViewport, const char *sourceDir) { QApplication app(argc, argv); // Determine where to look for the test data. If QTEST_QUICK_SOURCE_DIR // is set, then use that. Otherwise scan the application's resources. QString testPath = QString::fromLocal8Bit(qgetenv("QTEST_QUICK_SOURCE_DIR")); + if (testPath.isEmpty() && sourceDir) + testPath = QString::fromLocal8Bit(sourceDir); if (testPath.isEmpty()) testPath = QLatin1String(":/"); diff --git a/src/quicktestlib/qdeclarativetest.h b/src/quicktestlib/qdeclarativetest.h index ef9bb81..b76eb72 100644 --- a/src/quicktestlib/qdeclarativetest.h +++ b/src/quicktestlib/qdeclarativetest.h @@ -52,12 +52,14 @@ QT_BEGIN_NAMESPACE typedef QWidget *(*qtest_create_viewport)(); -Q_TEST_QUICK_EXPORT int qtest_quick_main(int argc, char **argv, const char *name, qtest_create_viewport createViewport); +Q_TEST_QUICK_EXPORT int qtest_quick_main(int argc, char **argv, const char *name, qtest_create_viewport createViewport, const char *sourceDir); + +#ifdef QTEST_QUICK_SOURCE_DIR #define QTEST_QUICK_MAIN(name) \ int main(int argc, char **argv) \ { \ - return qtest_quick_main(argc, argv, #name, 0); \ + return qtest_quick_main(argc, argv, #name, 0, QTEST_QUICK_SOURCE_DIR); \ } #define QTEST_QUICK_OPENGL_MAIN(name) \ @@ -67,11 +69,29 @@ Q_TEST_QUICK_EXPORT int qtest_quick_main(int argc, char **argv, const char *name } \ int main(int argc, char **argv) \ { \ - return qtest_quick_main(argc, argv, #name, name##_create_viewport); \ + return qtest_quick_main(argc, argv, #name, name##_create_viewport, QTEST_QUICK_SOURCE_DIR); \ } #else +#define QTEST_QUICK_MAIN(name) \ + int main(int argc, char **argv) \ + { \ + return qtest_quick_main(argc, argv, #name, 0, 0); \ + } + +#define QTEST_QUICK_OPENGL_MAIN(name) \ + static QWidget *name##_create_viewport() \ + { \ + return new QGLWidget(); \ + } \ + int main(int argc, char **argv) \ + { \ + return qtest_quick_main(argc, argv, #name, name##_create_viewport, 0); \ + } + +#endif + QT_END_NAMESPACE #endif -- cgit v1.2.3