summaryrefslogtreecommitdiffstats
path: root/tests/auto/network
Commit message (Collapse)AuthorAgeFilesLines
...
| * Accept LFCRLF to mark end of HTTP HeadersDyami Caliri2016-03-091-0/+67
| | | | | | | | | | | | | | | | | | | | Some embedded servers use LF to mark the end of an individual header, but use CRLF to mark the end of all the headers. The GoPro WiFi interface does this, as an example. Change-Id: I227ab73622c84f439a6cf8703d020393c4d8bf69 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
| * Blacklist tst_qnetworkreply tests that fail in RHEL 7.1Tony Sarajärvi2016-03-031-0/+4
| | | | | | | | | | | | Task-number: QTBUG-51545 Change-Id: I0f5fdef315f87401ca5e638bce5dd2dbe85bcb83 Reviewed-by: Akseli Salovaara <akseli.salovaara@theqtcompany.com>
| * Speed up tst_QLocalSocket::sendDataJoerg Bornemann2016-03-031-1/+5
| | | | | | | | | | | | | | | | | | | | | | The data function for this test re-used listenAndConnect_data that has an additional column "connections" which was never used in sendData. Thus sendData executed three times the same code which is just uselessly burned CI time. Copied the actually needed code of listenAndConnect_data to sendData_data. Change-Id: I6cdb1c1b72cb4ce7be7c13e90eea30ac09a14914 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Integrate network sockets into the multichannel infrastructureAlex Trotsenko2016-03-011-0/+16
| | | | | | | | | | | | | | Change-Id: I96974a7460c29b46cae8a28aadb3e50cdcdb7beb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
* | Merge "Merge remote-tracking branch 'origin/5.6' into dev" into refs/staging/devLiang Qi2016-01-261-7/+0
|\ \
| * | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-261-7/+0
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java src/dbus/qdbusconnection_p.h src/dbus/qdbusintegrator.cpp src/dbus/qdbusintegrator_p.h tests/auto/corelib/io/qdir/qdir.pro tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp Change-Id: I3d3fd07aed015c74b1f545f1327aa73d5f365fcc
| | * Autotest: remove the check that broadcast = ip | ~netmaskThiago Macieira2016-01-211-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's possible to configure an interface so that it isn't the case. I have no idea if this is a valid scenario, but the unit test shouldn't enforce that. ip addr can report: inet 192.168.1.1/32 brd 192.168.1.255 scope global vlan0 valid_lft forever preferred_lft forever Change-Id: I8de47ed6c7be4847b99bffff141c337575760bd9 Reviewed-by: Richard J. Moore <rich@kde.org>
* | | qabstractnetworkcache - enable several testsTimur Pocheptsov2016-01-261-7/+0
|/ / | | | | | | | | | | | | Remove several test from black-list - they do not seem to fail anymore. Change-Id: Idb7d6925a4fdea9b47d963e33a455af0afb7b432 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | Merge "Merge remote-tracking branch 'origin/5.6' into dev" into refs/staging/devLiang Qi2016-01-262-0/+68
|\ \
| * | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-212-0/+68
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qiodevice_p.h src/corelib/kernel/qvariant_p.h src/corelib/tools/qsimd.cpp src/gui/kernel/qguiapplication.cpp tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp Change-Id: I742a093cbb231b282b43e463ec67173e0d29f57a
| | * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-191-0/+21
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/common/atomic64/atomic64.cpp configure src/3rdparty/forkfd/forkfd.c src/corelib/io/forkfd_qt.cpp src/widgets/kernel/qwidgetwindow.cpp tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp tools/configure/configureapp.cpp Change-Id: Ic6168d82e51a0ef1862c3a63bee6722e8f138414
| | | * QAbstractSocket: do not enable read notifications on TCP in bind()Alex Trotsenko2015-12-241-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In bind+connect scenario, rejected connection can trigger a read notification while the socket is opened. But unlike UDP, reading from the socket engine or emitting a readyRead() signal is not allowed for the TCP socket in bound or connecting state. To make a bind+connect scenario work properly, disable the read notifications until a connection is established. Task-number: QTBUG-50124 Change-Id: I7b3d015b0f6021fb9ff9f83560478aa5545f41f5 Reviewed-by: Richard J. Moore <rich@kde.org>
| | | * Don't let closed http sockets pass as valid connectionsUlf Hermann2015-11-051-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A QAbstractSocket can be close()'d at any time, independently of its current connection state. being closed means that we cannot use it to read or write data, but internally it might still have some data to send or receive, for example to an http server. We can even get a connected() signal after close()'ing the socket. We need to catch this condition and mark any pending data not yet written to the socket for resending. (cherry picked from commit 0df5d079290b4c3b13e58e9397fabdc1dfdba96b) Task-number: QTBUG-48326 Change-Id: I67d9ad36f7288c9c6bef51aa6253d7b187737601 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com> Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
| | * | QHttpSocketEngine: ensure pending EOF triggers a notificationAlex Trotsenko2016-01-181-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the remote peer closed the connection, a read notification needs to always be emitted, otherwise the higher layer does not get the disconnected signal. From the other side, underlying QAbstractSocket object could temporarily disable notifications from the engine at any time. To avoid possible blocking of the socket, take a pending EOF into account when the read notifications are re-enabled. Change-Id: Iac9d4e2f790530be3500baf5a2000f1f63df5cc2 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* | | | Add Intel copyright to files that Intel has had non-trivial contributionThiago Macieira2016-01-216-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I wrote a script to help find the files, but I reviewed the contributions manually to be sure I wasn't claiming copyright for search & replace, adding Q_DECL_NOTHROW or adding "We mean it" headers. Change-Id: I7a9e11d7b64a4cc78e24ffff142b506368fc8842 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | | Updated license headersJani Heikkinen2016-01-2154-915/+645
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I42a473ddc97101492a60b9287d90979d9eb35ae1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devFrederik Gladhorn2016-01-081-0/+2
|\| | | | | | | | | | | | | | | | | Based on merge done by Liang Qi Change-Id: Id566e5b9f284d29bff2199f13f9417c660f5b26f
| * | winrt: Use winsock2 API for hostname resolution on WinRT/WinPhoneOliver Wolff2016-01-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That API has been available for WinRT and Windows Phone for some time now. By using it to get the machine name and for hostname resolution we can get rid of some winrt-only code and use qhostinfo_win.cpp on WinRT and Windows phone as well. Additionally the required capability was added to tst_qhostinfo so that this auto test can be run without any manual editing. Change-Id: I63fa5521bf8cdb0c919bd5a0100ea977c865622a Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* | | Make ephemeral server key availableSebastian Lösch2016-01-041-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using cipher algorithms with forward secrecy an ephemeral key is used to generate the symmetric session key. Beside the SSL certificate's key, this ephemeral key is of cryptographic interest. The ephemeral key is chosen by the server side - currently statically in the Qt implementation - so it is only of interest on the client side to check it. Therefore the ephemeral key is the null key if the connection is set up in server mode or a cipher without forward secrecy is used. Change-Id: If241247dbb8490a91233ae47f2b38952c6591bf4 Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-186-4/+27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/painting.pri src/plugins/platforms/xcb/qxcbconnection.cpp tests/auto/corelib/thread/qthreadstorage/qthreadstorage.pro tests/auto/corelib/tools/qlocale/test/test.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp tools/configure/environment.cpp Change-Id: I9c40f458b89b2c206de2d2c24e90b5f679c93495
| * | Fix compilation for WinRTMaurice Kalinowski2015-12-145-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | TEST_HELPER_INSTALLS cannot be used on platforms with no QProcess support. Change-Id: I2a6a283d94ca4487fc628449c53fc37140dd291d Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| * | QNetworkInterface: fix support for address labels on Linux interfacesThiago Macieira2015-12-081-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 64a1448d87727878d9789906b2f4f5b9e3d74e38 (Qt 5.2) caused QNetworkInterface to report address labels (a.k.a. interface aliases) as separate interfaces. This is caused by the fact that glibc, uClibc and MUSL copy the address label (netlink address attribute IFA_LABEL) to the ifa_name field, which made QNetworkInterfaceManager think that it was an interface it hadn't yet seen. Address labels are the old way to add more than one IP address to an interface on Linux, for example: ifconfig eth0:1 192.0.2.2 Those do not create a new interface, so the "eth0:1" label maps to the same interface index as the parent interface. This has been deprecated for 10 years, but there are still tools out there that add addresses in this manner. This commit restores behavior compatibility with Qt 4.2-5.1. The Qt 5.2-5.5 behavior is incorrect because it reports more than one interface with the same index. On systems configured like the above, the tst_QNetworkInterface::interfaceFromXXX test was failing. Change-Id: I8de47ed6c7be4847b99bffff141c2d9de8cf7329 Reviewed-by: Richard J. Moore <rich@kde.org>
* | | Tests: Remove empty init/cleanup slots, constructors and destructors.Friedemann Kleint2015-12-1018-300/+14
| | | | | | | | | | | | | | | | | | | | | | | | Move some code (like registrations of meta types) from init() to initTestCase() in the process. Change-Id: I57db5156647cfadab554fbed853b2e68b2815f3b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devSimon Hausmann2015-12-081-1/+4
|\| | | | | | | | | | | Change-Id: I2532c7f7db5e6cc3ef09753d886279816dd662b2
| * | tst_QLocalSocket::threadedConnection(): Add failure message.Friedemann Kleint2015-12-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Introduce QVERIFY2() to get some information when exactly it fails. Change-Id: Icaddf2ecae434d0bafc90c18458c5ee067dfd506 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devSimon Hausmann2015-11-271-8/+6
|\| | | | | | | | | | | Change-Id: Ib43c6f126998eefcfed9a7c1f2bcbac8b4dd05ec
| * | tst_QNetworkReply: Fix repetitive invocation of cleanup().Friedemann Kleint2015-11-241-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | Move the code from cleanup() into a separate cleanupTestData() and call this from initTestData() and cleanup(). Remove slot init(). Change-Id: I4e7b5b89197ed0aa50f46f730e9c1d9c59749614 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Remove remaining support for BlackberryLouai Al-Khanji2015-11-212-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The platform is no longer supported or actively maintained, and is in the way for improvements to the Unix event dispatcher and QProcess implementations. Change-Id: I3935488ca12e2139ea5f46068d7665a453e20526 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | tst_qnetworkcookiejar: Added TESTDATA to .pro fileTuomas Heimonen2015-11-201-0/+1
| | | | | | | | | | | | | | | Change-Id: I49058479765db2cc4dbe25a8c05edfe0af0d7d12 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-11-181-0/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess.cpp src/corelib/io/qprocess_unix.cpp src/network/kernel/qnetworkinterface_winrt.cpp tools/configure/configureapp.cpp Change-Id: I47df00a01597d2e63b334b492b3b4221b29f58ea
| * | tests: blacklist the data row which uses internet in tst_qftp.cppLiang Qi2015-11-171-0/+3
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-49485 Change-Id: I2e4af34cd148e7aa888bf93cafa012515c5cd504 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-11-043-1/+38
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/unix/ptrsize.test configure src/corelib/global/qnamespace.h src/network/socket/qabstractsocket.cpp tests/auto/other/networkselftest/networkselftest.pro Change-Id: Ic78abb4a34f9068567cea876861d4220f5a07672
| * | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-11-041-0/+29
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qstorageinfo_unix.cpp src/plugins/platforms/windows/qwindowsmousehandler.cpp src/widgets/styles/qwindowsvistastyle.cpp Change-Id: Ie1725933815891cc8c86258d4c0e8ed0ab386edf
| | * QWindowsPipeReader: fix occasional "Unknown error 995"Joerg Bornemann2015-11-021-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After canceling the asynchronous read operation, the notified() slot receives ERROR_OPERATION_ABORTED. We must not handle this situation as an error. This amends commit 5ce567c5. Task-number: QTBUG-48336 Change-Id: Iff948ceb3ad1f805a9de8c188fbc39ed4c76ba82 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * | tst_qudpsocket::multicast - blacklist several combinationsTimur Pocheptsov2015-10-301-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Different multicast tests fail on different platforms for different reasons. Blacklist them to get rid of insignificant and later fix/un-blacklist. Change-Id: I91548366c7666478ea1cc446bbf337becfdefd49 Task-number: QTBUG-46612 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@theqtcompany.com>
| * | Disable tst_QSslCertificate::subjectAndIssuerAttributes completelyFrederik Gladhorn2015-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a follow-up for 5c1b9bbdf14a9537bd66aedbfd1c72bde0c899e0 disable the test on all platforms, since it fails on newer openssl. This was now also happening on Windows, so until a fix is there, skip the test. Change-Id: I6c8822c0ac5411b1114e9cd426219574ab1c9b54 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | | tst_QNetworkReply::ioGetFromBuiltinHttp - fix for large kernel buffersTimur Pocheptsov2015-11-031-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some platforms our 1200 x 1000 bytes seems to be not enough to fill kernel buffers (socket write). But it's not a reason to fail test, just skip it. Task-number:QTBUG-49205 Change-Id: I13ea6f315f9318288ba054cf8bfa6cdd61e489d2 Reviewed-by: Richard J. Moore <rich@kde.org>
* | | Fix building with QT_NO_BEARERMANAGEMENTUlf Hermann2015-10-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the examples make no sense without bearer management and QNetworkSession is not defined if QT_NO_BEARERMANAGEMENT, so tst_qnetworkreply.cpp has to be adjusted. Change-Id: Ic2f73746cba74f670ae5b5e99b0be1461ff6d182 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | tests/auto/network: Remove some placeholder formatting.Friedemann Kleint2015-10-1913-75/+89
| | | | | | | | | | | | | | | | | | | | | | | | Use QByteArray/QString addition instead in loops and for test row names. Change-Id: I7974ace5b34f2da43e7511044e80de1e733245ac Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | | Add QNetworkInterface::interface{IndexFromName,NameFromIndex}Thiago Macieira2015-10-151-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are for faster lookups between ID and name when one doesn't need the full information set about the interface. Change-Id: I7de033f80b0e4431b7f1ffff13f98d448a705c3e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-10-146-18/+146
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/corelib/io/qfile/tst_qfile.cpp tests/auto/corelib/io/qprocess/tst_qprocess.cpp tests/auto/corelib/tools/qversionnumber/qversionnumber.pro Change-Id: Ia93ce500349d96a2fbf0b4a37b73f088cc505c6e
| * | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-131-0/+13
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/socket/qabstractsocket.cpp src/plugins/platforms/winrt/qwinrtscreen.cpp src/sql/drivers/mysql/qsql_mysql.cpp Change-Id: Ifb73623d09f53340ee5e10283f1f86b580998902
| | * QAbstractSocket: fix writing to socket in HostLookup stateAlex Trotsenko2015-10-131-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After calling connectToHost(), the socket enters HostLookup state. At this stage, the socket engine was not created yet, and writing to the socket should result in either data buffering or an error. So, add a check for d->socketEngine to prevent a crash on unbuffered sockets. Task-number: QTBUG-48356 Change-Id: I15ea9ce7de97ce6d7e13e358eca5350745b556bb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Richard J. Moore <rich@kde.org>
| * | Don't let closed http sockets pass as valid connectionsUlf Hermann2015-10-131-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A QAbstractSocket can be close()'d at any time, independently of its current connection state. being closed means that we cannot use it to read or write data, but internally it might still have some data to send or receive, for example to an http server. We can even get a connected() signal after close()'ing the socket. We need to catch this condition and mark any pending data not yet written to the socket for resending. Task-number: QTBUG-48326 Change-Id: I6f61c35f2c567f2a138f8cfe9ade7fd1ec039be6 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-022-14/+71
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/src/qmake-manual.qdoc src/corelib/tools/qstring.h src/gui/image/qimagereader.cpp src/network/access/qnetworkaccessmanager.cpp src/tools/qdoc/doc/examples/examples.qdoc src/widgets/accessible/qaccessiblewidgetfactory_p.h src/widgets/doc/qtwidgets.qdocconf Change-Id: I8fae62283aebefe24e5ca4b4abd97386560c0fcb
| | * Make sure networkAccessibilityChanged is emittedLorn Potter2015-09-261-14/+17
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-46323 Change-Id: I8297072b62763136f457ca6ae15282d1c22244f4 Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
| | * QUdpSocket: avoid infinite read notifier blockingAlex Trotsenko2015-09-101-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a small amount of time between the last readDatagram() call and disabling a read notifier in case the socket had a pending datagram. If a new datagram arrived in this period, this qualified as absence of a datagram reader. Do not change the read notifier state because it is disabled on canReadNotification() entry and always enabled by the datagram reader. Thanks to Peter Seiderer, who investigated the same: "Querying hasPendingDatagrams() for enabling/disabling setReadNotificationEnabled() is racy (a new datagram could arrive after readDatagam() is called and before hasPendingDatagrams() is checked). But for unbuffered sockets the ReadNotification is already disabled before the readReady signal is emitted and should be re-enabled when calling read() or readDatagram() from the user." However, this patch does not completely solve the problem under Windows, as the socket notifier may emit spurious notifications. Task-number: QTBUG-46552 Change-Id: If7295d53ae2c788c39e86303502f38135c4d6180 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Tests: Always verify whether QTemporaryDir/File creation succeeded.Friedemann Kleint2015-09-283-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QVERIFY2() with QTemporaryDir/File::errorString() consistently. Attempt to catch issues like the below warning and follow-up issues. QSYSTEM: tst_QFiledialog::clearLineEdit() QFileSystemWatcher: FindNextChangeNotification failed for "C:\Users\qt\_____aaaaaaaaaaaaaaaaaaaaaa" (Access is denied.) Task-number: QTBUG-47370 Change-Id: I58a6e87c502627e976efa62ad73c912f3b2d49fa Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | | Tests: Use QCOMPARE() with QLatin1String() for QString values.Friedemann Kleint2015-10-143-8/+8
| | | | | | | | | | | | | | | | | | | | | Prefer QCOMPARE over QVERIFY for equality and use QLatin1String(). Change-Id: If226a0fc7b25be3e6774c7e36ca1e6f99234e5dd Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | | Tests: Fix single-character string literals.Friedemann Kleint2015-10-136-12/+12
| | | | | | | | | | | | | | | | | | | | | Use character literals where applicable. Change-Id: I1a026c320079ee5ca6f70be835d5a541deee2dd1 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>