qt6-bb10/tests/auto/corelib/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
..
qapplicationstatic Change license for tests files 2024-02-04 09:56:42 +01:00
qchronotimer QChronoTimer: remove static singleShot() functions 2024-08-29 20:41:50 +00:00
qcoreapplication tst_Q*Application: add tests for unusual qApp creations and exits 2025-01-20 13:31:34 -08:00
qdeadlinetimer tst_QDeadlineTimer: fix format-string in toString() implementation 2024-07-22 21:00:13 +00:00
qelapsedtimer QElapsedTimer: use new comparison helper macros 2024-05-14 00:32:34 +02:00
qeventdispatcher tst_QEventDispatcher: port to QTEST_THROW_ON_FAIL 2024-06-18 08:09:13 +00:00
qeventloop Change license for tests files 2024-02-04 09:56:42 +01:00
qjniarray JNI: Constrain QJniArray::toContainer to compatible target containers 2024-07-20 01:13:40 +00:00
qjnienvironment Change license for tests files 2024-02-04 09:56:42 +01:00
qjniobject JNI: replace va_arg helper with variadic template 2025-01-13 14:52:09 +01:00
qjnitypes JNI: replace va_arg helper with variadic template 2025-01-13 14:52:09 +01:00
qmath Change license for tests files 2024-02-04 09:56:42 +01:00
qmetacontainer QMetaSequence and QMetaAssociation: use new comparison helper macros 2024-04-29 22:28:51 +02:00
qmetaenum QDebug: cast the QFlags value to the right-sized unsigned type (2/2) 2024-08-12 09:43:38 +00:00
qmetamethod QMetaMethod: use new comparison helper macros 2024-04-30 00:11:33 +02:00
qmetaobject Fix test compilation issues with QtLite configuration 2024-05-06 14:29:02 +00:00
qmetaobjectbuilder QMetaMethodBuilder: limit the bits of attribute()/setAttribute() 2024-10-29 20:51:12 +00:00
qmetaproperty Fix QFlag properties built by QMetaObjectBuilder 2024-10-29 20:51:12 +00:00
qmetatype QMetaType: use modern comparisons 2024-05-10 21:54:54 +02:00
qmimedata QMimeData: fix setData on URI list without ending CRLF 2024-04-22 13:57:38 -07:00
qobject tst_QObject: don't leak QtDeclarative::theData 2024-11-07 01:13:51 +00:00
qpermission Change license for tests files 2024-02-04 09:56:42 +01:00
qpointer QPointer: Use new comparison helper macros 2024-05-30 20:51:46 +02:00
qproperty Avoid referring to invalidated observer during binding evaluation 2024-10-07 17:26:50 +00:00
qsignalblocker Change license for tests files 2024-02-04 09:56:42 +01:00
qsignalmapper Change license for tests files 2024-02-04 09:56:42 +01:00
qsocketnotifier Change license for tests files 2024-02-04 09:56:42 +01:00
qtimer Timers: add Qt::TimerId enum class 2024-03-03 19:56:55 +02:00
qtranslator Add tests that zh-TW now correctly prefers zh-TW over zh translation 2025-01-17 20:15:04 +01:00
qvariant qtypeinfo.h: move QTypeTraits part to qttypetraits.h 2024-06-04 13:42:16 +00:00
qwineventnotifier Change license for tests files 2024-02-04 09:56:42 +01:00
qwinregistrykey Replace QWinRegistryKey::dwordValue with QWinRegistryKey::value<T> 2024-11-09 20:00:08 +00:00
CMakeLists.txt Add QChronoTimer, a timer with nanoseconds precision 2024-03-03 19:56:55 +02:00