From 5335074a0d432c98bb8ec8e62557e29b6ba1446d Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Wed, 27 Apr 2022 17:06:19 +0200 Subject: Use AM_TIMEOUT_FACTOR in all tests and the intent handling Also works around the problem of the single-process qml/windowitem test crashing with just slightly more than idle CPU load. Change-Id: Ie24c7565bbaa448844879f4a57f0921693db9ce8 Reviewed-by: Dominik Holland --- tests/auto/main/tst_main.cpp | 7 ++- .../auto/packageextractor/tst_packageextractor.cpp | 3 +- tests/auto/qml/configs/tst_configs.qml | 15 ++--- tests/auto/qml/crash/tst_crash.qml | 7 ++- tests/auto/qml/intents/tst_intents.qml | 8 ++- tests/auto/qml/lifecycle/tst_lifecycle.qml | 29 ++++----- tests/auto/qml/processtitle/tst_processtitle.qml | 13 ++-- tests/auto/qml/quicklaunch/tst_quicklaunch.qml | 21 ++++--- tests/auto/qml/resources/tst_resource.qml | 8 +-- tests/auto/qml/simple/tst_applicationmanager.qml | 8 +-- .../windowitem/apps/test.windowitem.app/main.qml | 2 +- tests/auto/qml/windowitem/tst_windowitem.qml | 62 +++++++++--------- tests/auto/qml/windowitem2/tst_windowitem2.qml | 6 +- tests/auto/qml/windowmanager/tst_windowmanager.qml | 2 +- tests/auto/qml/windowmapping/tst_windowmapping.qml | 73 +++++++++++----------- 15 files changed, 140 insertions(+), 124 deletions(-) (limited to 'tests') diff --git a/tests/auto/main/tst_main.cpp b/tests/auto/main/tst_main.cpp index 6bc55925..f78aa90b 100644 --- a/tests/auto/main/tst_main.cpp +++ b/tests/auto/main/tst_main.cpp @@ -41,6 +41,7 @@ #include "intentserver.h" #include "intent.h" #include "startuptimer.h" +#include "utilities.h" #include @@ -78,9 +79,11 @@ private: bool mainSetupDone = false; DefaultConfiguration *config = nullptr; bool m_verbose = false; + int m_spyTimeout; }; tst_Main::tst_Main() + : m_spyTimeout(5000 * timeoutFactor()) { } tst_Main::~tst_Main() @@ -192,7 +195,7 @@ void tst_Main::installPackage(const QString &pkgPath) QSignalSpy finishedSpy(packageManager, &PackageManager::taskFinished); packageManager->startPackageInstallation(QUrl::fromLocalFile(pkgPath)); - QTRY_VERIFY(finishedSpy.count() == 1); + QTRY_VERIFY_WITH_TIMEOUT(finishedSpy.count() == 1, m_spyTimeout); } void tst_Main::removePackage(const QString &id) @@ -201,7 +204,7 @@ void tst_Main::removePackage(const QString &id) QSignalSpy finishedSpy(packageManager, &PackageManager::taskFinished); packageManager->removePackage(id, false /* keepDocuments */); - QTRY_VERIFY(finishedSpy.count() == 1); + QTRY_VERIFY_WITH_TIMEOUT(finishedSpy.count() == 1, m_spyTimeout); } /* diff --git a/tests/auto/packageextractor/tst_packageextractor.cpp b/tests/auto/packageextractor/tst_packageextractor.cpp index c4a13ad9..d4cfcb79 100644 --- a/tests/auto/packageextractor/tst_packageextractor.cpp +++ b/tests/auto/packageextractor/tst_packageextractor.cpp @@ -43,6 +43,7 @@ #include "packageextractor.h" #include "installationreport.h" #include "packageutilities.h" +#include "utilities.h" #include "../error-checking.h" @@ -296,7 +297,7 @@ void tst_PackageExtractor::extractFromFifo() PackageExtractor extractor(QUrl::fromLocalFile(fifo.path()), m_extractDir->path()); QVERIFY2(extractor.extract(), qPrintable(extractor.errorString())); - QTRY_VERIFY(fifo.isFinished()); + QTRY_VERIFY_WITH_TIMEOUT(fifo.isFinished(), 5000 * timeoutFactor()); } int main(int argc, char *argv[]) diff --git a/tests/auto/qml/configs/tst_configs.qml b/tests/auto/qml/configs/tst_configs.qml index 835675e5..c5e4441b 100644 --- a/tests/auto/qml/configs/tst_configs.qml +++ b/tests/auto/qml/configs/tst_configs.qml @@ -41,6 +41,7 @@ TestCase { name: "Configs" visible: true + property int spyTimeout: 5000 * AmTest.timeoutFactor IntentServerHandler { intentIds: "system-func" @@ -81,8 +82,8 @@ TestCase { function cleanup() { runStateChangedSpy.clear(); ApplicationManager.stopApplication("test.configs.app"); - runStateChangedSpy.wait(); - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); + runStateChangedSpy.wait(spyTimeout); compare(runStateChangedSpy.signalArguments[1][1], ApplicationObject.NotRunning); } @@ -90,12 +91,12 @@ TestCase { compare(NotificationManager.count, 0); compare(windowAddedSpy.count, 0); verify(ApplicationManager.startApplication("test.configs.app")) - windowAddedSpy.wait(); + windowAddedSpy.wait(spyTimeout); compare(windowAddedSpy.count, 1); var window = windowAddedSpy.signalArguments[0][0]; compare(window.windowProperty("prop1"), "foo"); IntentClient.sendIntentRequest("test-window-property", "test.configs.app", { }) - windowPropertyChangedSpy.wait(); + windowPropertyChangedSpy.wait(spyTimeout); compare(windowPropertyChangedSpy.count, 1); compare(windowPropertyChangedSpy.signalArguments[0][0], window); compare(window.windowProperty("prop1"), "bar"); @@ -103,16 +104,16 @@ TestCase { if (!ApplicationManager.systemProperties.nodbus) { IntentClient.sendIntentRequest("test-notification", "test.configs.app", { }) - tryVerify(function() { return NotificationManager.count === 1; }); + tryVerify(function() { return NotificationManager.count === 1; }, spyTimeout); compare(NotificationManager.get(0).summary, "Test"); } window.setWindowProperty("trigger", "now"); - windowPropertyChangedSpy.aboutToBlockWait(); + windowPropertyChangedSpy.aboutToBlockWait(spyTimeout); compare(windowPropertyChangedSpy.signalArguments[0][0], window); compare(window.windowProperty("trigger"), "now"); - windowPropertyChangedSpy.wait(); + windowPropertyChangedSpy.wait(spyTimeout); compare(windowPropertyChangedSpy.signalArguments[1][0], window); compare(window.windowProperty("ack"), "done"); } diff --git a/tests/auto/qml/crash/tst_crash.qml b/tests/auto/qml/crash/tst_crash.qml index cc7f42d2..21d1f56f 100644 --- a/tests/auto/qml/crash/tst_crash.qml +++ b/tests/auto/qml/crash/tst_crash.qml @@ -38,6 +38,7 @@ TestCase { when: windowShown name: "Crashtest" + property int spyTimeout: 3000 * AmTest.timeoutFactor property string appId: "tld.test.crash" property var app: ApplicationManager.application(appId); @@ -64,11 +65,11 @@ TestCase { function test_crash(data) { ApplicationManager.startApplication(appId); - runStateChangedSpy.wait(3000); - runStateChangedSpy.wait(3000); + runStateChangedSpy.wait(spyTimeout); + runStateChangedSpy.wait(spyTimeout); compare(app.runState, ApplicationObject.Running); ApplicationManager.startApplication(appId, data.tag); - runStateChangedSpy.wait(3000); + runStateChangedSpy.wait(spyTimeout); compare(app.runState, ApplicationObject.NotRunning); if (data.tag === "gracefully") { compare(app.lastExitStatus, ApplicationObject.NormalExit); diff --git a/tests/auto/qml/intents/tst_intents.qml b/tests/auto/qml/intents/tst_intents.qml index c2badd3e..c139c4f9 100644 --- a/tests/auto/qml/intents/tst_intents.qml +++ b/tests/auto/qml/intents/tst_intents.qml @@ -39,6 +39,8 @@ TestCase { when: windowShown name: "Intents" + property int spyTimeout: 1000 * AmTest.timeoutFactor + property var stdParams: { "para": "meter" } property var matchParams: { "list": "a", "int": 42, "string": "foo_x_bar", "complex": { "a": 1 } } @@ -154,7 +156,7 @@ TestCase { var req = IntentClient.sendIntentRequest(data.intentId, data.appId, params) verify(req) requestSpy.target = req - let requestTimeout = 1000 + let requestTimeout = spyTimeout if (data.isTimeout) requestTimeout *= 10 tryCompare(requestSpy, "count", 1, requestTimeout) @@ -203,7 +205,7 @@ TestCase { requestSpy.target = req if (data.action !== "none") { - tryCompare(disambiguateSpy, "count", 1, 1000) + tryCompare(disambiguateSpy, "count", 1, spyTimeout) var possibleIntents = disambiguateSpy.signalArguments[0][1] compare(possibleIntents.length, 2) compare(possibleIntents[0].intentId, intentId) @@ -226,7 +228,7 @@ TestCase { disambiguateSpy.clear() } - tryCompare(requestSpy, "count", 1, data.action === "timeout" ? 15000 : 1000) + tryCompare(requestSpy, "count", 1, spyTimeout * (data.action === "timeout" ? 15 : 1)) var succeeding = data.succeeding compare(req.succeeded, succeeding) if (succeeding) { diff --git a/tests/auto/qml/lifecycle/tst_lifecycle.qml b/tests/auto/qml/lifecycle/tst_lifecycle.qml index 8af745ce..96408cba 100644 --- a/tests/auto/qml/lifecycle/tst_lifecycle.qml +++ b/tests/auto/qml/lifecycle/tst_lifecycle.qml @@ -38,6 +38,7 @@ TestCase { name: "LifeCycleTest" visible: true + property int spyTimeout: 5000 * AmTest.timeoutFactor property var app: ApplicationManager.application("tld.test.lifecycle"); @@ -86,8 +87,8 @@ TestCase { var index = AmTest.observeObjectDestroyed(app.runtime); app.stop(); while (app.runState !== ApplicationObject.NotRunning) - runStateChangedSpy.wait(); - objectDestroyedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); + objectDestroyedSpy.wait(spyTimeout); compare(objectDestroyedSpy.signalArguments[0][0], index); } @@ -95,27 +96,27 @@ TestCase { // Start followed by quick stop/start in single-porcess mode caused an abort in the past function test_fast_stop_start() { app.start(); - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); compare(app.runState, ApplicationObject.StartingUp); - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); compare(app.runState, ApplicationObject.Running); objectDestroyedSpy.clear(); var index = AmTest.observeObjectDestroyed(app.runtime); app.stop(); - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); compare(app.runState, ApplicationObject.ShuttingDown); - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); compare(app.runState, ApplicationObject.NotRunning); app.start(); - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); compare(app.runState, ApplicationObject.StartingUp); - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); compare(app.runState, ApplicationObject.Running); - objectDestroyedSpy.wait(); + objectDestroyedSpy.wait(spyTimeout); compare(objectDestroyedSpy.signalArguments[0][0], index); } @@ -125,11 +126,11 @@ TestCase { stopTimer.start(); while (app.runState !== ApplicationObject.NotRunning) - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); app.start(); while (app.runState !== ApplicationObject.Running) - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); } function test_restart() { @@ -143,11 +144,11 @@ TestCase { app.start(); while (app.runState !== ApplicationObject.Running) - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); app.stop(); - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); compare(app.runState, ApplicationObject.ShuttingDown); while (app.runState !== ApplicationObject.Running) - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); } } diff --git a/tests/auto/qml/processtitle/tst_processtitle.qml b/tests/auto/qml/processtitle/tst_processtitle.qml index acb3646e..18eced11 100644 --- a/tests/auto/qml/processtitle/tst_processtitle.qml +++ b/tests/auto/qml/processtitle/tst_processtitle.qml @@ -39,6 +39,7 @@ TestCase { name: "ProcessTitle" visible: true + property int spyTimeout: 5000 * AmTest.timeoutFactor property int sysuiPid ProcessStatus { @@ -71,8 +72,8 @@ TestCase { tryVerify(function() { pid = AmTest.findChildProcess(sysuiPid, executable + quickArg); return pid - }); - wait(250); + }, spyTimeout); + wait(250 * AmTest.timeoutFactor); verify(AmTest.cmdLine(pid).endsWith(executable + quickArg)); } else { sigIdx = 1; @@ -81,9 +82,9 @@ TestCase { runStateChangedSpy.clear(); verify(ApplicationManager.startApplication(data.appId)); - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); if (sigIdx === 1) - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); compare(runStateChangedSpy.signalArguments[sigIdx][0], data.appId); compare(runStateChangedSpy.signalArguments[sigIdx][1], ApplicationObject.Running); @@ -98,8 +99,8 @@ TestCase { runStateChangedSpy.clear(); ApplicationManager.stopAllApplications(); - runStateChangedSpy.wait(); - runStateChangedSpy.wait(); + runStateChangedSpy.wait(spyTimeout); + runStateChangedSpy.wait(spyTimeout); compare(runStateChangedSpy.signalArguments[1][1], ApplicationObject.NotRunning); } } diff --git a/tests/auto/qml/quicklaunch/tst_quicklaunch.qml b/tests/auto/qml/quicklaunch/tst_quicklaunch.qml index 27c6aa2e..c967318f 100644 --- a/tests/auto/qml/quicklaunch/tst_quicklaunch.qml +++ b/tests/auto/qml/quicklaunch/tst_quicklaunch.qml @@ -40,6 +40,7 @@ TestCase { when: windowShown name: "Quicklaunch" + property int spyTimeout: 5000 * AmTest.timeoutFactor property bool acknowledged: false SignalSpy { @@ -66,27 +67,27 @@ TestCase { var app = ApplicationManager.application("tld.test.quicklaunch"); runStateChangedSpy.target = app; - wait(1000); + wait(1000 * AmTest.timeoutFactor); // Check for quick-launching is done every second in appman. After 1s now, this test // sometimes caused some race where the app would not be started at all in the past: app.start(); - windowAddedSpy.wait(3000); - tryCompare(testCase, "acknowledged", true); + windowAddedSpy.wait(spyTimeout); + tryCompare(testCase, "acknowledged", true, spyTimeout); runStateChangedSpy.clear(); app.stop(true); - runStateChangedSpy.wait(3000); // wait for ShuttingDown - runStateChangedSpy.wait(3000); // wait for NotRunning + runStateChangedSpy.wait(spyTimeout); // wait for ShuttingDown + runStateChangedSpy.wait(spyTimeout); // wait for NotRunning - wait(1000); + wait(1000 * AmTest.timeoutFactor); // Unfortunately there is no reliable means to determine, whether a quicklaunch process // is running, but after at least 2s now, there should be a process that can be attached to. acknowledged = false; app.start(); - windowAddedSpy.wait(3000); - tryCompare(testCase, "acknowledged", true); + windowAddedSpy.wait(spyTimeout); + tryCompare(testCase, "acknowledged", true, spyTimeout); runStateChangedSpy.clear(); app.stop(true); - runStateChangedSpy.wait(3000); // wait for ShuttingDown - runStateChangedSpy.wait(3000); // wait for NotRunning + runStateChangedSpy.wait(spyTimeout); // wait for ShuttingDown + runStateChangedSpy.wait(spyTimeout); // wait for NotRunning } } diff --git a/tests/auto/qml/resources/tst_resource.qml b/tests/auto/qml/resources/tst_resource.qml index 8eb0e406..87854c66 100644 --- a/tests/auto/qml/resources/tst_resource.qml +++ b/tests/auto/qml/resources/tst_resource.qml @@ -59,23 +59,23 @@ TestCase { } function test_basic(data) { - wait(1200); // wait for quicklaunch + wait(1200 * AmTest.timeoutFactor); // wait for quicklaunch var app = ApplicationManager.application(data.tag); windowPropertyChangedSpy.clear(); app.start(); while (app.runState !== ApplicationObject.Running) - runStateChangedSpy.wait(3000); + runStateChangedSpy.wait(3000 * AmTest.timeoutFactor); if (data.tag === "app2") { - windowPropertyChangedSpy.wait(2000); + windowPropertyChangedSpy.wait(2000 * AmTest.timeoutFactor); compare(windowPropertyChangedSpy.count, 1); compare(windowPropertyChangedSpy.signalArguments[0][0].windowProperty("meaning"), 42); } app.stop(); while (app.runState !== ApplicationObject.NotRunning) - runStateChangedSpy.wait(3000); + runStateChangedSpy.wait(3000 * AmTest.timeoutFactor); } } diff --git a/tests/auto/qml/simple/tst_applicationmanager.qml b/tests/auto/qml/simple/tst_applicationmanager.qml index e9b0a8ac..bfce9bc7 100644 --- a/tests/auto/qml/simple/tst_applicationmanager.qml +++ b/tests/auto/qml/simple/tst_applicationmanager.qml @@ -69,7 +69,7 @@ TestCase { function initTestCase() { //Wait for the debugging wrappers to be setup. - wait(2000); + wait(2000 * AmTest.timeoutFactor); WindowManager.windowAdded.connect(windowHandler.windowAddedHandler) WindowManager.windowContentStateChanged.connect(windowHandler.windowContentStateChangedHandler) @@ -212,7 +212,7 @@ TestCase { appModelCountSpy.clear(); appModel.filterFunction = function(app) { return app.capabilities.indexOf("cameraAccess") >= 0; }; - appModelCountSpy.wait(1000); + appModelCountSpy.wait(1000 * AmTest.timeoutFactor); compare(appModelCountSpy.count, 1); compare(appModel.count, 1); compare(appModel.indexOfApplication(capsApplication.id), 0); @@ -278,7 +278,7 @@ TestCase { function checkApplicationState(id, state) { if (runStateChangedSpy.count < 1) - runStateChangedSpy.wait(10000); + runStateChangedSpy.wait(10000 * AmTest.timeoutFactor); verify(runStateChangedSpy.count) compare(runStateChangedSpy.signalArguments[0][0], id) compare(runStateChangedSpy.signalArguments[0][1], state) @@ -386,7 +386,7 @@ TestCase { ApplicationManager.stopAllApplications(data.forceKill); while (runStateChangedSpy.count < 4) - runStateChangedSpy.wait(10000); + runStateChangedSpy.wait(10000 * AmTest.timeoutFactor); var args = runStateChangedSpy.signalArguments diff --git a/tests/auto/qml/windowitem/apps/test.windowitem.app/main.qml b/tests/auto/qml/windowitem/apps/test.windowitem.app/main.qml index 0fec1364..29539cad 100644 --- a/tests/auto/qml/windowitem/apps/test.windowitem.app/main.qml +++ b/tests/auto/qml/windowitem/apps/test.windowitem.app/main.qml @@ -51,7 +51,7 @@ ApplicationManagerWindow { // A way for test code to trigger ApplicationManagerWindow's size changes from // the client side - onWindowPropertyChanged: { + onWindowPropertyChanged: function(name, value) { if (name === "requestedWidth") root.width = value; else if (name === "requestedHeight") diff --git a/tests/auto/qml/windowitem/tst_windowitem.qml b/tests/auto/qml/windowitem/tst_windowitem.qml index 1ad7d319..b9f97433 100644 --- a/tests/auto/qml/windowitem/tst_windowitem.qml +++ b/tests/auto/qml/windowitem/tst_windowitem.qml @@ -39,6 +39,8 @@ Item { height: 500 visible: true + property int spyTimeout: 5000 * AmTest.timeoutFactor + Repeater { id: windowItemsRepeater model: ListModel { id: windowItemsModel } @@ -138,7 +140,7 @@ Item { } if (numRunningApps > 0) { - wait(50); + wait(100 * AmTest.timeoutFactor); } else break; } @@ -158,8 +160,8 @@ Item { app = ApplicationManager.application("test.windowitem.app"); app.start(); - tryCompare(root.chosenModel, "count", 1); - tryCompare(WindowManager, "count", 1); + tryCompare(root.chosenModel, "count", 1, spyTimeout); + tryCompare(WindowManager, "count", 1, spyTimeout); } /* @@ -214,7 +216,9 @@ Item { Check that once the primary WindowItem is destroyed, the remaining one takes over the primary role. */ - function test_destroyPrimaryRemainingTakesOver() { + // the function is called 'x*' on purpose: QML tests are executed in alphabetical + // order and running this directly after the close* functions crashes in RHI + function test_xdestroyPrimaryRemainingTakesOver() { initWindowItemsModel(); var firstWindowItem = windowItemsRepeater.itemAt(0); @@ -235,7 +239,7 @@ Item { compare(windowItemsModel.count, 1); // And the remaining item takes over the primary role. - tryCompare(secondWindowItem, "primary", true); + tryCompare(secondWindowItem, "primary", true, spyTimeout); } /* @@ -260,9 +264,9 @@ Item { // The WindowObject should still exist, albeit without a surface, even though // no longer present in WindowManager's model. - tryCompare(WindowManager, "count", 0); + tryCompare(WindowManager, "count", 0, spyTimeout); compare(objectDestroyedSpy.count, 0) - tryCompare(window, "contentState", WindowObject.NoSurface); + tryCompare(window, "contentState", WindowObject.NoSurface, spyTimeout); // Destroy all WindowItems firstWindowItem = null; @@ -271,7 +275,7 @@ Item { // Now that there are no WindowItems using that WindowObject anymore, it should // eventually be deleted by WindowManager - objectDestroyedSpy.wait(); + objectDestroyedSpy.wait(spyTimeout); compare(objectDestroyedSpy.signalArguments[0][0], destroyId); } @@ -303,13 +307,13 @@ Item { window.setWindowProperty("requestedWidth", width); window.setWindowProperty("requestedHeight", height); - tryCompare(window, "size", Qt.size(width,height)); - tryCompare(windowItem, "width", width); - tryCompare(windowItem, "height", height); + tryCompare(window, "size", Qt.size(width,height), spyTimeout); + tryCompare(windowItem, "width", width, spyTimeout); + tryCompare(windowItem, "height", height, spyTimeout); width += 5; height += 5; - wait(10); + wait(50 * AmTest.timeoutFactor); } } @@ -323,7 +327,7 @@ Item { var windowItem = sizedWindowItemsRepeater.itemAt(0); var window = windowItem.window - tryCompare(window, "size", Qt.size(windowItem.width, windowItem.height)); + tryCompare(window, "size", Qt.size(windowItem.width, windowItem.height), spyTimeout); } /* @@ -338,15 +342,15 @@ Item { windowItem.width = 200; windowItem.height = 100; - tryCompare(window, "size", Qt.size(200, 100)); + tryCompare(window, "size", Qt.size(200, 100), spyTimeout); windowItem.width = 201; windowItem.height = 101; - tryCompare(window, "size", Qt.size(201, 101)); + tryCompare(window, "size", Qt.size(201, 101), spyTimeout); windowItem.width = 202; windowItem.height = 102; - tryCompare(window, "size", Qt.size(202, 102)); + tryCompare(window, "size", Qt.size(202, 102), spyTimeout); } /* @@ -362,15 +366,15 @@ Item { windowItem.width = 200; windowItem.height = 100; - tryCompare(window, "size", Qt.size(123, 321)); + tryCompare(window, "size", Qt.size(123, 321), spyTimeout); windowItem.width = 201; windowItem.height = 101; - tryCompare(window, "size", Qt.size(123, 321)); + tryCompare(window, "size", Qt.size(123, 321), spyTimeout); windowItem.width = 202; windowItem.height = 102; - tryCompare(window, "size", Qt.size(123, 321)); + tryCompare(window, "size", Qt.size(123, 321), spyTimeout); } /* @@ -385,7 +389,7 @@ Item { app.stop(); - tryCompare(window, "contentState", WindowObject.NoSurface); + tryCompare(window, "contentState", WindowObject.NoSurface, spyTimeout); window.close(); } @@ -404,8 +408,8 @@ Item { app = ApplicationManager.application("test.windowitem.multiwin"); app.start(); - tryCompare(windowItemsModel, "count", 2); - tryCompare(WindowManager, "count", 2); + tryCompare(windowItemsModel, "count", 2, spyTimeout); + tryCompare(WindowManager, "count", 2, spyTimeout); var firstWindow = windowItemsModel.get(0).window; var secondWindow = windowItemsModel.get(1).window; @@ -415,19 +419,19 @@ Item { firstWindow.close(); - tryCompare(firstWindow, "contentState", WindowObject.NoSurface); + tryCompare(firstWindow, "contentState", WindowObject.NoSurface, spyTimeout); windowItemsModel.remove(0); firstWindow = null; - wait(100); + wait(100 * AmTest.timeoutFactor); compare(app.runState, Am.Running); compare(secondWindow.contentState, WindowObject.SurfaceWithContent); secondWindow.close(); - tryCompare(secondWindow, "contentState", WindowObject.NoSurface); - tryCompare(app, "runState", Am.NotRunning); + tryCompare(secondWindow, "contentState", WindowObject.NoSurface, spyTimeout); + tryCompare(app, "runState", Am.NotRunning, spyTimeout); } /* @@ -446,7 +450,7 @@ Item { // There's nothing in front of the wayland item (at least nothing visible). // The touch event will reach it. - tryVerify(function() { return window.windowProperty("clickCount") === 1; }); + tryVerify(function() { return window.windowProperty("clickCount") === 1; }, spyTimeout); compare(windowItem.clickCount, 0); windowItem.mouseAreaVisible = true; @@ -456,7 +460,7 @@ Item { // Since a visible MouseArea is now in front of WindowItem's internal wayland item // the second touch event was caught by that MouseArea instead. - tryCompare(windowItem, "clickCount", 1); + tryCompare(windowItem, "clickCount", 1, spyTimeout); compare(window.windowProperty("clickCount"), 1); } @@ -475,7 +479,7 @@ Item { app.stop(); - tryCompare(window, "contentState", WindowObject.NoSurface); + tryCompare(window, "contentState", WindowObject.NoSurface, spyTimeout); compare(window.windowProperty("foo"), "bar"); } } diff --git a/tests/auto/qml/windowitem2/tst_windowitem2.qml b/tests/auto/qml/windowitem2/tst_windowitem2.qml index 51759539..341fb3ed 100644 --- a/tests/auto/qml/windowitem2/tst_windowitem2.qml +++ b/tests/auto/qml/windowitem2/tst_windowitem2.qml @@ -91,7 +91,7 @@ Item { } if (numRunningApps > 0) { - wait(50); + wait(100 * AmTest.timeoutFactor); } else break; } @@ -120,8 +120,8 @@ Item { var app = ApplicationManager.application("test.windowitem2.app"); app.start(); - tryVerify(function() { return windowItem.window !== null }); - wait(50); + tryVerify(function() { return windowItem.window !== null }, 5000 * AmTest.timeoutFactor); + wait(100 * AmTest.timeoutFactor); app.stop(); } diff --git a/tests/auto/qml/windowmanager/tst_windowmanager.qml b/tests/auto/qml/windowmanager/tst_windowmanager.qml index 5927fae1..9b2eedbb 100644 --- a/tests/auto/qml/windowmanager/tst_windowmanager.qml +++ b/tests/auto/qml/windowmanager/tst_windowmanager.qml @@ -54,7 +54,7 @@ TestCase { if (!ApplicationManager.windowManagerCompositorReady) { var extnull = Qt.createComponent("IviApplicationExtension.qml").createObject(null).addExtension(); compare(extnull, null); - windowManagerCompositorReadyChangedSpy.wait(2000); + windowManagerCompositorReadyChangedSpy.wait(2000 * AmTest.timeoutFactor); verify(ApplicationManager.windowManagerCompositorReady); } var extension = Qt.createComponent("IviApplicationExtension.qml").createObject(null).addExtension(); diff --git a/tests/auto/qml/windowmapping/tst_windowmapping.qml b/tests/auto/qml/windowmapping/tst_windowmapping.qml index 9cb50db5..d48bf453 100644 --- a/tests/auto/qml/windowmapping/tst_windowmapping.qml +++ b/tests/auto/qml/windowmapping/tst_windowmapping.qml @@ -39,7 +39,8 @@ TestCase { name: "WindowMapping" visible: true - property var lastWindowAdded; + property int spyTimeout: 5000 * AmTest.timeoutFactor + property var lastWindowAdded WindowItem { id: chrome @@ -116,7 +117,7 @@ TestCase { } if (numRunningApps > 0) { - wait(2000); + wait(2000 * AmTest.timeoutFactor); } else break; } @@ -130,71 +131,71 @@ TestCase { compare(windowAddedSpy.count, 0); app.start("show-main"); - tryCompare(windowAddedSpy, "count", 1); + tryCompare(windowAddedSpy, "count", 1, spyTimeout); compare(windowAboutToBeRemovedSpy.count, 0); app.stop(); - tryCompare(windowAboutToBeRemovedSpy, "count", 1); + tryCompare(windowAboutToBeRemovedSpy, "count", 1, spyTimeout); } function test_amwin_advanced() { var app = ApplicationManager.application("test.winmap.amwin2"); app.start("show-sub"); - wait(2000); + wait(2000 * AmTest.timeoutFactor); compare(WindowManager.count, 0); app.start("show-main"); - tryCompare(WindowManager, "count", 2); + tryCompare(WindowManager, "count", 2, spyTimeout); } function test_amwin_loader() { - tryCompare(WindowManager, "count", 0); + tryCompare(WindowManager, "count", 0, spyTimeout); var app = ApplicationManager.application("test.winmap.loader"); app.start("show-sub"); - tryCompare(WindowManager, "count", 2); + tryCompare(WindowManager, "count", 2, spyTimeout); app.start("hide-sub"); - tryCompare(WindowManager, "count", 1); + tryCompare(WindowManager, "count", 1, spyTimeout); app.start("show-sub"); - tryCompare(WindowManager, "count", 2); + tryCompare(WindowManager, "count", 2, spyTimeout); } function test_amwin_peculiarities() { var app = ApplicationManager.application("test.winmap.amwin2"); - tryCompare(WindowManager, "count", 0); + tryCompare(WindowManager, "count", 0, spyTimeout); app.start("show-main"); - tryCompare(WindowManager, "count", 1); + tryCompare(WindowManager, "count", 1, spyTimeout); app.start("show-sub"); - tryCompare(WindowManager, "count", 2); + tryCompare(WindowManager, "count", 2, spyTimeout); // Single- vs. multiprocess difference: app.start("show-sub2"); var expectedWindowCount; // A Window's effective visible state solely depends on Window hierarchy. expectedWindowCount = 3; - tryCompare(WindowManager, "count", expectedWindowCount); + tryCompare(WindowManager, "count", expectedWindowCount, spyTimeout); app.start("hide-sub"); expectedWindowCount -= 1; - tryCompare(WindowManager, "count", expectedWindowCount); + tryCompare(WindowManager, "count", expectedWindowCount, spyTimeout); // Make child (sub) window visible again, parent (main) window is still visible app.start("show-sub"); expectedWindowCount += 1; - tryCompare(WindowManager, "count", expectedWindowCount); + tryCompare(WindowManager, "count", expectedWindowCount, spyTimeout); // This is weird Window behavior: a child window becomes only visible, when the parent // window is visible, but when you change the parent window back to invisible, the child // will NOT become invisible. app.start("hide-main"); expectedWindowCount -= 1; - tryCompare(WindowManager, "count", expectedWindowCount); + tryCompare(WindowManager, "count", expectedWindowCount, spyTimeout); // Single- vs. multiprocess difference: app.start("hide-sub"); @@ -203,9 +204,9 @@ TestCase { } else { // This is even more weird Window behavior: when the parent window is invisible, it is // not possible any more to explicitly set the child window to invisible. - wait(50); + wait(50 * AmTest.timeoutFactor); } - tryCompare(WindowManager, "count", expectedWindowCount); + tryCompare(WindowManager, "count", expectedWindowCount, spyTimeout); } function test_default_data() { @@ -224,11 +225,11 @@ TestCase { var app = ApplicationManager.application(data.appId); verify(chrome.window === null); app.start(); - tryCompare(WindowManager, "count", 1); - tryVerify(function () { return chrome.window !== null }); + tryCompare(WindowManager, "count", 1, spyTimeout); + tryVerify(function () { return chrome.window !== null }, spyTimeout); app.stop(); - tryCompare(WindowManager, "count", 0); + tryCompare(WindowManager, "count", 0, spyTimeout); } function test_mapping_data() { @@ -247,16 +248,16 @@ TestCase { compare(WindowManager.count, 0); app.start("show-main"); - tryCompare(WindowManager, "count", 1); + tryCompare(WindowManager, "count", 1, spyTimeout); app.start("show-sub"); - tryCompare(WindowManager, "count", 2); + tryCompare(WindowManager, "count", 2, spyTimeout); app.start("hide-sub"); - tryCompare(WindowManager, "count", 1); + tryCompare(WindowManager, "count", 1, spyTimeout); app.stop(); - tryCompare(WindowManager, "count", 0); + tryCompare(WindowManager, "count", 0, spyTimeout); } function test_wayland_ping_pong() { @@ -269,12 +270,12 @@ TestCase { AmTest.ignoreMessage(AmTest.CriticalMsg, /Stopping application.*because we did not receive a Wayland-Pong/); app.start(); - tryCompare(app, "runState", Am.Running); + tryCompare(app, "runState", Am.Running, spyTimeout); runStateChangedSpy.clear(); - wait(2200); - runStateChangedSpy.wait(2000); + wait(2200 * AmTest.timeoutFactor); + runStateChangedSpy.wait(spyTimeout); compare(runStateChangedSpy.signalArguments[0][1], Am.ShuttingDown); - runStateChangedSpy.wait(2000); + runStateChangedSpy.wait(spyTimeout); compare(runStateChangedSpy.signalArguments[1][1], Am.NotRunning); } @@ -283,17 +284,17 @@ TestCase { windowPropertyChangedSpy.clear(); app.start(); - tryCompare(WindowManager, "count", 1); + tryCompare(WindowManager, "count", 1, spyTimeout); app.start("show-main"); - windowPropertyChangedSpy.wait(2000); + windowPropertyChangedSpy.wait(spyTimeout); compare(windowPropertyChangedSpy.count, 1); compare(lastWindowAdded.windowProperty("key1"), "val1"); compare(lastWindowAdded.windowProperty("objectName"), 42); lastWindowAdded.setWindowProperty("key2", "val2"); - windowPropertyChangedSpy.wait(2000); + windowPropertyChangedSpy.wait(spyTimeout); compare(windowPropertyChangedSpy.count, 2); var allProps = lastWindowAdded.windowProperties() @@ -309,14 +310,14 @@ TestCase { var app = ApplicationManager.application("test.winmap.amwin"); app.start("show-main"); - tryCompare(WindowManager, "count", 1); + tryCompare(WindowManager, "count", 1, spyTimeout); compare(lastWindowAdded.windowProperty("objectName"), 42); app.start("hide-main"); - tryCompare(WindowManager, "count", 0); + tryCompare(WindowManager, "count", 0, spyTimeout); app.start("show-main"); - tryCompare(WindowManager, "count", 1); + tryCompare(WindowManager, "count", 1, spyTimeout); compare(lastWindowAdded.windowProperty("objectName"), 42); } -- cgit v1.2.1