aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmltest/TestSchedule.qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmltest/TestSchedule.qml')
-rw-r--r--src/qmltest/TestSchedule.qml29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/qmltest/TestSchedule.qml b/src/qmltest/TestSchedule.qml
new file mode 100644
index 0000000000..a2d291f80d
--- /dev/null
+++ b/src/qmltest/TestSchedule.qml
@@ -0,0 +1,29 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+pragma Singleton
+import QtQml
+
+Timer {
+ property list<QtObject> testCases
+ property QtObject currentTest: null
+
+ running: testCases.length > 0 && !currentTest
+ interval: 1
+ repeat: true
+
+ onTriggered: {
+ if (currentTest) {
+ console.error("Interleaved test execution detected. This shouldn't happen")
+ return;
+ }
+
+ try {
+ currentTest = testCases.shift()
+ currentTest.qtest_run()
+ } finally {
+ currentTest = null
+ }
+ }
+
+}