summaryrefslogtreecommitdiffstats
path: root/tests/auto/core
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2020-02-27 09:59:07 +0000
committerMike Krus <mike.krus@kdab.com>2020-03-02 06:42:37 +0000
commitfaca25dd611b92d81463cfda935073f73adeeb39 (patch)
treeb20b37f4a83e7d9ba37298d2dd9d9b8ae00b6305 /tests/auto/core
parent5edb1cfb4322048797b8e8eea8ac531862331d95 (diff)
Add public API for working with jobs
Existing jobs used private API for doing work after jobs were run or controlling if running was required or not. Make this public so that new jobs in custom aspects don't need to use private API. Unfortunately, this requires changing the signature of one public method that mistakenly was using a private class as a parameter. Change-Id: Ie8315a0f98ec48f84650163b4ac713e7e6845a92 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'tests/auto/core')
-rw-r--r--tests/auto/core/qscheduler/tst_qscheduler.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/auto/core/qscheduler/tst_qscheduler.cpp b/tests/auto/core/qscheduler/tst_qscheduler.cpp
index 5d858a77a..29603c492 100644
--- a/tests/auto/core/qscheduler/tst_qscheduler.cpp
+++ b/tests/auto/core/qscheduler/tst_qscheduler.cpp
@@ -30,6 +30,7 @@
#include <Qt3DCore/qaspectjob.h>
#include <Qt3DCore/qabstractaspect.h>
#include <Qt3DCore/private/qaspectmanager_p.h>
+#include <Qt3DCore/private/qaspectengine_p.h>
#include <Qt3DCore/private/qscheduler_p.h>
#include <private/qabstractaspect_p.h>
#include <private/qaspectjob_p.h>
@@ -162,13 +163,15 @@ private Q_SLOTS:
void checkScheduleAndWaitForFrameAspectJobs()
{
// GIVEN
- QScheduler scheduler;
- QAspectManager manager;
+ Qt3DCore::QAspectEngine engine;
+ auto manager = Qt3DCore::QAspectEnginePrivate::get(&engine)->m_aspectManager;
+ QVERIFY(manager);
+ manager->initialize();
+
Aspect aspect;
AspectPrivate *aspectPriv = static_cast<AspectPrivate *>(QObjectPrivate::get(&aspect));
- manager.registerAspect(&aspect);
- scheduler.setAspectManager(&manager);
+ engine.registerAspect(&aspect);
// THEN
const JobPtr first = aspect.firstJob();
@@ -181,7 +184,7 @@ private Q_SLOTS:
QVERIFY(!second->postFrameCalled());
// WHEN
- const int count = scheduler.scheduleAndWaitForFrameAspectJobs(0, false);
+ const int count = manager->scheduler()->scheduleAndWaitForFrameAspectJobs(0, false);
// THEN
QCOMPARE(count, 2);
@@ -192,7 +195,7 @@ private Q_SLOTS:
QVERIFY(aspectPriv->jobsDoneCalled());
QVERIFY(!aspectPriv->frameDoneCalled());
- manager.unregisterAspect(&aspect);
+ engine.unregisterAspect(&aspect);
}
};