qt6-bb10/tests/auto/corelib/kernel/qcoreapplication
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
..
.gitignore Moving relevant tests to corelib/kernel 2011-09-01 12:42:14 +02:00
CMakeLists.txt tst_Q*Application: add tests for unusual qApp creations and exits 2025-01-20 13:31:34 -08:00
Info.plist Provide sensible defaults for QCoreApplication::applicationVersion 2017-01-12 02:13:21 +00:00
apphelper.cpp tst_Q*Application: add tests for unusual qApp creations and exits 2025-01-20 13:31:34 -08:00
maybeshow.h tst_Q*Application: add tests for unusual qApp creations and exits 2025-01-20 13:31:34 -08:00
tst_qcoreapplication.cpp tst_Q*Application: add tests for unusual qApp creations and exits 2025-01-20 13:31:34 -08:00
tst_qcoreapplication.h tst_Q*Application: add tests for unusual qApp creations and exits 2025-01-20 13:31:34 -08:00
tst_static_qcoreapplication.cpp tst_Q*Application: add tests for unusual qApp creations and exits 2025-01-20 13:31:34 -08:00