qt6-bb10/tests/auto/gui/kernel
Thiago Macieira c17da11f5f tst_Q*Application: add tests for unusual qApp creations and exits
This commit adds one unusual creation and three more unusual exits:
* creation of the Q*Application in a thread (QTBUG-130895)
* exits using ::exit() instead of returning from main():
  * from the main thread's event loop
  * from an auxiliary thread
  * from inside an auxiliary thread's event loop

All of these exercise the moment the QAdoptedThread & QThreadData for
the main thread is destroyed, which are, respectively:
* thread exit time, running thread-specific destructors
* inside exit(), running atexit()-like callbacks (qthread_*.cpp)
* [tst_static_q*application] inside exit(), running static destructors
  (added in commit 1da7558bfd7626bcc40a214a90ae5027f32f6c7f)

Unlike the tst_static_q*application tests, the calls to ::exit() cannot
be a regular QtTest because that would cause the log output to be
incomplete. The threaded Q*Application could be a test of its own, but
since I needed to add the helper anyway, I chose to add the test there.

For the majority of the tests, the failure mode is going to be a crash
on exit.

Task-number: QTBUG-12673
Task-number: QTBUG-132429
Change-Id: I1062ef500356bd97dd0cfffda4aeeda9afa138e8
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit bfbd1a281dd00c47df315c06e895bf5d53cd8764)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit ea6d467c050c9e4ab58f970f6720b428ec43c8e2)
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2025-01-20 13:31:34 -08:00
..
noqteventloop Change license for tests files 2024-02-04 09:56:42 +01:00
qaction Change license for tests files 2024-02-04 09:56:42 +01:00
qactiongroup Change license for tests files 2024-02-04 09:56:42 +01:00
qaddpostroutine Change license for tests files 2024-02-04 09:56:42 +01:00
qbackingstore tests: extend tst_QBackingStore::flush() 2024-08-12 09:43:38 +00:00
qclipboard Change license for tests files 2024-02-04 09:56:42 +01:00
qcursor Change license for tests files 2024-02-04 09:56:42 +01:00
qdrag Change license for tests files 2024-02-04 09:56:42 +01:00
qevent Fix test compilation issues with QtLite configuration 2024-05-06 14:29:02 +00:00
qfileopenevent Tests: Reduce the number of module includes 2024-11-04 19:42:27 +00:00
qguiapplication tst_Q*Application: add tests for unusual qApp creations and exits 2025-01-20 13:31:34 -08:00
qguichronotimer tst_Q{Chrono,}Timer: fix typo in CMakelists.txt 2025-01-13 13:50:09 +00:00
qguieventdispatcher tst_QEventDispatcher: port to QTEST_THROW_ON_FAIL 2024-06-18 08:09:13 +00:00
qguieventloop CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
qguimetatype Change license for tests files 2024-02-04 09:56:42 +01:00
qguitimer tst_Q{Chrono,}Timer: fix typo in CMakelists.txt 2025-01-13 13:50:09 +00:00
qguivariant Change license for tests files 2024-02-04 09:56:42 +01:00
qhighdpi tst_qhighdpi: Write screen config to temporary directory 2024-08-15 08:37:32 +00:00
qinputdevice Change license for tests files 2024-02-04 09:56:42 +01:00
qinputmethod Change license for tests files 2024-02-04 09:56:42 +01:00
qkeyevent Change license for tests files 2024-02-04 09:56:42 +01:00
qkeysequence Change license for tests files 2024-02-04 09:56:42 +01:00
qmouseevent Change license for tests files 2024-02-04 09:56:42 +01:00
qmouseevent_modal Change license for tests files 2024-02-04 09:56:42 +01:00
qopenglwindow Change license for tests files 2024-02-04 09:56:42 +01:00
qpalette Change license for tests files 2024-02-04 09:56:42 +01:00
qpixelformat Change license for tests files 2024-02-04 09:56:42 +01:00
qrasterwindow Remove extra semi-colons 2024-02-06 20:17:18 +09:00
qscreen Change license for tests files 2024-02-04 09:56:42 +01:00
qshortcut Change license for tests files 2024-02-04 09:56:42 +01:00
qsurfaceformat Change license for tests files 2024-02-04 09:56:42 +01:00
qtouchevent Change license for tests files 2024-02-04 09:56:42 +01:00
qwindow tests: blacklist tst_QWindow::windowExposedAfterReparent() on u24.04 x11 2024-09-20 00:42:58 +00:00
CMakeLists.txt Add QChronoTimer, a timer with nanoseconds precision 2024-03-03 19:56:55 +02:00