qt5base-lts/tests/auto/corelib/kernel
Friedemann Kleint ecb6327762 QTestLib: Introduce initMain() to run in main before qApp exists
When running Qt autotests on a developer machine with a high
resolution, failures occur due to either some widget becoming too
small, some rounding fuzz appearing when Qt High DPI scaling is active,
or some test taking screenshots failing to deal with device pixel
ratios != 1 in the obtained pixmaps.

It is not feasible to adapt all tests to pass on high resolution
monitors in both modes (Qt High DPI scaling enabled/disabled). It
should be possible to specify the High DPI setting per test.

Previously, it was not possible to set the Qt High DPI scaling
attributes since they must be applied before QApplication
instantiation.

Enable this by checking for the presence of a static void initMain()
function on the test object and invoking it before QApplication
instantiation.

Prototypically use it in tst_qtimer and to turn off High DPI scaling for
tst_QGL.

[ChangeLog][QtTestLib] It is now possible to perform static
initialization before QApplication instantiation by implementing a
initMain() function in the test class.

Change-Id: Idec0134b189710a14c41a451fa8445bc0c5b1cf3
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-08-13 19:07:05 +02:00
..
qcoreapplication Port from QAtomic::load() to loadRelaxed() 2019-06-20 20:48:59 +02:00
qdeadlinetimer Fix integer overflows in QDeadlineTimer 2019-05-08 17:19:44 +00:00
qelapsedtimer unblacklist passing tests 2019-07-08 11:01:42 +00:00
qeventdispatcher unblacklist passing tests 2019-07-08 11:01:42 +00:00
qeventloop unblacklist passing tests 2019-07-08 11:01:42 +00:00
qmath Be (somewhat more) consistent about the value of pi 2017-06-20 09:53:46 +00:00
qmetaenum QMetaEnum: fix UB 2018-10-17 08:48:13 +00:00
qmetamethod Replace Q_NULLPTR with nullptr where possible 2017-09-19 11:53:55 +00:00
qmetaobject Refactor memory allocation for arguments of QMetaCallEvents 2019-08-10 22:04:11 +02:00
qmetaobjectbuilder Qt6: Fix uninitialized meta objects on Windows 2019-07-16 18:34:41 -07:00
qmetaproperty Remove QLatin1Literal usages 2019-06-10 16:50:31 +00:00
qmetatype Introduce QT_NO_LINKED_LIST and mark QtBase (almost) free of it 2019-07-12 14:26:30 +02:00
qmimedata Updated license headers 2016-01-21 18:55:18 +00:00
qobject tst_QObbject: Fix very annoying -Wdeprecated-copy warnings 2019-07-12 06:55:45 +02:00
qpointer Merge remote-tracking branch 'origin/5.6' into 5.7 2016-04-04 08:59:18 +02:00
qsharedmemory Convert uses of QTime as a timer to QElapsedTimer 2019-06-14 10:42:33 +02:00
qsignalblocker Remove handling of missing Q_COMPILER_RVALUE_REFS 2019-05-01 20:24:45 +00:00
qsignalmapper Updated license headers 2016-01-21 18:55:18 +00:00
qsocketnotifier unblacklist passing tests 2019-07-08 11:01:42 +00:00
qsystemsemaphore tst_qsystemsemaphore: Use qt_test_helper functionality 2018-07-31 05:27:08 +00:00
qtimer QTestLib: Introduce initMain() to run in main before qApp exists 2019-08-13 19:07:05 +02:00
qtranslator Port from QAtomic::load() to loadRelaxed() 2019-06-20 20:48:59 +02:00
qvariant Conditionally disable parts of the tests testing the deprecated APIs 2019-08-01 13:51:18 +02:00
qwineventnotifier Merge remote-tracking branch 'origin/5.11' into dev 2018-03-28 08:12:21 +02:00
kernel.pro Make tests compile for Android 2018-06-25 08:01:19 +00:00