qt6-bb10/tests/auto/widgets/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
..
qaction tst_QAction::disableShortcutsWithBlockedWidgets remove setActiveWindow 2024-04-30 18:30:16 +02:00
qactiongroup Change license for tests files 2024-02-04 09:56:42 +01:00
qapplication tst_Q*Application: add tests for unusual qApp creations and exits 2025-01-20 13:31:34 -08:00
qboxlayout QBoxLayout: don't crash on passing invalid index 2024-12-19 05:16:38 +00:00
qformlayout Change license for tests files 2024-02-04 09:56:42 +01:00
qgesturerecognizer Change license for tests files 2024-02-04 09:56:42 +01:00
qgridlayout Tests: Reduce the number of module includes 2024-11-04 19:42:27 +00:00
qlayout QLayout: Consume ChildRemoved event, when layout is disabled 2024-04-10 19:01:06 +00:00
qshortcut tst_QShortcut::duplicatedShortcutOverride() remove setActiveWindow() 2024-04-26 17:37:57 +02:00
qsizepolicy Change license for tests files 2024-02-04 09:56:42 +01:00
qstackedlayout tst_QStackedLayout::keepFocusAfterSetCurrent() remove setActiveWindow() 2024-05-06 16:29:02 +02:00
qtooltip tst_QTooltip::qtbug64550_stylesheet() remove setActiveWindow() 2024-04-26 18:19:37 +02:00
qwidget Extend blacklisting of tst_QWidget::showMinimizedKeepsFocus to macOS 15 2024-12-20 04:30:28 +00:00
qwidget_window tests: skip tst_QWidget_window::tst_dnd_events() on u2404 x11 2024-10-03 08:36:59 +00:00
qwidgetaction Change license for tests files 2024-02-04 09:56:42 +01:00
qwidgetmetatype Change license for tests files 2024-02-04 09:56:42 +01:00
qwidgetrepaintmanager widgets: Use per-surface-format RHI support and compositor 2024-06-01 00:24:34 +02:00
qwidgetsvariant Change license for tests files 2024-02-04 09:56:42 +01:00
qwindowcontainer tests: blacklist tst_QWindowContainer::testFocus() on Wayland 2024-10-03 08:37:04 +00:00
CMakeLists.txt tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00