Go to file
Bradley T. Hughes 3f74aea9bb Fix tst_QSocketNotifier on Mac OS X
Socket notifier behavior is very OS-dependent. QtNetwork uses non-
immediately (it will return -1 w/ errno=EINPROGRESS). We have to wait
with select(2) to indicate that the connection is ready, then call
connect(2) again. When this happens, we need another call to select(2)
to get notification on the listening socket so that we can call
accept(2) to complete the connection.

The mixingWithTimers() failure happens due to the test expecting a
single processEvents() call to be able to completely connect a TCP
socket. But as described above, this may not happen. The test should
QTRY_COMPARE() to give the test a chance to let all this happen.

The posixSockets() test can fail due to the same connect() behavior. The
test already has a comment about the write notifier behavior being very
OS dependent. This caused the first enterLoop() to return too early,
before the read notifier fired (which is what the test is checking for,
that the read notifier fired). Move creation of the write notifier to
where we expect it to fire, just before writing to the posix socket.

In the same test, the read notifier inside QTcpSocket may not fire after
the write notifier on the posix socket. Use the waitForReadyRead()
function to give the socket a chance to read the data written to the
posix socket.

Change-Id: I541e6ee9a39a92ce3acf6b9ffee51079febe43e4
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
2012-02-13 22:16:17 +01:00
bin make locateSyncProfile() a "tad" less convoluted 2012-02-10 00:27:44 +01:00
config.tests Reorganize evdev plugins 2012-02-08 03:13:18 +01:00
dist testlib: Count passes, fails and skips consistently. 2012-02-13 01:46:09 +01:00
doc/src Various documentation fixes ported from 4.8 2012-02-09 12:51:57 +01:00
examples Move QtConcurrent into its own module 2012-02-05 17:49:16 +01:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs Fix warnings about existing directories during cmake file creation. 2012-02-11 13:30:31 +01:00
qmake Implement QMAKE_SUBSTITUTES.config = verbatim. 2012-02-11 13:30:31 +01:00
src Cleanup HEADERS+=... in src/corelib/arch/arch.pri 2012-02-13 22:15:48 +01:00
tests Fix tst_QSocketNotifier on Mac OS X 2012-02-13 22:16:17 +01:00
tools compile without rtti 2012-02-09 22:13:34 +01:00
util Avoid non-standard indentation of license headers. 2012-01-30 16:40:10 +01:00
.gitattributes Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
.gitignore Update .gitignore to ignore qmake/qmake_pch.pch 2012-02-03 06:05:02 +01:00
.tag Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
configure Force -fPIE on ELF if Qt is built with reduced relocations 2012-02-10 11:42:31 +01:00
configure.exe Rebuild configure.exe. 2012-02-08 03:14:04 +01:00
header.BSD Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.FDL Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.LGPL Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.LGPL-ONLY Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
INSTALL Remove Symbian specific code from qtbase. 2012-01-31 07:08:31 +01:00
LGPL_EXCEPTION.txt Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.LGPL Update contact information in license headers. 2012-01-23 04:04:33 +01:00
LICENSE.PREVIEW.COMMERCIAL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
qtbase.pro Add configure, sync.profile, and header.* to OTHER_FILES in qtbase.pro 2012-02-08 07:40:03 +01:00
sync.profile Add qprocessordetection.h 2012-02-08 12:33:11 +01:00