summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Android: Fix QTranslator testsEskil Abrahamsen Blomfeldt2015-01-063-1/+30
| | | | | | | | Bundle test data in qrc on Android. Extract it, as the tests expect to find it in the file system. Change-Id: I251eca3c23141a608b1cbac5ee0b7164c068f9b4 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Fix tst_QEventLoop::processEventsExcludeSocket testJan-Marek Glogowski2014-11-211-9/+43
| | | | | | | | | | | | | | | | | | | | The testcase always returns the expected result, independently of the QEventLoop::ExcludeSocketNotifiers flag to processEvents. In Qt4 the same test uses an intermediate QEventLoop and already runs it before the QEventLoop::ExcludeSocketNotifiers: QEventLoop loop; // allow the TCP/IP stack time to loopback the data, // so our socket is ready to read QTimer::singleShot(200, &loop, SLOT(quit())); loop.exec(QEventLoop::ExcludeSocketNotifiers); This fixes and improves the test by connecting, processing and checking the bytesWritten signal for the pending connection socket. Change-Id: I1b1d2b7b83910c87ba3fe48e29ac9fd585ac62ad Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add C++11 if available for QVariant autotestJørgen Lind2014-11-131-0/+1
| | | | | | | | | gcc 4.9 has the __has_include feature which enables the TEST_FORWARD_LIST and includes the forward_list header. This in turn checks that the c++11 flags are enabled, or throws an error. Change-Id: I44aa58e47c2f9ba6f14cb5a68d24da4a76698e5f Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* tst_QTimer::singleShotToFunctors: Allocate static event loop on heap.Friedemann Kleint2014-11-111-5/+14
| | | | | | | | | | | Fix warning: QEventLoop: Cannot be used without QApplication and occasional crashes on Windows. Task-number: QTBUG-26406 Change-Id: Ia8b2a4e3d375d1e43f0e66fe64a39af5f9cf4d60 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Dario Freddi <dario.freddi@ispirata.com>
* tst_qvariant: automate testing of forward_listMarc Mutz2014-10-291-6/+6
| | | | | | | ...using the SD-6 __has_include macro. Change-Id: I629e2ad1c8090aba9e86ab9febf6d09a504219f9 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix QVariant associative container conversion from built-in types.Jędrzej Nowacki2014-10-241-0/+45
| | | | | | Task-number: QTBUG-41403 Change-Id: I9dab0f9450cac11678eb6d20abd2dd08e86e0900 Reviewed-by: Stephen Kelly <steveire@gmail.com>
* tst_QPointer: fix memleakMarc Mutz2014-10-191-1/+2
| | | | | | | Benign, but easy to avoid by using automatic storage. Change-Id: I60a1a2e85d8c1b2d91f3f33973374afae8876340 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* tst_QMetaType: fix memleaksMarc Mutz2014-10-191-14/+26
| | | | | | | | | Benign, but easy to avoid by distinguishing between owning and non-owning smart pointers. Change-Id: Idcd7ae550a8e4e00dfcd5570790e2ed985e2379a Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* tst_QMimeData: test doesn't require QGuiApplicationMarc Mutz2014-10-191-1/+1
| | | | | | | | | Makes the test execute faster (not that it's slow in any way) and more importantly gets rid of the QGuiApplication-induced 3rd-party library leaks reported by asan and/or valgrind. Change-Id: I94b505f15b4db577a2807b0b81464e19ce7e7cab Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Update license headers and add new license filesMatti Paaso2014-09-2426-491/+283
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* QVariant::compare shouldn't return match when QVariant::cmp does notAllan Sandfeld Jensen2014-09-111-0/+30
| | | | | | | | | | | | | | If the types doesn't match in QVariant::compare we do a comparison based on QString, this may end up indicating a full match, though the we don't match according to cmp. In this case it would be better if we preserved the non-matching to avoid breaking ordering. [ChangeLog][QtCore][QVariant] Fixed ordered comparison between QVariants that do not match but produce identical toString output. Task-number: QTBUG-40363 Change-Id: I84a8eca11e8875dba9948bde2906ae7c5aa35704 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Fix user defined conversions to numeric typesLars Knoll2014-09-101-0/+93
| | | | | | | | | The old code was completely broken. It did dereference val for user types, but val does in this case only contain garbage. Instead use the pointer to the correct data. Change-Id: I20ccf0bfa3dd3774c787d08c51cc8dd7b1ec9a1a Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Mark QByteArrayList as metatype built-in type.Jędrzej Nowacki2014-08-282-23/+61
| | | | | | | As a side effects it also adds core templates types to the tests Change-Id: I0e3338e0bffdf21982aa83d404c83288e54411f4 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-08-121-0/+12
|\ | | | | | | | | | | | | | | | | | | | | | | Manually included changes from 3a347a4e70e5a10ee92dd2578316c926a399e894 in src/opengl/qgl.cpp. Conflicts: src/opengl/qgl_qpa.cpp src/plugins/platforms/android/androidjnimain.cpp Change-Id: Ic26b58ee587d4884c9d0fba45c5a94b5a45ee929
| * Fix disconnect()ing from signals declared in a base classOlivier Goffart2014-08-111-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix disconnection from pointer to member signal that belongs to the base class, but whose type is a pointer to a member of the derived class. Commit 9cc106d9d7d951fcf30f4b0f8606afa6b50892ec fixed connect, so apply the same fix in disconnect [ChangeLog][QtCore][QObject] Fixed disconnecting from pointer to member signal that belongs in the base class but whose type is explicitly given as a pointer to a member in the derived class Task-number: QTBUG-40638 Change-Id: Ia546fc8f36e1ea0dd0645bdd820aea47f43677ac Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Update QVariant testsJędrzej Nowacki2014-07-101-4/+2
| | | | | | | | | | | | | | | | Remove old message handler hack as we have a new and better api to ignore warning messages. Change-Id: Id967b2672fe3e3638db9977500118a19c2afb730 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Reduce repetitive invocations of QFINDTESTDATA.Friedemann Kleint2014-07-102-19/+26
| | | | | | | | | | | | | | | | | | Store the file names in variables instead. Task-number: QTBUG-38890 Change-Id: I65f28bb62674f14aa099e935a9d7a4e9e6e90ba9 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | QObject: don't hold mutex when copying arguments in a QueuedConnectionOlivier Goffart2014-07-071-14/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | QMetaType::create can call user code and we should not keep mutex held as this may cause dead lock. Make sure the tst_qobjectrace actually emit some signal so the test check there is no race if the receiver object is destroyed while the mutex is unlocked. Task-number: QTBUG-39990 Change-Id: I56ca1ae7a11cd7b33c1a68727370972862e11c2f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Unduplicate the implementations of next power of twoAllan Sandfeld Jensen2014-06-261-0/+119
| | | | | | | | | | | | | | | | | | | | | | Qtbase contains four identical implementations of next power of two, these should be shared and the implementation made available to other qt modules, as it is also used many places outside of qtbase. [ChangeLog][QtCore][QtMath] Introduced qNextPowerOfTwo methods. Change-Id: Id23fbe5ad6bae647b30d5a4212c0330e48a50278 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Suggest candidates when non-existent method passed to invokeMethod().Mitch Curtis2014-06-201-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMetaObject::invokeMethod: No such method Object::someMethod(SomeType) becomes: QMetaObject::invokeMethod: No such method Object::someMethod(SomeType) Candidates are: someMethod(SomeOtherType) someMethod(YetAnotherType) Change-Id: I3566bca64423e2f8150d0d544fb4e35a5262b19e Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Metatype: Specialize IteratorOwner for vector<bool>Stephen Kelly2014-06-161-0/+11
| | | | | | | | | | Change-Id: I542af3a77b0a139e137a5a736b74042a8c25eb95 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | QTimer: add convenience singleShot methods for functorsDario Freddi2014-05-281-0/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings QTimer::singleShot on par with QObject::connect in terms of the new Qt5 syntax. With this patch, it is now possible to connect singleShot to a member pointer, a static function pointer and a functor (with or without a context object). The short code path for 0 msec is not yet implemented - it will require further modifications to QMetaObject before it will be. An additional SFINAE on the new singleShot overloads had to be implemented to prevent tricking the compiler into believing const char * might be a function pointer. [ChangeLog][QtCore][QTimer] Implemented new style connect syntax, including functors, in QTimer::singleShot Task-number: QTBUG-26406 Change-Id: I31b2fa2c8369648030ec80b12e3ae10b92eb28b4 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Updated corelib's unit tests to use QSignalSpy's functor constructorKeith Gardner2014-05-084-11/+11
| | | | | | | | | | | | | | | | | | The intent is to provide compile time validation of signals and to help detect signal overloading in the future. Change-Id: I9d5d46ed4b70c5d0cd407deb5928b1e76d37e007 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Build fix for auto-registration of Container<void*>Jędrzej Nowacki2014-04-231-0/+8
|/ | | | | | | | IteratorOwner pointer specialization was failing for void* because of an invalid function overload. Change-Id: I80355ddd2b871c1fa2fa5bf5a4ed8bc7768fc3c9 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Re-add missing test to kernel.proJędrzej Nowacki2014-04-021-0/+1
| | | | | | | | | Patch 9a08483d763dacfca6029f7a8970846e83df0e2a introduced a regression, tst_qmetatype test was not meant to be removed. Change-Id: I5456ffbbd9d9f8e461f828c6183e46dabf67952b Reviewed-by: Sergio Ahumada <sahumada@blackberry.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix Q_DECLARE_METATYPE macroJędrzej Nowacki2014-03-171-1/+7
| | | | | | | | | The macro should stringify value of the given token not the token itself. Task-number: QTBUG-37547 Change-Id: I90f4fa613bd13d5a581828ab13f620b40dfd3593 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Try to speedup tst_qmetatype.cpp compilation with clang.Jędrzej Nowacki2014-03-062-4/+15
| | | | | | | | | | | | | The test instantiates enormous amounts of templates in one compilation unit. All clang versions, that I tested, suffers from performance issues while compiling the test, the cost depends on the version. The most affected are shipped by Apple. Task-number: QTBUG-37237 Change-Id: I0959c1a4a6faee448ae1dae5c1e70ee06cefbd9c Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Reduce clang compilation time of tst_qmetatype by ~50%Jędrzej Nowacki2014-03-061-13/+1
| | | | | | | | | We do not need to check all possible basic type combinations in the autoregistration test. Change-Id: Ibfb97a93d9d1862e669d843988976690bbc83c74 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Simplify tst_QMetaType::automaticTemplateRegistrationJędrzej Nowacki2014-03-061-55/+62
| | | | | | | | | | Redundant and unused variadic macro arguments were removed. For macros with known count of arguments, named arguments are preferred. Common code was moved out from macros so it is not generated over and over. Change-Id: Ib5106555d0d3c6cadfbdbdbd614831240b6d762f Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Disable the qmetatype test on Clang + ARM, it's causing OOM during buildTor Arne Vestbø2014-03-041-1/+4
| | | | | | | | And takes a very long time to build if it doesn't run out of memory. Task-number: QTBUG-37237 Change-Id: I8c7fae4d2d99ad59c6d6306da2df554a05955446 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Remove qSort usages from core testsSergio Ahumada2014-02-221-1/+3
| | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I355558fe6a51d00e9aa1f8b1221c6ec0c1e6bb77 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Loosen checks for Q_COMPILER_VARIADIC_MACROSKai Koehne2014-02-201-0/+5
| | | | | | | | | | | | | | | | | | | | So far we did bind the definition of Q_COMPILER_VARIADIC_MACROS to C++11 (so gcc, clang will not define it in default gnu++98 standard). However, variadic macros are a feature of the gcc preprocessor since version 2.97, and are enabled in the default configurations on gcc, clang, icc. This might cause warnings and errors though if one enables additional warnings in gcc, clang (e.g. by -pedantic). Anyhow, as a precedent qglobal.h already relies on 'long long' ... The warning can be disabled by adding '-Wno-variadic-macros'. [ChangeLog][Compiler Specific Changes] Variadic macros are now enabled more liberally for gcc, clang, icc. If you have warnings (because you e.g. compile with -pedantic), disable them by -Wno-variadic-macros. Change-Id: Ie979b85809508ad70cab75e6981f20496429f463 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_qsignalblocker: simplify testMarc Mutz2014-02-161-138/+13
| | | | | | | | | This test can assume that the QObject::signalsBlocked property works as advertized, so just check signalsBlocked() in repsonse to QSignalBlocker manipulations. Change-Id: I99e4ef9c4ed05c3840233d92a587636d2d78f59a Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* WinRT: Added socket engine implementationOliver Wolff2014-02-151-0/+4
| | | | | | | | | | Added basic functionality to socket for WinRT. Even though not all auto tests pass yet, this patch can be seen as a foundation for upcoming work in this area. Reading from and writing to TCP socket works and one can listen for tcp connections. Change-Id: Id4c25ba1c7187ed92b6368c785c4f62837faded7 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-121-0/+42
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/gui/image/qimage.cpp src/gui/text/qtextengine.cpp src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp src/printsupport/kernel/qprintengine_win.cpp Change-Id: I09ce991a57f39bc7b1ad6978d0e0d858df0cd444
| * Don't deadlock when deleting slot objects in QMetaObject::activate()Thomas McGuire2014-02-081-0/+42
| | | | | | | | | | | | | | | | The slot object was deleted after the mutex was relocked, which caused a deadlock in case the functor destructor locked the same mutex again. Change-Id: I5b4fb22fdb4483f91c89915872bfd548c31b0eea Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Fix MSVC-warning about unused variable eventdispatcher.Friedemann Kleint2014-01-311-1/+1
| | | | | | | | | | Change-Id: Ic7c12f16c310cc681bba39a7969de235afcf0f44 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Fix usage of QObjectPrivate::connect when q_func() is private.Olivier Goffart2014-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | q_func() which is declared in Q_DECLARE_PUBLIC is usually private. We should use q_ptr directly in QObjectPrivate::connect, otherwise it does not compile when trying to access the private q_func Change-Id: I235165a0994327102dbb31c390c2cafdffe806dc Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | QObject: fix connection to function pointer with non-copyable references ↵Olivier Goffart2014-01-171-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | argument For example, QObject is non copyable (its copy constructor is deleted or private via Q_DISABLE_COPY). It should still be allowed to pass a reference to a QObject as an argument to as signal (or slot). This fixes a compilation failure. Task-number: QTBUG-36119 Change-Id: I9bcf477e347d69fdae2543c99781b6421883be78 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Send DynamicPropertyChange event only when value is changed.Tomasz Olszak2014-01-091-0/+3
| | | | | | | | | | | | | | | | | | According to docs DynamicPropertyChange event should be sent from setProperty function only when property is added, removed or changed. Change-Id: I080a27a4119a63580b03172f4b5b367338c6f440 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-161-0/+16
|\| | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qplatformtheme.h tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp Change-Id: Iecd3343d6a050b8764f78d809c4a1532aeba69e5
| * Fix quadratic behavior in QMetaObjectBuilder when writing string tableSimon Hausmann2013-12-061-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QHash::key() is O(n) and we're calling it n times. That can make repeated calls to the meta object builder very slow, as for example QQmlPropertyMap when inserting properties repeatedly. Fortunately this is easy to fix, as the value in the hash map is also the index, so we can simply iterate over the hash once. With the exception of the class name, which we have to treat specially to ensure that it is always the first entry in the string table. Task-number: QTBUG-32720 Change-Id: Ic954c45c454107feee83216131f601cc69d4c63b Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | tst_QObject: separate QSignalBlocker testsMarc Mutz2013-12-115-129/+319
| | | | | | | | | | | | | | | | | | | | tst_QObject is getting big, so make a separate test for QSignalBlocker, but leave parts of signalsBlocked() in tst_QObject as that seemed to have been the only check for blockSignals(true) actually blocking signal emission. Change-Id: I1cfac035e0e39203eea8626d43f316cc6244ee86 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Move-enable QSignalBlockerMarc Mutz2013-12-111-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | When QSignalBlocker was reviewed, move semantics were asked for. This patch add them. This makes QSignalBlocker usable as a by-value argument (to transfer control of signal blocking into a function) as well as as a return value (to transfer control of signal blocking out of a function). Change-Id: I714aa2a283bb33dba76e860649e88ed202e913c5 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | moc: move qt_meta_extradata data from .data.rel into .data.rel.roMarc Mutz2013-12-091-2/+2
| | | | | | | | | | | | | | | | | | | | It's still a relocation, but at least it can be marked read-only after the relocation run, if indeed the dynamic linker goes to such a length. Change-Id: Ibadddac3ab99d2e58cc32cfd57311bddd3bdb0ef Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Simon Hausmann2013-12-091-0/+38
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-051-0/+38
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/sql/drivers/sqlite/qsql_sqlite.cpp Change-Id: Ia7cffd2c99ae3d5eea6b5740683c06e921336dcd
| | * Merge remote-tracking branch 'origin/release' into stableSimon Hausmann2013-11-291-0/+38
| | |\ | | | | | | | | | | | | Change-Id: I2e2bf789b0fe8442ed623bc0c8aef591235cdabe
| | | * Fix invalid memory read when shutting down QML applicationsSimon Hausmann2013-11-291-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the last line in the QObject destructor, we call setParentHelper(0) to remove ourselves from the parent. In the process of that we also initiate the QML parentChanged callback. The first thing that parentChanged callback used to do (but now does it too late, after 26350b5ceafa0ade1328037f6234a7d288eb8f48 in qtdeclarative) is to check if the object was deleted and then return. We could re-introduce the check there, but I think it's cleaner to not bother calling the callback on a dead object in the first place. Change-Id: Ia4d43b65a9b3744a451b4c312a2d6f9c0e3b67dc Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | | Remove trailing space from QDebug streamKai Koehne2013-12-061-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's unexpected that all messages generated by the stream version of qDebug and friends have a trailing space. It also makes switching to categorized logging (which only supports the stream version) difficult, since all autotests checking for debug output would have to be adapted. Task-number: QTBUG-15256 Change-Id: I8d627a8379dc273d9689f5611184f03607b73823 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>