qt5base-lts/tests
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
..
auto Fix tst_QSocketNotifier on Mac OS X 2012-02-13 22:16:17 +01:00
baselineserver Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
benchmarks Replace Q_WS_WINCE against Q_OS_WINCE. 2012-02-09 10:45:38 +01:00
global Modularized tst_bic and add some helper functions for global test 2011-04-27 12:06:03 +02:00
manual Add -fPIE to the Qt5Core_COMPILE_FLAGS with reduce-relocations. 2012-02-10 19:21:24 +01:00
shared Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
README Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
tests.pro Re-enable the corelib autotests on Mac OS X 2011-11-21 11:31:35 +01:00

This directory contains autotests and benchmarks based on QTestlib. In order
to run the autotests reliably, you need to configure a desktop to match the
test environment that these tests are written for.

Linux X11:

   * The user must be logged in to an active desktop; you can't run the
     autotests without a valid DISPLAY that allows X11 connections.

   * The tests are run against a KDE3 or KDE4 desktop.

   * Window manager uses "click to focus", and not "focus follows mouse". Many
     tests move the mouse cursor around and expect this to not affect focus
     and activation.

   * Disable "click to activate", i.e., when a window is opened, the window
     manager should automatically activate it (give it input focus) and not
     wait for the user to click the window.