|
|
|
@ -1,4 +1,5 @@
|
|
|
|
|
ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_remote_access.cpp
|
|
|
|
|
diff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_remote_access.cpp
|
|
|
|
|
index 9a17ac8..f97629f 100644
|
|
|
|
|
--- a/autotests/client/test_remote_access.cpp
|
|
|
|
|
+++ b/autotests/client/test_remote_access.cpp
|
|
|
|
|
@@ -1,5 +1,6 @@
|
|
|
|
@ -8,7 +9,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
|
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
|
|
|
modify it under the terms of the GNU Lesser General Public
|
|
|
|
|
@@ -48,22 +49,108 @@
|
|
|
|
|
@@ -48,22 +49,108 @@ private Q_SLOTS:
|
|
|
|
|
|
|
|
|
|
void testSendReleaseSingle();
|
|
|
|
|
void testSendReleaseMultiple();
|
|
|
|
@ -123,7 +124,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
void RemoteAccessTest::init()
|
|
|
|
|
{
|
|
|
|
|
qRegisterMetaType<const BufferHandle *>();
|
|
|
|
|
@@ -76,42 +163,18 @@
|
|
|
|
|
@@ -76,42 +163,18 @@ void RemoteAccessTest::init()
|
|
|
|
|
m_display->start();
|
|
|
|
|
QVERIFY(m_display->isRunning());
|
|
|
|
|
m_display->createShm();
|
|
|
|
@ -174,7 +175,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void RemoteAccessTest::cleanup()
|
|
|
|
|
@@ -121,22 +184,8 @@
|
|
|
|
|
@@ -121,22 +184,8 @@ void RemoteAccessTest::cleanup()
|
|
|
|
|
delete variable; \
|
|
|
|
|
variable = nullptr; \
|
|
|
|
|
}
|
|
|
|
@ -199,7 +200,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
CLEANUP(m_remoteAccessInterface)
|
|
|
|
|
CLEANUP(m_display)
|
|
|
|
|
#undef CLEANUP
|
|
|
|
|
@@ -148,16 +197,13 @@
|
|
|
|
|
@@ -148,16 +197,13 @@ void RemoteAccessTest::testSendReleaseSingle()
|
|
|
|
|
|
|
|
|
|
// setup
|
|
|
|
|
QVERIFY(!m_remoteAccessInterface->isBound());
|
|
|
|
@ -220,7 +221,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
QVERIFY(bufferReadySpy.isValid());
|
|
|
|
|
|
|
|
|
|
BufferHandle *buf = new BufferHandle();
|
|
|
|
|
@@ -168,7 +214,7 @@
|
|
|
|
|
@@ -168,7 +214,7 @@ void RemoteAccessTest::testSendReleaseSingle()
|
|
|
|
|
buf->setSize(50, 50);
|
|
|
|
|
buf->setFormat(100500);
|
|
|
|
|
buf->setStride(7800);
|
|
|
|
@ -229,7 +230,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
|
|
|
|
|
// receive buffer
|
|
|
|
|
QVERIFY(bufferReadySpy.wait());
|
|
|
|
|
@@ -193,7 +239,6 @@
|
|
|
|
|
@@ -193,7 +239,6 @@ void RemoteAccessTest::testSendReleaseSingle()
|
|
|
|
|
// cleanup
|
|
|
|
|
delete buf;
|
|
|
|
|
delete client;
|
|
|
|
@ -237,7 +238,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
m_display->dispatchEvents();
|
|
|
|
|
QVERIFY(!m_remoteAccessInterface->isBound());
|
|
|
|
|
}
|
|
|
|
|
@@ -204,23 +249,16 @@
|
|
|
|
|
@@ -204,23 +249,16 @@ void RemoteAccessTest::testSendReleaseMultiple()
|
|
|
|
|
|
|
|
|
|
// setup
|
|
|
|
|
QVERIFY(!m_remoteAccessInterface->isBound());
|
|
|
|
@ -268,7 +269,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
QVERIFY(bufferReadySpy2.isValid());
|
|
|
|
|
|
|
|
|
|
BufferHandle *buf = new BufferHandle();
|
|
|
|
|
@@ -231,10 +269,13 @@
|
|
|
|
|
@@ -231,10 +269,13 @@ void RemoteAccessTest::testSendReleaseMultiple()
|
|
|
|
|
buf->setSize(50, 50);
|
|
|
|
|
buf->setFormat(100500);
|
|
|
|
|
buf->setStride(7800);
|
|
|
|
@ -283,7 +284,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
|
|
|
|
|
// receive buffer at client 1
|
|
|
|
|
QCOMPARE(bufferReadySpy1.size(), 1);
|
|
|
|
|
@@ -251,6 +292,9 @@
|
|
|
|
|
@@ -251,6 +292,9 @@ void RemoteAccessTest::testSendReleaseMultiple()
|
|
|
|
|
// wait for event loop
|
|
|
|
|
QVERIFY(paramsObtainedSpy1.wait());
|
|
|
|
|
QCOMPARE(paramsObtainedSpy1.size(), 1);
|
|
|
|
@ -293,7 +294,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
QCOMPARE(paramsObtainedSpy2.size(), 1);
|
|
|
|
|
|
|
|
|
|
// release
|
|
|
|
|
@@ -266,25 +310,106 @@
|
|
|
|
|
@@ -266,7 +310,92 @@ void RemoteAccessTest::testSendReleaseMultiple()
|
|
|
|
|
delete buf;
|
|
|
|
|
delete client1;
|
|
|
|
|
delete client2;
|
|
|
|
@ -387,8 +388,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
m_display->dispatchEvents();
|
|
|
|
|
QVERIFY(!m_remoteAccessInterface->isBound());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void RemoteAccessTest::testSendClientGone()
|
|
|
|
|
@@ -275,16 +404,12 @@ void RemoteAccessTest::testSendClientGone()
|
|
|
|
|
{
|
|
|
|
|
// this test verifies that when buffer is sent and client is gone, server will release buffer correctly
|
|
|
|
|
QVERIFY(!m_remoteAccessInterface->isBound());
|
|
|
|
@ -408,7 +408,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
QVERIFY(bufferReadySpy.isValid());
|
|
|
|
|
|
|
|
|
|
BufferHandle *buf = new BufferHandle();
|
|
|
|
|
@@ -295,7 +420,7 @@
|
|
|
|
|
@@ -295,7 +420,7 @@ void RemoteAccessTest::testSendClientGone()
|
|
|
|
|
buf->setSize(50, 50);
|
|
|
|
|
buf->setFormat(100500);
|
|
|
|
|
buf->setStride(7800);
|
|
|
|
@ -417,7 +417,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
|
|
|
|
|
// release forcefully
|
|
|
|
|
QSignalSpy bufferReleasedSpy(m_remoteAccessInterface, &RemoteAccessManagerInterface::bufferReleased);
|
|
|
|
|
@@ -305,7 +430,6 @@
|
|
|
|
|
@@ -305,7 +430,6 @@ void RemoteAccessTest::testSendClientGone()
|
|
|
|
|
|
|
|
|
|
// cleanup
|
|
|
|
|
delete buf;
|
|
|
|
@ -425,7 +425,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
m_display->dispatchEvents();
|
|
|
|
|
QVERIFY(!m_remoteAccessInterface->isBound());
|
|
|
|
|
}
|
|
|
|
|
@@ -315,16 +439,12 @@
|
|
|
|
|
@@ -315,16 +439,12 @@ void RemoteAccessTest::testSendReceiveClientGone()
|
|
|
|
|
// this test verifies that when buffer is sent, received and client is gone,
|
|
|
|
|
// both client and server will release buffer correctly
|
|
|
|
|
QVERIFY(!m_remoteAccessInterface->isBound());
|
|
|
|
@ -445,7 +445,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
QVERIFY(bufferReadySpy.isValid());
|
|
|
|
|
|
|
|
|
|
BufferHandle *buf = new BufferHandle();
|
|
|
|
|
@@ -335,7 +455,7 @@
|
|
|
|
|
@@ -335,7 +455,7 @@ void RemoteAccessTest::testSendReceiveClientGone()
|
|
|
|
|
buf->setSize(50, 50);
|
|
|
|
|
buf->setFormat(100500);
|
|
|
|
|
buf->setStride(7800);
|
|
|
|
@ -454,7 +454,7 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
|
|
|
|
|
// receive buffer
|
|
|
|
|
QVERIFY(bufferReadySpy.wait());
|
|
|
|
|
@@ -359,11 +479,9 @@
|
|
|
|
|
@@ -359,11 +479,9 @@ void RemoteAccessTest::testSendReceiveClientGone()
|
|
|
|
|
|
|
|
|
|
// cleanup
|
|
|
|
|
delete buf;
|
|
|
|
@ -467,9 +467,10 @@ ndiff --git a/autotests/client/test_remote_access.cpp b/autotests/client/test_re
|
|
|
|
|
QTEST_GUILESS_MAIN(RemoteAccessTest)
|
|
|
|
|
#include "test_remote_access.moc"
|
|
|
|
|
diff --git a/src/server/remote_access_interface.cpp b/src/server/remote_access_interface.cpp
|
|
|
|
|
index f8610f6..8b96f38 100644
|
|
|
|
|
--- a/src/server/remote_access_interface.cpp
|
|
|
|
|
+++ b/src/server/remote_access_interface.cpp
|
|
|
|
|
@@ -204,13 +204,18 @@
|
|
|
|
|
@@ -204,13 +204,18 @@ void RemoteAccessManagerInterface::Private::sendBufferReady(const OutputInterfac
|
|
|
|
|
|
|
|
|
|
// clients don't necessarily bind outputs
|
|
|
|
|
if (boundScreens.isEmpty()) {
|
|
|
|
|