diff options
author | Kai Koehne <kai.koehne@qt.io> | 2020-11-19 16:06:05 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2020-11-20 13:28:31 +0000 |
commit | ce29ce586f06f56a66198b934f8860946380e26e (patch) | |
tree | b6c17c8e4261fd1e40b1d075b10a75bf4e6b5a38 /tests/auto | |
parent | 5509449daf699958c212f4d14060c2c2af902317 (diff) |
Revert "Allow QWindowsPipe{Reader,Writer} to work with foreign event loops"
This reverts commit ee122077b09430da54ca09750589b37326a22d85.
Reason for revert: This causes QProcess::readAll() to sometimes
return nothing after the process has ended.
Fixes: QTBUG-88624
Change-Id: I34fa27ae7fb38cc7c3a1e8eb2fdae2a5775584c2
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 23100ee61e33680d20f934dcbc96b57e8da29bf9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/gui/kernel/noqteventloop/tst_noqteventloop.cpp | 41 | ||||
-rw-r--r-- | tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp | 5 |
2 files changed, 2 insertions, 44 deletions
diff --git a/tests/auto/gui/kernel/noqteventloop/tst_noqteventloop.cpp b/tests/auto/gui/kernel/noqteventloop/tst_noqteventloop.cpp index ba0e03af4c..3e19764618 100644 --- a/tests/auto/gui/kernel/noqteventloop/tst_noqteventloop.cpp +++ b/tests/auto/gui/kernel/noqteventloop/tst_noqteventloop.cpp @@ -35,8 +35,6 @@ #include <QtGui/qrasterwindow.h> #include <QtNetwork/qtcpserver.h> #include <QtNetwork/qtcpsocket.h> -#include <QtNetwork/qlocalserver.h> -#include <QtNetwork/qlocalsocket.h> #include <QtCore/qelapsedtimer.h> #include <QtCore/qtimer.h> #include <QtCore/qwineventnotifier.h> @@ -53,7 +51,6 @@ class tst_NoQtEventLoop : public QObject private slots: void consumeMouseEvents(); void consumeSocketEvents(); - void consumeLocalSocketEvents(); void consumeWinEvents_data(); void consumeWinEvents(); void deliverEventsInLivelock(); @@ -321,44 +318,6 @@ void tst_NoQtEventLoop::consumeSocketEvents() QVERIFY(server.hasPendingConnections()); } -void tst_NoQtEventLoop::consumeLocalSocketEvents() -{ - int argc = 1; - char *argv[] = { const_cast<char *>("test"), 0 }; - QGuiApplication app(argc, argv); - QLocalServer server; - QLocalSocket client; - QSignalSpy readyReadSpy(&client, &QIODevice::readyRead); - - QVERIFY(server.listen("consumeLocalSocketEvents")); - client.connectToServer("consumeLocalSocketEvents"); - QVERIFY(client.waitForConnected(200)); - QVERIFY(server.waitForNewConnection(200)); - QLocalSocket *clientSocket = server.nextPendingConnection(); - QVERIFY(clientSocket); - QSignalSpy bytesWrittenSpy(clientSocket, &QIODevice::bytesWritten); - server.close(); - - bool timeExpired = false; - QTimer::singleShot(3000, Qt::CoarseTimer, [&timeExpired]() { - timeExpired = true; - }); - QVERIFY(clientSocket->putChar(0)); - - // Exec own message loop - MSG msg; - while (::GetMessage(&msg, NULL, 0, 0)) { - ::TranslateMessage(&msg); - ::DispatchMessage(&msg); - - if (timeExpired || readyReadSpy.count() != 0) - break; - } - QVERIFY(!timeExpired); - QCOMPARE(bytesWrittenSpy.count(), 1); - QCOMPARE(readyReadSpy.count(), 1); -} - void tst_NoQtEventLoop::consumeWinEvents_data() { QTest::addColumn<bool>("peeking"); diff --git a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp index c4f4fcc207..e481db6644 100644 --- a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp +++ b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp @@ -634,12 +634,11 @@ void tst_QLocalSocket::readBufferOverflow() QCOMPARE(client.bytesAvailable(), 0); #ifdef Q_OS_WIN - // ensure the previous write operation is finished - QVERIFY(serverSocket->waitForBytesWritten()); - serverSocket->write(buffer, readBufferSize); QVERIFY(serverSocket->waitForBytesWritten()); + // ensure the read completion routine is called + SleepEx(100, true); QVERIFY(client.waitForReadyRead()); QCOMPARE(client.read(buffer, readBufferSize), qint64(readBufferSize)); |