summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tools/appman/appman.cpp2
-rw-r--r--src/tools/testrunner/testrunner.cpp12
-rw-r--r--src/tools/testrunner/testrunner.h3
3 files changed, 10 insertions, 7 deletions
diff --git a/src/tools/appman/appman.cpp b/src/tools/appman/appman.cpp
index 3551ec20..151b91e9 100644
--- a/src/tools/appman/appman.cpp
+++ b/src/tools/appman/appman.cpp
@@ -111,7 +111,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
qInfo().nospace().noquote() << "Verbose mode is " << (cfg.verbose() ? "on" : "off")
<< " (change by (un)setting $AM_VERBOSE_TEST)\n TEST: " << cfg.mainQmlFile()
<< " in " << (cfg.forceMultiProcess() ? "multi" : "single") << "-process mode";
- return TestRunner::exec();
+ return TestRunner::exec(a.qmlEngine());
#else
return MainBase::exec();
#endif
diff --git a/src/tools/testrunner/testrunner.cpp b/src/tools/testrunner/testrunner.cpp
index e6988ffe..f2a5d6e7 100644
--- a/src/tools/testrunner/testrunner.cpp
+++ b/src/tools/testrunner/testrunner.cpp
@@ -93,20 +93,22 @@ void TestRunner::initialize(const QString &testFile, const QStringList &testRunn
// Register the test object and application manager test add-on
qmlRegisterSingletonType<AmTest>("QtApplicationManager.SystemUI", 2, 0, "AmTest", amTest);
-
- QTestRootObject::instance()->init();
}
-int TestRunner::exec()
+int TestRunner::exec(QQmlEngine *qmlEngine)
{
QEventLoop eventLoop;
- QTestRootObject::instance()->setWindowShown(true);
+ int typeId = qmlTypeId("QtTest", 1, 2, "QTestRootObject");
+ QTestRootObject* inst = qmlEngine->singletonInstance<QTestRootObject*>(typeId);
+ inst->init();
+
+ inst->setWindowShown(true);
if (QTest::printAvailableFunctions)
return 0;
- if (QTestRootObject::instance()->hasTestCase())
+ if (inst->hasTestCase())
eventLoop.exec();
QuickTestResult::setProgramName(nullptr);
diff --git a/src/tools/testrunner/testrunner.h b/src/tools/testrunner/testrunner.h
index 271c02c5..15de10c5 100644
--- a/src/tools/testrunner/testrunner.h
+++ b/src/tools/testrunner/testrunner.h
@@ -34,6 +34,7 @@
#include <QtAppManCommon/global.h>
#include <QStringList>
+QT_FORWARD_DECLARE_CLASS(QQmlEngine)
QT_BEGIN_NAMESPACE_AM
@@ -41,7 +42,7 @@ class TestRunner
{
public:
static void initialize(const QString &testFile, const QStringList &testRunnerArguments);
- static int exec();
+ static int exec(QQmlEngine *qmlEngine);
};
QT_END_NAMESPACE_AM