summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* | Stabilize tst_qtimeline::resumeJędrzej Nowacki2015-12-211-5/+4
| | | | | | | | | | Change-Id: Ife0ce27c680196ed1fe3d037ea0367e511560c96 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Speedup tst_qtimeline::finishedJędrzej Nowacki2015-12-211-2/+1
| | | | | | | | | | Change-Id: Id9ae42663d8830365d4dcfab92b48621eb1b409f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Get rid of qWait in tst_qtimeline::restart to make it less flakyJędrzej Nowacki2015-12-211-6/+3
| | | | | | | | | | Change-Id: Iba3a9e5dce6bd7ff6e241fae738cfc51386f0c75 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Improve tst_qtimeline::valueJędrzej Nowacki2015-12-211-11/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | The test was improved by: - Use QCOMPARE instead of QVERIFY - Use QTRY_ macro instead arbitrary qWait - Use longer time line The test executes faster and it should be less vulnerable to an unreliable timer. Change-Id: I92675015a6251b47eaf20b0fc916f3a36b52d783 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Improve tst_qtimeline::currentFrameJędrzej Nowacki2015-12-211-7/+4
| | | | | | | | | | | | | | The test run faster and it less vulnerable to an inaccurate time. Change-Id: I19475095395dcf1e6d47fdbba5eeffabab1fc7b9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Improve tst_qtimeline::currentTimeJędrzej Nowacki2015-12-211-17/+13
| | | | | | | | | | | | | | Now the test is less fragile to time and it executes 4s faster Change-Id: Id3eb8ed2c03317e7d2f2c3cd17f889a8d8e7e5b4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Make tst_qtimeline::range less prune to timing errorsJędrzej Nowacki2015-12-211-18/+9
| | | | | | | | | | Change-Id: I5fd84c58250a9dfa237fcb7fca4da50c35a9f57e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Make tst_qtimeline::duration less fragile to timingsJędrzej Nowacki2015-12-211-6/+4
| | | | | | | | | | | | | | The test still can fail because 1s is quite a short time. Change-Id: I6f42c182f2932d5a053f6a69667210529c9a7697 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Windows: Restore window geometry after normal->maximized->fullscreen->normal.Friedemann Kleint2015-12-171-0/+67
| | | | | | | | | | | | | | | | | | | | | | - Do not save geometry when going from maximized->fullscreen - Use SW_SHOWNA instead SW_SHOWNOACTIVATE as otherwise the maximized geometry is restored. - Add a test for Windows. Task-number: QTBUG-49709 Change-Id: Ic81e7398ee90d499a50b02192a45cb09276a2105 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | qmake: teach findMocs to handle backslash-newline gracefully.Edward Welbourne2015-12-178-11/+103
| | | | | | | | | | Change-Id: Id71352c0cf71ab84bd81d4f3d11bb19dc7965903 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | qmake: teach moc-detector to handle C++-11 raw stringsEdward Welbourne2015-12-151-2/+1
| | | | | | | | | | | | | | | | As for the #include-parser, the moc-detector's minimal C preprocessor could be confused by a raw string into ignoring large chunks of code. Change-Id: Id688e9a1f04628ce75a51a7d15269078c734288e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | qmake: Fix comment false-alarm bug in findMocs().Edward Welbourne2015-12-151-0/+1
| | | | | | | | | | | | | | | | | | | | If a / wasn't part of a comment-start, it and the character after it were none the less stepped over. If the character after started an enclosure, this would duly be missed, leading to mis-parsing of the subsequent text. As for similar bug recently fixed in findDeps(). Change-Id: Ie5329ec633c23a554b42a6351723c980e27fb9a9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Complete a test for QFilePrivate::fileName offset on Linuxhjk2015-12-151-1/+1
| | | | | | | | | | | | | | | | This extends the test suite introduced in 497f0af1f7 for a known-to-be-good case also for 32 bit systems. Change-Id: Ia231bcb9b0102c28483d932be18767662b7a6afd Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
* | QDockAreaLayout/QPlaceHolderItem: Store geometry excluding frame.Friedemann Kleint2015-12-151-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the geometry stored for floating dock widgets in QPlaceHolderItem::topLevelRect and QDockAreaLayoutInfo::saveState() included the window frame (frame position/content area size). This does not work in the case where a floating dock widget is deleted since the geometry is determined after reparenting the widget when the frame geometry is no longer available. Change the behavior to store the geometry excluding frame to avoid such problems and adapt QDockWidgetPrivate::setWindowState() accordingly. Task-number: QTBUG-49832 Task-number: QTBUG-45780 Change-Id: I84b5c80df6e1c9e738bbb1407b9047cc84719ce0 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Extend blacklisting of tst_qsettings to OSX 10.11Tony Sarajärvi2015-12-151-0/+1
| | | | | | | | | | | | | | | | | | This test is marked as blacklisted on 10.10, and it is found to still fail in 10.11. Task-number: QTBUG-49834 Change-Id: Ibddb1af6b61f3fca2b2aea18102bbaa5390a40d3 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Rewrote qmake's #include-detection to be more faithful to CPP.Edward Welbourne2015-12-155-11/+126
| | | | | | | | | | | | | | | | | | | | | | The C preprocessor allows backslash-newline anywhere and allows comments anywhere it allows space. Testing wilfully perverse applications of that revealed qmake's parsing of #include directives wasn't very robust. So rework to actually follow the rules and add those tests. Change-Id: If5cc7bfb65f9994e9ab9ed216dd1ee7285c63934 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Revert "tests: fixed compilation of tst_qtextstream"Edward Welbourne2015-12-151-1/+1
| | | | | | | | | | | | | | | | | | This reverts commit 9a6a58a95af31816627550c573c1b2ac39fc404e, which was a work-around for a qmake bug, now fixed. Task-number: QTBUG-19393 Change-Id: Id467bb5907a88f03eac0e29a90f4ff7e97045423 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Fix compilation for WinRTMaurice Kalinowski2015-12-1419-25/+34
| | | | | | | | | | | | | | | | TEST_HELPER_INSTALLS cannot be used on platforms with no QProcess support. Change-Id: I2a6a283d94ca4487fc628449c53fc37140dd291d Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | QFileSystemModel: report special files which are not symlinksGiuseppe D'Angelo2015-12-131-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since special files have file size == -1, they were always filtered out by QFileSystemModel, even when passing QDir::System as filtering option. Keep them instead. The testcase is more convoluted than it should be because QFSM is so broken that it returns valid indexes for invisible elements in the model (such as filtered out elements). Change-Id: I023a9813dbfeed7be99dded42c66b1191afdc17e Task-number: QTBUG-20968 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QFileSystemModel autotest: fix a broken sort() testGiuseppe D'Angelo2015-12-121-7/+10
| | | | | | | | | | | | | | | | | | | | The test was comparing an "unsorted" file listing read from disk with a reference listing, checking whether the two were different. Obviously that's a nonsense test, as there's no stable order for the entries returned by readdir_r and friends. Change-Id: I1d781a6513c42bb0b585d02e57a771c5336c7df4 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QLineEdit: a validator fixup() should keep it modified; add failing testGiuseppe D'Angelo2015-12-121-0/+24
| | | | | | | | | | | | | | | | | | I still have no idea how to fix this properly given the absolute mess of QWidgetLineControl. For now add a failing test. Change-Id: Ieb5ad6994c8ce7deb0cd0f2f47d51073d042244e Task-number: QTBUG-49295 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Don't ignore first character after a string.Edward Welbourne2015-12-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | The parser in QMakeSourceFileInfo::findDeps() would step over the closing quote of a string, only to have a for loop then step over the character just after that closing quote, which was thus never studied; this could lead to problems in various ways. Fixed that and expanded findDeps() test to catch regressions. Task-number: QTBUG-17533 Change-Id: I7dec5222e38fa188495b39376ffee70bc7bbc87f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | QFileDialog test: make the right subwidget visibleGiuseppe D'Angelo2015-12-101-4/+6
| | | | | | | | | | | | | | | | | | | | | | It makes little sense to give focus to a hidden widget; in order to make the treeview visible, we need to set the view mode to Detail. Change-Id: I453111e83593a790a656651b603a9c9b1a78dd9d Task-number: QTBUG-7690 Reviewed-by: Jan Blumschein <jan@jan-blumschein.de> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | QFileSystemModel: do not unwatch directories if removal failsGiuseppe D'Angelo2015-12-101-0/+31
| | | | | | | | | | | | | | | | | | ... otherwise we would not detect subsequent file/directories added into the non-removed one. Change-Id: I43018dfb9a9c6c0399190800da3f0d572ec5d8d8 Task-number: QTBUG-49307 Reviewed-by: David Faure <david.faure@kdab.com>
* | QFileDialog: Call reject() on Key_Escape even when itemview has focusGiuseppe D'Angelo2015-12-091-11/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace hide() call (present in itemViewKeyboardEvent since Qt 4.5) by reject(). Add signal spy to existing test function. QDialog doc states that reject() will always be called on Key_Escape. hide() is not enough: it makes exec() terminate and return the proper value, but the signals finished(int) and rejected() will not be sent. Task-number: QTBUG-7690 Change-Id: Ica4ae2843574478c5b9a7672f871f3ef3f16f3c9 Done-with: Jan Blumschein <jan@jan-blumschein.de> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | QString: where possible, re-use existing capacity in op(QChar/QL1S)Marc Mutz2015-12-081-0/+66
| | | | | | | | | | | | | | | | | | If the LHS is detached and has existing capacity that is large enough to hold the RHS, re-use the memory instead of allocating a new buffer and throwing away the old. Change-Id: I53d42825da92c264c7301e8e771cba9fb35c321b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Teach qmake's #include parser to recognize C++11 Raw strings.Edward Welbourne2015-12-084-0/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | Can't sensibly test unless the compiler does support raw strings, since any test that would catch qmake's (prior) inability to parse raw strings would necessarily confuse the C++ compiler in the same way. This even applies (in test app code) to any #if-ery around the raw string, since tokenization happens before preprocessor directives are resolved. So the #if-ery on Q_COMPILER_RAW_STRINGS has to be in tst_qmake.cpp, not the test app it builds. Change-Id: I4a461f515adff288b54fb273fd9996f9b906d11c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | QNetworkInterface: fix support for address labels on Linux interfacesThiago Macieira2015-12-081-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 64a1448d87727878d9789906b2f4f5b9e3d74e38 (Qt 5.2) caused QNetworkInterface to report address labels (a.k.a. interface aliases) as separate interfaces. This is caused by the fact that glibc, uClibc and MUSL copy the address label (netlink address attribute IFA_LABEL) to the ifa_name field, which made QNetworkInterfaceManager think that it was an interface it hadn't yet seen. Address labels are the old way to add more than one IP address to an interface on Linux, for example: ifconfig eth0:1 192.0.2.2 Those do not create a new interface, so the "eth0:1" label maps to the same interface index as the parent interface. This has been deprecated for 10 years, but there are still tools out there that add addresses in this manner. This commit restores behavior compatibility with Qt 4.2-5.1. The Qt 5.2-5.5 behavior is incorrect because it reports more than one interface with the same index. On systems configured like the above, the tst_QNetworkInterface::interfaceFromXXX test was failing. Change-Id: I8de47ed6c7be4847b99bffff141c2d9de8cf7329 Reviewed-by: Richard J. Moore <rich@kde.org>
* | Fix constructing a QSharedPointer<const> of a QEnableSharedFromThis typeThiago Macieira2015-12-081-6/+44
| | | | | | | | | | | | | | | | | | | | | | | | It should compile, since the std::shared_ptr does. [ChangeLog][QtCore][QSharedPointer] Fixed a problem that would cause a compilation error when constructing a QSharedPointer of a const type when the type derives from QEnableSharedFromThis. Task-number: QTBUG-49748 Change-Id: I8de47ed6c7be4847b99bffff141c84f5e0b6bea8 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QVariant: retain duplicate keys when convertingThiago Macieira2015-12-081-0/+41
| | | | | | | | | | | | | | Task-number: QTBUG-49520 Change-Id: I3e15a26e0e424169ac2bffff1417e3f4398c2277 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | Skip testing empty window sizes on WindowsJan Arve Saether2015-12-041-1/+16
| | | | | | | | | | Change-Id: Ib4f3bc63196527583a274180c40d0f7847e13f55 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | QImage pixelColor and setPixelColor must use unpremultiplied QColorAllan Sandfeld Jensen2015-12-041-0/+18
| | | | | | | | | | | | | | | | | | QColor always uses unpremultiplied alpha, but the new QImage methods were based on the QRgb versions which might be either. This patches fixes the two new methods so they treat QColor alpha correctly. Change-Id: I78a5b875ad4e78ad7fde3b811c6187482b4f6d15 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Manual dialog test: Build also when QtPrintSupport is not available.Friedemann Kleint2015-12-031-4/+13
| | | | | | | | | | | | | | Fixes the build on WinRT. Change-Id: I68510b70b61433ceed6bf06a31424f93a02230dc Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* | tst_QLocalSocket::threadedConnection(): Add failure message.Friedemann Kleint2015-12-031-1/+4
| | | | | | | | | | | | | | | | Introduce QVERIFY2() to get some information when exactly it fails. Change-Id: Icaddf2ecae434d0bafc90c18458c5ee067dfd506 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | Fix possible null pointer dereferences.Jake Petroules2015-12-021-0/+15
| | | | | | | | | | | | | | | | This follows up 130c2baa9376dcf525916620294bd9996bdf41f3. Change-Id: I2f6c9b4f995af427cec9a2162b782039debf8564 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | Use correct test to add C++14 to the project configurationJames McDonnell2015-12-015-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | Only add C++14 to the project configuration when C++14 support is available on the platform. Adding it because the platform supports C++11 doesn't work when the platform _only_ supports C++11 (e.g., QNX 6.6.0). Task-number: QTBUG-49491 Change-Id: I15de38bb06d912a314b9dd18c80b513cc06a855e Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Windows QPA: Fix window state transition from minimized to normal.Friedemann Kleint2015-12-011-4/+0
| | | | | | | | | | | | | | | | | | | | Use SW_SHOWNORMAL instead SW_SHOWNOACTIVATE as a parameter to ShowWindow() to enforce the window to be restored to normal state, even if the state before minimized was maximized. Task-number: QTBUG-48449 Change-Id: I9436623b1495f574a72050e50e8b31bfc83ced5c Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
* | Use QCollator for sorting in the filesystem modelLars Knoll2015-11-301-76/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The old code was extremely inefficient, and QCollator can provide the same functionality in a much better and faster way. Task-number: QTBUG-30902 Change-Id: Iaf5dbe587d9a6ebca26885259fdee74a29d3c84f Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Fix conversion QVariant(QColor) to QString.Jędrzej Nowacki2015-11-301-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | QVariant was using QColor::name() to convert a color to string, which by default loses alpha value. The patch is fixing the problem by always including the alpha value in the string when required. [ChangeLog][Core][Variant] QVariant(QColor)::toString() uses QColor::HexArgb format when the alpha component is different from 1. Task-number: QTBUG-37851 Change-Id: I887460c1ea151180ba99d64dd873ba9d6e2268f2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Fix closing a QMenu by pressing Alt.Friedemann Kleint2015-11-271-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | In QMenuPrivate::hideMenu(), delay clearing of 'causedPopup.widget' to after the QMenu::close() call, so that it is still accessible in QMenu::hideEvent() which calls QMenuBarPrivate::setCurrentAction(0) if the caused widget is a QMenuBar. Task-number: QTBUG-47377 Task-number: QTBUG-49592 Change-Id: Idbda48e918dae799afea84068a60d7383d7b4971 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | tst_QItemModel: Use a QTemporaryDir for test data of QDirModel.Friedemann Kleint2015-11-271-26/+17
| | | | | | | | | | Change-Id: I5943c6656da93d36e1955ac038bf656831da0c5c Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | QWidget::mapTo/FromGlobal(): Avoid calling QWindow helpers until shown.Friedemann Kleint2015-11-271-0/+56
| | | | | | | | | | | | | | | | | | | | | | The platform window geometry can be misleading until it has been properly positioned and QWindowPrivate::resizeEventPending has been cleared. Task-number: QTBUG-49588 Task-number: QTBUG-48396 Change-Id: Ie065f62478fc8522a9ad51391bb897510afa5aad Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Clean up tst_qlabelMarc Mutz2015-11-271-22/+6
| | | | | | | | | | | | | | | | | | | | | | | | Remove unused ctors and dtor, add Q_OBJECT, indent, privatize slots, don't check for nullptr before delete'ing a pointer, and add one override keyword. Setting test_box (a QPointer) to nullptr is already done by the variable's default ctor. Change-Id: I13f06dc8104ef1c0ac08a25c960641c076f10499 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Liang Qi2015-11-271-0/+9
|\ \
| * | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-11-271-0/+9
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/socket/qnativesocketengine_p.h src/network/ssl/qsslsocket_mac.cpp src/network/ssl/qsslsocket_mac_p.h src/widgets/kernel/qwidget.cpp Change-Id: I39592cb37d710dfaf8640769ba3c1b637927d7f4
| | * Fix crash in QFileDialog::iconProvider() with native dialogsJoni Poikelin2015-11-241-0/+9
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-49600 Change-Id: Ied28c0e7efa6b4dce25705dab98377848db5a6d3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | | tst_QThreadPool::tryStartCount(): Wait until tasks have finished.Friedemann Kleint2015-11-272-4/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | Replace hardcoded interval by QTRY_COMPARE() ensuring that all tasks have finished, since otherwise QThreadPool::tryStart() fails in the next run. Remove blacklisting for MSVC2012 since it is not compiler-specific. Task-number: QTBUG-49654 Change-Id: If49b6eb9ef4da4ba2911839166c397d84c175e00 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | tst_QProcess: Use a QTemporaryDir for files to be created.Friedemann Kleint2015-11-261-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | Ensure the test works in a working directory with read-only permission and that the file names are unique. The test can then be executed repeatedly by COIN even in case left-over hanging process helpers still lock the files. Also disambiguate the "data" files used by various tests. Task-number: QTBUG-47370 Change-Id: I3b9c7b70828da78f400196fcbba27bc61ea4538f Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | tst_QWaitCondition::wakeOne(): Increase wait interval.Friedemann Kleint2015-11-261-4/+7
| | | | | | | | | | | | | | | | | | Introduce constants and make the interval for the 2nd thread a bit longer. Task-number: QTBUG-49653 Change-Id: I92ac0494ec6c9af5bde858007d08e26210215434 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | tst_QWaitCondition: Prevent test functions from interfering with each other.Friedemann Kleint2015-11-261-35/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a base class for the threads that ensures termination in the destructor to ensure all QThreads instantiated on the stack are terminated. This should reduce crashes since the test thread classes have pointers to stack variables of the test slots. Set object names on the threads for better diagnostics. Decouple wakeOne()/wakeAll() that impact each other via the static count variables of the thread class by introducing a base class WakeThreadBase keeping a pointer to an QAtomicInt count variable on the stack instead (similar to the existing pointers to the mutexes, etc). Task-number: QTBUG-49653 Change-Id: I73537386bf36019efa81e8e24ba9af92506f7794 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>