summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Benchmark the new signal slot connection syntax.Olivier Goffart2011-11-301-18/+74
| | | | | | | | | | | | | - Added emition of a slot connected using the new syntax, as well as a functor - Replaced the old connect_disconnect_benchmark by a new one. The old one was of little interest as it tried to connect to every signal, producing a lot of similar results. The new test tests different ways of connecting and disconnecting Change-Id: I3c04c24027252308f8942bcd9562110104cdb4e9 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Fix Qt::QueuedConnection when signal has a return valueOlivier Goffart2011-11-301-0/+57
| | | | | | | | | | For queued connections, the args[0] is set to null as it make no sens to forward the return value to the signal. So we need to check in the operator, that the pointer is not null. (container.data is args[0]) Change-Id: I80bde66f1ec19de0f4962c80e5b2797d2819075c Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Support Qt::UniqueConnection in the new connection syntaxOlivier Goffart2011-11-291-0/+65
| | | | | | | | | | This commit also improves the related documentation a bit. The test is copied from the test with the old syntax, but all the connection statement are changed to use the new syntax Change-Id: Ia5630ca4335b9f8ca6d724ae3c8750d6f0804d8e Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Initialize the return value of signalsOlivier Goffart2011-11-291-0/+236
| | | | | | | | | | Before, the constructor was called for complex objects, but POD were left unitinialized. Now, they are zero-initialized. Also add test for return values Change-Id: Iff9bf6687589d7b7395a71fb6f650ab8aa2b6bd1 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* QObject::disconnect with new syntaxOlivier Goffart2011-11-291-0/+105
| | | | | | | | | | | | | | | | | | | | | This add an overload to disconnect which is symetrical to the new syntax of connect. It is possible to diconnect connection like this: QObject::connect( sender, &Sender::valueChanged, receiver, &Receiver::updateValue ); QObject::disconnect( sender, &Sender::valueChanged, receiver, &Receiver::updateValue ); This overload only work with pointer to member function, and not static functions or functors. The test is copied from tst_QObject::disconnect(), just changed the syntax of the connection and disconnection Change-Id: Ia8f819100cb12098e32877522b97b732b1e676a8 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Install CMake config files from Qt.Stephen Kelly2011-11-2911-0/+468
| | | | | | | | | This includes a BSD licenced file Qt5CoreMacros.cmake which is adapted from Qt4Macros.cmake in the CMake source tree. Change-Id: I54326b808795535490a0489659b351a8da72cdbb Reviewed-by: Clinton Stimpson <clinton@elemtech.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Make the default ssloptions testable.Richard Moore2011-11-291-0/+5
| | | | | | | | | Centralise the specification of the default ssloptions to make the code clearer and more testable. Change-Id: I4f4bae72736dd063ee4cd64c6375e82d0600a105 Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix linking of autotests on Windows.Friedemann Kleint2011-11-299-9/+9
| | | | | | | | | Partial revert of 94fc8750797ffd3ef867d0cdc7849492cfee2c23. All dependent modules need to be specified in the QT variable, except core and gui, which are there by default. Change-Id: Ie8ffed56de03a37da191772fa321ed162e44a50d Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Fix compilation of qeasingcurve autotest on Windows.Friedemann Kleint2011-11-291-1/+1
| | | | | | | MSVC cannot decide on an overload for pow(). Change-Id: Ied3fbc0de403774d9f85738852cf671ce42cd1c1 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Temporarily disable Windows-specific QPrinter autotest.Friedemann Kleint2011-11-291-3/+3
| | | | | | | See QTBUG-22927. Change-Id: I6022d795bf893797c2ab1a91ffffa7b482109137 Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
* Fix compilation of some benchmark tests on Windows.Friedemann Kleint2011-11-293-1/+4
| | | | | Change-Id: Iab6b83f3d4693a3b5deaaf88043dde75a84866fd Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Cleanup corelib autotestsJason McDonald2011-11-298-33/+33
| | | | | | | | Don't name test functions using task identifiers from obsolete bug trackers. Change-Id: Iba6ae8ad3b39e365c5510ed5c86749a167572829 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fixed Qtbase OSX specific namespace compilation.Toby Tomkins2011-11-291-0/+2
| | | | | | Change-Id: Idacfa679df7aa6417f8017f80928907830d15df2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix crash in tst_qatomicpointer testOlivier Goffart2011-11-291-12/+13
| | | | | | | | | | | | | if given char*, QCOMPARE will try to compare the strings pointed by the char* In this case, the char* just point to garbage, we just want to compare the addresses. (Was changed in commit 6fcfae99d3615c7a850e4933691763097078c8e4) Change-Id: I9edb2b676aedf67a252aea6a41d56cd1eef7befc Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Improved failure messages from tst_qlibraryRohan McGovern2011-11-281-6/+5
| | | | | | | Use QVERIFY2 to include errorString() in the failure message. Change-Id: Iecb4e7694c3d71bfb786908a6a6c26b187d60c8f Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Fix sanity check of network test serverJason McDonald2011-11-2826-11/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of Qt's autotests depend on access to a test server. For each test that used the test server, tests/auto/network-settings.h created a global object to verify at startup that host lookups to the test server will succeed (and abort the test otherwise). There are two problems with that approach: First, the sanity check happens before main(), and thus before the test framework has started logging test results. This means that if the sanity check aborts the test, the failure message will not be visible in the test output if logging to a file or will cause the output to be malformed if logging to the console in XML format. Second, since Qt 4.7, the host lookup uses a class that connects to the QCoreApplication instance, which doesn't exist before main(), and this caused all tests that included network-settings.h to output an error message from QObject::connect() at the beginning of the test. Both of these problems are solved by removing the global object from network-settings.h and instead performing the sanity check in the initTestCase() function of each test. Task-number: QTBUG-22876 Change-Id: Id49c1826906327bf571686cc11527f0265e5af44 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Correct usage of network-settings.h.Jason McDonald2011-11-287-4/+10
| | | | | | | | | Four of the modified files only use functions from network-settings.h on Windows, and the other three files don't use anything from that header. Change-Id: Ifa4b0319d14367735b859e538921fa0eeeccce1a Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add support to moc for registering non-local enums via Q_ENUMS.Glenn Watson2011-11-271-0/+38
| | | | | | | | | | | | | | | | When using the Q_ENUMS macro to register an enumeration in a class with moc, it's now possible to provide a scoped enumeration that exists in another class. This adds the enum class scope to a metaobject's list of related classes stored in the extradata field. This allows the declarative code to handle non-local enums in signal and slot functions that are exposed to QML. Task-number: QTBUG-20639 Change-Id: I94f5292818095fda75762bd1508ba5c69de19503 Reviewed-by: Martin Jones <martin.jones@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Test QAtomicPointer<const T>Olivier Goffart2011-11-261-0/+52
| | | | | | | | Commit f4b6628083bf98ffa9169d8a8b890d84b6046867 fixed it on windows. Now test it work within QAtomicPtr Change-Id: Ibf5c31a133d6d544a78ce626fac9085b73c97fd5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Be specific about what part of the model is being re-layouted.Stephen Kelly2011-11-251-0/+69
| | | | | Change-Id: I6b6fe98929543447f945a335c33960823c0d1a4a Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Cleanup corelib autotestsJason McDonald2011-11-2518-151/+168
| | | | | | | | | | Bug trackers come and go, so using bug identifiers in function and test case names will ensure that those names eventually become meaningless. It is better to choose a meaningful name and provide explanatory comments where appropriate. Change-Id: I67c27782ef21b5d4eaab4854079a043c8ef6957b Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* More tests for the new connection syntax.Olivier Goffart2011-11-251-0/+226
| | | | | | | | | | Those tests are the one from Thiago's C++0X implementation The rvalue references ones are commented out because moc do not understand them yet But supporting them may come later. Change-Id: I6b0720e7f2992be9f7e34770960fa58fa456a54b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add support for QueuedConnection when connecting using the new syntaxOlivier Goffart2011-11-251-0/+27
| | | | | | | QMetaCallEvent now can handle a pointer to QSlotObjectBase Change-Id: I94da1e68ce9bb1fd96a9ae013a389552eb625faa Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* New QObject connection syntaxOlivier Goffart2011-11-251-0/+409
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In addition to the old connection syntax, you can now connect using function pointers. connect(sender, &Sender::valueChanged, receiver, &Receiver::updateValue ); You can connect also to functor or C++11 lambdas The connections are now type safe (no more problems with namespaces or typedefs). Implicit type conversion is also supported. The new syntax forces us to change the meaning of signal form protected to public, in order to be able to access the signal's address everywhere The way it works is by introducing new overload of QObject::connect that take function pointer as parametter. Those new overload are template function, that are implemented inline. The actual implementation is in QObject::connectImpl which take a QObject::QSlotObject* as parametter for the slot. That slot object contains a virtual function which call the slot which has to be implemented in the header as it depends on the template parametter. So the internals of QObjectPrivate::Connection will store this QObjectSlot* in order to be able to make the call. You can read a full description here: http://developer.qt.nokia.com/wiki/New_Signal_Slot_Syntax History of commits before it was imported on gerrit: https://qt.gitorious.org/~ogoffart/qt/ogoffarts-qtbase/commits/qobject_connect_ptr Thread on the mailing list: http://lists.qt.nokia.com/pipermail/qt5-feedback/2011-August/000796.html http://lists.qt.nokia.com/pipermail/qt5-feedback/2011-September/001248.html (The discussions on the mailing list were about trying to find a solution that do not need making signals public, but no user friendly solution was found) Note: support for QueuedConnection, and the symetric QObject::disconnect is added in another commit. Qt::UniqueConnection is not supported yet in the new overload. Change-Id: I67d08436b0720e7f2992be9f7e34770960fa58fa Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Change the return value of QObject::connectOlivier Goffart2011-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | From a bool to a handle to to connection. Also added a new overload of disconnect that disconnect a handle This is required because with the new syntax taking lambda or functors, it is the only way to disconnect a connection (as it is impossible to compare functors) The new return value is QMetaObject::Connection, it is a wrapper around the internal QObjectPrivate::Connection. QObjectPrivate::Connection is now reference counted. tst_qglobal.cpp: This test set up an internal callback, and the callback do not set any proper connection handle (and tbh, it would be hard for it to do so). So the returned QMetaObject::Connection is invalid, and ok is false (Internal callbacks are only used for jambi and should probably be removed) Change-Id: I111626fb4f47efc4db5e2ea5bff9da15f08fea7b Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add a parents parameter to layoutChange signals.Stephen Kelly2011-11-243-0/+241
| | | | | | | | | | This allows for more focussed notification of what part of the model has changed layout. The slots in the proxy models can be more optimized later. Change-Id: I1bd17465b4be6f8efdc107036db897c557fcb519 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Improve QVector autotestJason McDonald2011-11-241-1/+1
| | | | | | | Ensure that data row names are unique. Change-Id: Ia6cf6e440d631928ae3352d7305c6cf2ee5b2a0c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Only use QVERIFY in test functions.Jason McDonald2011-11-241-16/+16
| | | | | | | | | | The modified test was using QVERIFY in the destructor of a local class, but QVERIFY should only be used directly in a test function. This commit changes the local class to record the result of the test and verifies that result in the test function. Change-Id: Ie68ac6aa880368c961ebfa67cd452f0fbf26db89 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add missing indentation to QFuture test.Jason McDonald2011-11-241-70/+68
| | | | | Change-Id: Iaceaa79237d5ef6e81d1d16dc5e3fd3d97631f3a Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fixed regression in tst_qscreen.Samuel Rødal2011-11-231-2/+0
| | | | | | | | | The ScreenOrientation enum was changed so that the values are power of twos, angleBetween() needed to be fixed in order to reflect this. Task-number: QTBUG-22554 Change-Id: Ia45dd6643b40b14204abf967b00c0d04834736a3 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix stack overwrite in QDBusDemarshallerSami Rosendahl2011-11-231-2/+102
| | | | | | | | | | | | | | | | | | | | QDBusArgument extraction operators and QDBusDemarshaller that implements the extraction do not check the type of the extracted value. Helper function template qIterGet in qdbusdemarshaller.cpp that is used for extracting basic data types only reserves space from the stack for the expected type as specified by client. If the actual type in the DBus parameter is larger stack will be overwritten in the helper function by at most 7 bytes (expected one byte, received dbus_uint_64_t of size 8 bytes). The fix always reserves space for the largest basic type dbus_uint64_t readable by dbus_message_iter_get_basic API. See also http://dbus.freedesktop.org/doc/api/html/group__DBusMessage.html#ga41c23a05e552d0574d04 Task-number: QTBUG-22735 Change-Id: I9aa25b279852ac8acc40199a39910ea4002042d7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove virtual child integers.Frederik Gladhorn2011-11-234-497/+136
| | | | | | | | | | | | | | This makes the accessibility apis much simpler and less error prone. Disable the itemviews implementation that is in complex widgets. The itemviews will use the new code from itemviews.h/cpp everywhere now. QToolBox was broken before, now at least it simply exposes all its children. The children are the buttons (tabs of the toolbox) and their contents. Change-Id: I45e218f49f02aebbd678ddfe29f94c2a112a2125 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* SQLite support only one statement at a timeHonglei Zhang2011-11-231-0/+47
| | | | | | | | | | | SQLite driver support only one statement at a time. This fix makes the exec and prepare call failed if more than one statements are given. This is bug fix for QTBUG-21884. Also the behaviour is documented in the API specification. Task-number: QTBUG-21884 Change-Id: If1e25a0dd9f9ee38961ef478fc7909f6b05e360a Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Remove misleading comment.Jason McDonald2011-11-231-1/+0
| | | | | | | | In the QProcess test, QHostInfo is used as a quick and easy way to create a background thread, and so is not (entirely) unnecessary. Change-Id: I7204f113e7bc8a4b312d5a20f0a6ee076c56b35d Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Added build system support for installing tests.Rohan McGovern2011-11-231-3/+1
| | | | | | | | | | | | | Tests will install under $$[QT_INSTALL_TESTS]. TESTDATA may be used to install additional testdata required by the test. The default install rule may be disabled by CONFIG+=no_testcase_installs. Change-Id: I204de60c8e844775906ffd016ca50bffbb414142 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* uclibc: fenv.h does not define the necessary things.Holger Hans Peter Freyther2011-11-222-4/+8
| | | | | | | | | | libstdc++ provides the fenv.h found and for uclibc default toolchains the bits/c++config.h has _GLIBCXX_HAVE_FENV_H undefined leading to no import of the uclibc fenv.h Change-Id: I53173b099f3d8791f527f1ccb60991de57cd19db Filed: https://bugs.busybox.net/show_bug.cgi?id=4484 Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
* uclibc: Make the oomsimulator compile with uclibcHolger Hans Peter Freyther2011-11-221-1/+7
| | | | | | | | | In the infinite wisdom uclibc defines __GLIBC__ but is not a full drop-in replacement for the GLIBC. Check for !UCLIBC. Make sure there is a disableHooks in case the GLIBC code is not compiled Change-Id: I246d3ee7c1d3f48f7f6445daa01a4f001b9a3cb0 Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
* Revert 3a0f5d04fce00812cddd44e54ef25f7ab7d9240dToby Tomkins2011-11-221-3/+3
| | | | | | | | | | | | The removal of plugin cache in qt5 (8ed47d961dc7e6f161030654d11cd330a542eadf) means that only the original loading error (from QElfParser) is reported. In Qt4 this was previously two different strings depending on if the library had been previously cached. Task-number: QTBUG-22834 Change-Id: I15a4adc7d0f8f23f16bb2aa8ba8b968db770f074 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove reset test from QTimeLine.Jason McDonald2011-11-221-40/+2
| | | | | | | | | | | | QTimeLine::reset() never made it into the public API. Instead QTimeLine::start() always starts from the beginning. Remove the commented-out test for reset() and related remnants in other tests. Restarting a timeline using QTimeLine::start() is already tested by the restart() test function. Change-Id: Ia5c767ddae0781d645a407fbea76e80672895aab Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add test for QTimeLine::toggleDirection()Jason McDonald2011-11-221-9/+10
| | | | | | | | | | Before QTimeLine made it into the public API, the toggle() function became toggleDirection() and isReversed() became the more generic direction(). This commit uncomments the old toggle() test and uses the final function names. Change-Id: Ie3379f32ff0c78436f33c2733232d795ca88152b Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Restore commented-out data in QString test.Jason McDonald2011-11-221-2/+2
| | | | | | | | | The restored test data was commented-out before the tests were imported into the Qt repository in 2006, but appears to be valid and passes on Linux. Change-Id: I75795bf2b0b45fc2331bca6ac8d89f57cf12ed3d Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove obsolete data from QStringRef test.Jason McDonald2011-11-221-9/+0
| | | | | | | | The removed data was copied from the QString test (from which it has since been removed) and wasn't valid, as comments indicated. Change-Id: I44f066e41d28333326ad97f652c0a6813a173f15 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove obsolete code from QRegExp test.Jason McDonald2011-11-221-67/+0
| | | | | | | | The removed test functions were all empty and have been commented-out since the tests were imported into the Qt repository in 2006. Change-Id: I4ce86440aed355352a26ebefeafc95eeda1efbdd Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove handlesInputPanelVisibility() deprecation mechanismJoona Petrell2011-11-211-19/+9
| | | | | | | Task-number: QTBUG-21964 Change-Id: I508ba690c90369d31ca33390d3001064857fb62e Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Removed commented test data from QUrl test.Jason McDonald2011-11-211-7/+5
| | | | | | | | | | | The removed test data is invalid for the toString() test function -- QUrl::toString() won't eliminate relative paths from URL's, you need to call QUrl::resolved() to do that. Add this test data to the test for QUrl::resolved(), as the existing tests don't seem to cover the case of a complete URL containing a relative path. Change-Id: Idb0f4eac9cc75258a8e17f10fa95ddb75f01d470 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Accessibility: Clean up usage of navigate.Frederik Gladhorn2011-11-212-21/+12
| | | | | | | Prefer to use parent/child functions instead. Change-Id: Ic92165b9439eb750c9d762ddf5dcd2a5ccf0277d Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Add a roles argument to the dataChanged signal.Stephen Kelly2011-11-211-0/+61
| | | | | | | | | This allows more granular reporting of what has changed. This change is binary incompatible and source compatible. Change-Id: I7c5beaee651a24780cc94e41383f7a80210bc603 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Re-enable the opengl autotests on Mac OS XBradley T. Hughes2011-11-211-1/+0
| | | | | | | All tests pass. Change-Id: I6fde0da3900292b66f80730f08d3f0afdb0bead8 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Re-enable the v8 autotest on Mac OS XBradley T. Hughes2011-11-211-1/+0
| | | | | | | This tests passes. Change-Id: Ia1f420c0a241d1259fbb972957b20c37f5f9dfdc Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Re-enable the sql autotests on Mac OS XBradley T. Hughes2011-11-212-1/+1
| | | | | | | | | The QSql test currently crashes, which can destabilize the CI system when attempting to re-enable the autotest. Skip this test for now by disabling the check target for it. Change-Id: I598f8ca7bce6b6f46daf6a053da5571b62486463 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>