From db4b699684029e447b7f180b9b00e2ebc5533175 Mon Sep 17 00:00:00 2001 From: Arttu Tarkiainen Date: Fri, 16 Oct 2020 11:22:26 +0300 Subject: Fix segfault in 'void localSocket()' test function Change-Id: Iced229d7d364f68599bd6eec20db57838f36a671 Reviewed-by: Katja Marttila --- .../installer/clientserver/tst_clientserver.cpp | 64 +++++++++++----------- 1 file changed, 31 insertions(+), 33 deletions(-) (limited to 'tests/auto/installer') diff --git a/tests/auto/installer/clientserver/tst_clientserver.cpp b/tests/auto/installer/clientserver/tst_clientserver.cpp index b3e220c9f..23442d5fa 100644 --- a/tests/auto/installer/clientserver/tst_clientserver.cpp +++ b/tests/auto/installer/clientserver/tst_clientserver.cpp @@ -153,44 +153,42 @@ private slots: const QByteArray message(10905, '0'); QLocalServer server; - { // server - QLocalSocket *rcv = 0; - auto srvDataArrived = [&]() { - QByteArray command, message; - if (!receivePacket(rcv, &command, &message)) - return; - sendPacket(rcv, command, message); - }; - - connect(&server, &QLocalServer::newConnection, [&,srvDataArrived]() { - rcv = server.nextPendingConnection(); - connect(rcv, &QLocalSocket::readyRead, srvDataArrived); - }); + // server + QLocalSocket *rcv = 0; + auto srvDataArrived = [&]() { + QByteArray command, message; + if (!receivePacket(rcv, &command, &message)) + return; + sendPacket(rcv, command, message); + }; - server.listen(socketName); - } + connect(&server, &QLocalServer::newConnection, [&,srvDataArrived]() { + rcv = server.nextPendingConnection(); + connect(rcv, &QLocalSocket::readyRead, srvDataArrived); + }); + + server.listen(socketName); QLocalSocket snd; - { // client - auto clientDataArrived = [&]() { - QByteArray cmd, msg; - if (!receivePacket(&snd, &cmd, &msg)) - return; - QCOMPARE(cmd, command); - QCOMPARE(msg, message); - loop.exit(); - }; - - connect(&snd, &QLocalSocket::readyRead, clientDataArrived); - - QTimer::singleShot(0, [&]() { - snd.connect(&snd, &QLocalSocket::connected, [&](){ - sendPacket(&snd, command, message); - }); - snd.connectToServer(socketName); + // client + auto clientDataArrived = [&]() { + QByteArray cmd, msg; + if (!receivePacket(&snd, &cmd, &msg)) + return; + QCOMPARE(cmd, command); + QCOMPARE(msg, message); + loop.exit(); + }; + + connect(&snd, &QLocalSocket::readyRead, clientDataArrived); + + QTimer::singleShot(0, [&]() { + snd.connect(&snd, &QLocalSocket::connected, [&](){ + sendPacket(&snd, command, message); }); - } + snd.connectToServer(socketName); + }); loop.exec(); } -- cgit v1.2.3