summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@pelagicore.com>2019-02-22 12:55:22 +0100
committerRobert Griebl <robert.griebl@pelagicore.com>2019-02-26 16:14:41 +0000
commitce9d0915b8a20af596ba0c4fee019a1c01b35cc9 (patch)
treee42efc753b262c9f35424dc5046d83782a2eac68 /tests
parentce579d17ff1e935e38b4b3bfdda9cbf617ce0426 (diff)
downloadqtivi-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')
-rw-r--r--tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/server.cpp11
-rw-r--r--tests/auto/core/ivigenerator/projects/org-example-echo-qtro/server_qtro_test/tst_echoqtro.cpp32
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());