diff options
author | Dominik Holland <dominik.holland@pelagicore.com> | 2019-02-22 12:55:22 +0100 |
---|---|---|
committer | Robert Griebl <robert.griebl@pelagicore.com> | 2019-02-26 16:14:41 +0000 |
commit | ce9d0915b8a20af596ba0c4fee019a1c01b35cc9 (patch) | |
tree | e42efc753b262c9f35424dc5046d83782a2eac68 /tests | |
parent | ce579d17ff1e935e38b4b3bfdda9cbf617ce0426 (diff) | |
download | qtivi-ce9d0915b8a20af596ba0c4fee019a1c01b35cc9.tar.gz |
Improve the QtRemoteObjects autotest of the ivigenerator
Make sure the QSignalSpys are created before the signal can be emitted
the first time.
Added a small delay after startup and shutdown of the server to give
QtRo enough time to notify all Replicas.
Change-Id: I7e5187577c40e83c8d3ab0c52a0109b4aedc0a61
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
Diffstat (limited to 'tests')
2 files changed, 24 insertions, 19 deletions
diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/server.cpp b/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/server.cpp index 2ee265e..ce9d7c7 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/server.cpp +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/server.cpp @@ -29,15 +29,22 @@ #include "server.h" #include "core.h" +#include <QTest> bool Server::start() { - return Core::instance()->host()->enableRemoting(&m_service, QStringLiteral("org.example.echo.Echo")); + bool val = Core::instance()->host()->enableRemoting(&m_service, QStringLiteral("org.example.echo.Echo")); + //Give QtRO time to announce the service + QTest::qWait(200); + return val; } bool Server::stop() { - return Core::instance()->host()->disableRemoting(&m_service); + bool val = Core::instance()->host()->disableRemoting(&m_service); + //Give QtRO time to send the disconnect message to the Replica + QTest::qWait(200); + return val; } Server::~Server() diff --git a/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/tst_echoqtro.cpp b/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/tst_echoqtro.cpp index 9ef15f7..fb50914 100644 --- a/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/tst_echoqtro.cpp +++ b/tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/tst_echoqtro.cpp @@ -126,11 +126,11 @@ void EchoQtroTest::testReconnect() QVERIFY(server.start()); Echo client; + QSignalSpy initSpy(&client, SIGNAL(isInitializedChanged(bool))); + QVERIFY(initSpy.isValid()); QVERIFY(client.startAutoDiscovery()==QIviAbstractFeature::ProductionBackendLoaded); //wait until the client has connected and initial values are set - QSignalSpy initSpy(&client, SIGNAL(isInitializedChanged(bool))); - QVERIFY(initSpy.isValid()); WAIT_AND_COMPARE(initSpy, 1); QVERIFY(client.isInitialized()); @@ -164,12 +164,11 @@ void EchoQtroTest::testClient2Server() QVERIFY(server.start()); Echo client; + QSignalSpy initSpy(&client, SIGNAL(isInitializedChanged(bool))); + QVERIFY(initSpy.isValid()); QVERIFY(client.startAutoDiscovery()==QIviAbstractFeature::ProductionBackendLoaded); - //wait until the client has connected and initial values are set - QSignalSpy initSpy(&client, SIGNAL(isInitializedChanged(bool))); - QVERIFY(initSpy.isValid()); WAIT_AND_COMPARE(initSpy, 1); QVERIFY(client.isInitialized()); @@ -243,12 +242,12 @@ void EchoQtroTest::testServer2Client() QVERIFY(server.start()); Echo client; + QSignalSpy initSpy(&client, SIGNAL(isInitializedChanged(bool))); + QVERIFY(initSpy.isValid()); QVERIFY(client.startAutoDiscovery()==QIviAbstractFeature::ProductionBackendLoaded); //wait until the client has connected and initial values are set - QSignalSpy initSpy(&client, SIGNAL(isInitializedChanged(bool))); - QVERIFY(initSpy.isValid()); WAIT_AND_COMPARE(initSpy, 1); QVERIFY(client.isInitialized()); @@ -322,12 +321,12 @@ void EchoQtroTest::testSlots() server.start(); Echo client; - client.startAutoDiscovery(); + QSignalSpy initSpy(&client, SIGNAL(isInitializedChanged(bool))); + QVERIFY(initSpy.isValid()); + QVERIFY(client.startAutoDiscovery()==QIviAbstractFeature::ProductionBackendLoaded); //wait until the client has connected and initial values are set - QSignalSpy initSpy(&client, SIGNAL(isInitializedChanged(bool))); - QVERIFY(initSpy.isValid()); WAIT_AND_COMPARE(initSpy, 1); QVERIFY(client.isInitialized()); @@ -378,12 +377,12 @@ void EchoQtroTest::testMultipleSlotCalls() server.start(); Echo client; - client.startAutoDiscovery(); + QSignalSpy initSpy(&client, SIGNAL(isInitializedChanged(bool))); + QVERIFY(initSpy.isValid()); + QVERIFY(client.startAutoDiscovery()==QIviAbstractFeature::ProductionBackendLoaded); //wait until the client has connected and initial values are set - QSignalSpy initSpy(&client, SIGNAL(isInitializedChanged(bool))); - QVERIFY(initSpy.isValid()); initSpy.wait(1000); QCOMPARE(initSpy.count(), 1); QVERIFY(client.isInitialized()); @@ -419,12 +418,11 @@ void EchoQtroTest::testSignals() server.start(); Echo client; - client.startAutoDiscovery(); - - - //wait until the client has connected and initial values are set QSignalSpy initSpy(&client, SIGNAL(isInitializedChanged(bool))); QVERIFY(initSpy.isValid()); + QVERIFY(client.startAutoDiscovery()==QIviAbstractFeature::ProductionBackendLoaded); + + //wait until the client has connected and initial values are set WAIT_AND_COMPARE(initSpy, 1); QVERIFY(client.isInitialized()); |