qt5base-lts/tests
Shane Kearns a590e77fd8 Fix QNetworkConfigurationManager usage outside main thread first
QNetworkConfigurationManager creates the engines loaded from plugins
as objects in the main thread.
If a QNetworkConfigurationManager instance is created in a worker thread
without any instance previously existing in the main thread, then it
is uninitialised until the main thread has run.
This causes allConfigurations() to return an empty list if called
immediately after instantiation, for example.

This fix initialises the plugins using blocking queued connections,
which causes the worker thread to block until the initialisation function
has been called in the context of the main thread.
Deadlock is possible if the main thread is for some reason waiting on the
worker thread, but it will not deadlock on QNetworkConfigurationManager's
mutex.
If this is a problem for an application, it should use
QNetworkConfigurationManager from the main thread first to preload the
plugins.

Task-number: QTBUG-18795
Task-number: QTBUG-18799
Reviewed-by: Cristiano Di Flora
2011-05-09 13:50:02 +02:00
..
arthur Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
auto Fix QNetworkConfigurationManager usage outside main thread first 2011-05-09 13:50:02 +02:00
benchmarks Only run JSC benchmarks if access to the source code 2011-04-27 12:06:04 +02:00
global Modularized tst_bic and add some helper functions for global test 2011-04-27 12:06:03 +02:00
manual Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
shared Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
README Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
tests.pro Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02: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.