summaryrefslogtreecommitdiffstats
path: root/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
diff options
context:
space:
mode:
authorAlex Trotsenko <alex1973tr@gmail.com>2021-07-14 19:58:48 +0300
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-07-24 12:04:10 +0000
commit55b2a1e4fc7c3fc1369c0832c375af056eef1eea (patch)
tree0bd1373ae902a5c9b516c93916a3841f0c92caeb /tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
parent57015d8551ab5fe92481f9ebbe6eb80a2e831063 (diff)
QLocalSocket/Unix: fix aborting the socketv6.2.0-beta2
According to the documentation, calling abort() should immediately reset the socket to its initial state. This includes: - closing the file descriptor; - closing the QLocalSocket as an I/O device; - canceling a pending outgoing connection, if it exist; - reseting 'serverName' string. So, adding a call to close() resets the state entirely. Change-Id: I9c604b5187c6300b437d7aa4c2d06db03edacf21 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit d9c0af92bd893e1f6a0b4c627300ea96a73aba55) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp')
-rw-r--r--tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
index cc0b927970..e1e01a5146 100644
--- a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
+++ b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
@@ -914,6 +914,7 @@ void tst_QLocalSocket::simpleCommandProtocol2()
server.listen(QStringLiteral("simpleProtocol"));
QLocalSocket localSocketWrite;
+ QSignalSpy spyDisconnected(&localSocketWrite, SIGNAL(disconnected()));
localSocketWrite.connectToServer(server.serverName());
QVERIFY(server.waitForNewConnection());
QLocalSocket* localSocketRead = server.nextPendingConnection();
@@ -955,6 +956,11 @@ void tst_QLocalSocket::simpleCommandProtocol2()
}
localSocketWrite.abort();
+ QCOMPARE(localSocketWrite.state(), QLocalSocket::UnconnectedState);
+ QCOMPARE(spyDisconnected.count(), 1);
+ QCOMPARE(localSocketWrite.bytesToWrite(), 0);
+ QVERIFY(!localSocketWrite.isOpen());
+
QVERIFY(localSocketRead->waitForDisconnected(1000));
}