summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Enabled QSystemSemaphore autotestv5.0.0-beta2Oliver Wolff2012-11-081-0/+1
| | | | | | Change-Id: Id7133c46bbde554b2df69edacf9bfe808498a541 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* move QSharedMemory autotest from qtscript to qtbaseOliver Wolff2012-11-076-1/+1058
| | | | | | | | | | | As the script dependency for that autotest is not really needed it should be moved to qtbase. Task-number: QTBUG-27706 Change-Id: Ieda8b2182a20a77f53a0be9878e82e3236c79c2b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Remove out-of-memory test in QVarLengthArray.Christian Strømme2012-11-071-50/+0
| | | | | | | | | | | No reason to keep this test. If an application is trying to allocate too much memory it will fail, and its the users responsibility to provide sane values and catch exceptions to recover. Task-number: QTBUG-27361 Change-Id: I29d71745ab791b6e8a76f7b1f866ff4bd7024749 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fixed QSystemSemaphore autotest for "check" targetOliver Wolff2012-11-073-5/+21
| | | | | | | | | | As CI runs autotests using the "check" target the approach using DESTDIR = ../ does not work for the test. Instead the binaries are just moved one directory up and QFINDTESTDATA is used to find the path of the helper binary. Change-Id: If1ed2b60821f1de4ac62f238c8af5e09cf0f444a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Allow connect to functors with less parameters than the signalOlivier Goffart2012-11-061-0/+36
| | | | | | | | | | | | | | | | | | | | Before, the functor slot (or lambda expression) had to have the same amount of arguments as the signal. This shown to be a big problem to be able to connect to signals that had a QPrivateSlot. This implementation use the type of the operator() of the functor to know how many arguments we have. As a bonus, we also can check the arguments in a static assert. The test comes from https://codereview.qt-project.org/#change,38703 But this patch also works without variadic template If the compiler does not support decltype, we workaround the lack of it by using another level of indirection. Change-Id: I9850b43e8caf77356a2ec3f4c0b0ed532d96029e Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix connection to const slots (or from const signals)Olivier Goffart2012-11-061-0/+13
| | | | | | | | Pointer to const member function have a different signature, and hence need their own traits code. Change-Id: Ie4b2434a412f412444fb07ef1388a37cab105ecd Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Improve QByteDataBuffer::read() performance with partial readsAntti Harju2012-11-034-0/+180
| | | | | | | | | | | | | Add a read position variable to eliminate excessive memcpy'ing when reading a partial buffer. Specifically, fix performance issue of reading large files from QNetworkDiskCache in QtWebKit2. Task-number: QTBUG-27522 Change-Id: I21edc909bf9223971b2c3db5f1fa6b89c5b61c5f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Antti Harju <antti.harju@ixonos.com>
* Add implementations of QAIM::sibling in public APIs.Stephen Kelly2012-11-021-0/+11
| | | | | | Change-Id: I2248641f2ed8735c28bd9572470520995a4a5b62 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* fix error handling bug in QWindowsPipeReaderJoerg Bornemann2012-11-021-1/+0
| | | | | | | | | | | | If ReadFile returns with an error then we must set our internal state accordingly. QWindowsPipeReader::readSequenceStarted must be set to false. If ReadFile fails, we're not within a read sequence. Also, we must handle the ERROR_BROKEN_PIPE error. Task-number: QTBUG-25342 Change-Id: Ic9247f170fa9cc47fa7e45d0f47ccfedac06a593 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix tst_QProcess::batFiles for shadow buildsJoerg Bornemann2012-11-021-2/+2
| | | | | Change-Id: If7a9c9aa6ba16b7744d8ef8a66b43e40f375b5e7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix the gregorian date <-> julian day calculations in QDateJon Severinsson2012-11-021-11/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old code is just plain wrong for negative julian days. Replaced with plain math from The Calendar FAQ [1], which is correct for all julian days, provided you use mathematical integer division (round to negative infinity) rather than c++11 integer division (round to zero). [1] http://www.tondering.dk/claus/cal/julperiod.php While the conversion code works for up to around JD +/- (2^63/4), we only use an int for the year in the API, so this patch limits minJd() and maxJd() to 1 Jan (2^31) BC and 31 Dec (2^31-1) AD, respectively. Note that while the new conversion code looks like it would be more expensive than the old, gcc will in fact be able to optimize it to be slightly faster (probably because x86 hardware implements round to negative infinity, and so GCC manages to optimize floordiv to a single instruction, compared to the three instuctions needed for operator/). In the following test application, run with a release mode Qt and redirecting stderr to /dev/null, I measured an improvement from 6.81s +/- 0.08s to 6.26s +/- 0.16s user time over five runs on an otherwise idle x86_64 system. int main(int, char *[]) { int year, month, day; qint64 jd; for (qint64 i = Q_INT64_C(-1048576) ; i < Q_INT64_C(1048576); ++i) { QDate::fromJulianDay(i).getDate(&year, &month, &day); jd = QDate(year, month, day).toJulianDay(); qDebug() << jd << year << month << day; } } Change-Id: Ifd0dd01f0027f260401f7f9b4f1201d2b7a3b087 Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Improve QDateTime test coverage.Mitch Curtis2012-11-021-129/+262
| | | | | Change-Id: Ic521d9d2ffb1b8e3b14d9cebdeb3dc7a5e08580e Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Fix for leak in QFutureChristian Strømme2012-11-011-8/+22
| | | | | | | | | | | To avoid leaking when converting a QFuture<T> to a QFuture<void> we need to have a separate ref. counter for QFuture<T>. When the last QFuture<T> goes out of scope, we need to clean out the result data. Task-number: QTBUG-27224 Change-Id: I965a64a11fffbb191ab979cdd030a9aafd4436c2 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* move QSystemSemaphore autotest from qtscript to qtbaseOliver Wolff2012-11-015-0/+411
| | | | | | | | | | As the script dependency for that autotest is not really needed it should be moved to qtbase. Task-number: QTBUG-27705 Change-Id: I4ce0d34aca97cadd79b157b0f7c90c406bed4295 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* test: Remove QSKIP from tst_QSettings::dontReorderIniKeysNeedlessly()Sergio Ahumada2012-10-311-5/+3
| | | | | Change-Id: I7b804592398869278e9a0fec982c235c41f2c3d7 Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* test: Moving tst_QMimeDatabase::inheritsPerformance() testSergio Ahumada2012-10-312-33/+0
| | | | | | | | | | tst_QMimeDatabase::inheritsPerformance() is not an unit test but a performance test, so moving it from 'tests/auto/corelib/mimetypes/qmimedatabase' to 'tests/benchmarks/corelib/mimetypes/qmimedatabase' Change-Id: I59e84f61559023659f101666683870f2ca1d2034 Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* QNX: Use inotify on QNX systems that support itThomas McGuire2012-10-301-0/+5
| | | | | | | Change-Id: Ia9bf8d3c202b17746036e203268ef6229aaa900d Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* test: Remove QSKIP from tst_QByteArray::literals()Sergio Ahumada2012-10-301-4/+5
| | | | | Change-Id: I07b53cd12790d2161964dd09c5a69fe8aff7c90d Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Check for both A and P when converting QDateTime to string.Mitch Curtis2012-10-301-2/+4
| | | | | | | | | | hasUnquotedAP currently only checks for an a or A, which is wrong according to both the toString documentation and the comments for hasUnquotedAP. Change-Id: I03015734b846fe761085cf8f8fca2b29210cff97 Reviewed-by: Jon Severinsson <jon@severinsson.net> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* QMap - improve QMap stl-map ctorThorbjørn Lund Martsum2012-10-291-0/+25
| | | | | | | | | | We can insert directly on the most left-most Node. We always enforce an insert here (unlike the insert call), but that is not a problem since the keys in a std::map are unique. Change-Id: Ib409b90ffc57a5a43dab4a4b08d34f6fdabd057f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Test: refactor tst_QProcessCaroline Chao2012-10-292-164/+142
| | | | | | | | | | | | Remove QSKIP and instead omit the whole tests when appropriate. Remove QSKIP from crashTest, crashTest2 and exitStatus on Windows, the tests are now passing. Add a guard in testForwarding to check if QT_NO_PROCESS is defined. Change-Id: Icba4d773315e3bf87764a381742168b51cf169c0 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Test: remove QSKIP in tst_QEventLoop::throwInExec()Caroline Chao2012-10-291-10/+10
| | | | | | | | | Instead omit the whole test when appropriate. Change-Id: I60c34b020f6e25e865bbe0182395d4fc6419f65e Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix qfile:invalidFile() test.Friedemann Kleint2012-10-291-4/+33
| | | | | | | | | | The test expects 'fail:invalid' to be an invalid file, which it no longer is on Windows 7. It also assumes that f: is an invalid drive. Fix by picking a drive that does not exist. Task-number: QTBUG-27306 Change-Id: I9d9b36c50fc31d2561d3c4eec66f65d96084f0d7 Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* QMap 5.0 - keep track of leftmost node (BIC)Thorbjørn Lund Martsum2012-10-271-1/+93
| | | | | | | | | | | | | | | | | | | | | This suggestion keeps track of the most left node. The point is that constBegin() becomes a lot faster. That speeds up iteration a bit, and makes it O(1) to get the first element. The penalty in insert and remove is very small. On large trees it seems to be less than 1%. It should be noticed that constBegin() is a very common hint on my planned change to 5.1, and this opperation will without this patch cost 2 x log N. One when the user calls the hint with begin - and one where it is compared with begin. Other std::maps has a very fast begin(). E.g http://www.cplusplus.com/reference/stl/map/begin/ (begin with constant time) Change-Id: I221f6755aa8bd16a5189771c5bc8ae56c8ee0fb4 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Test: remove QSKIP from tst_qstringCaroline Chao2012-10-251-40/+36
| | | | | | | | | | | | | | | | | Instead omit the whole tests when appropriate. In particular: - When Q_CC_HPACC is defined the tests fromStdString and toStdString are crashing. Omit the tests in this configuration since the compiler is not supported. - Clean the localeAwareCompare() by removing the code where Q_OS_WIN is defined but not Q_OS_WINCE. System and user locale cannot be set on Q_OS_WIN other than Win CE and some code could never be reached. Change-Id: I72ae3246bf8c2a73d14cce45dde14bcb8001d8b3 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Core/kernel: Make some signals private.Stephen Kelly2012-10-251-2/+1
| | | | | | | | | | | | | | | | | | | | | | There are more opportunities in QtCore and the rest of Qt to make signals private instead of public. This is a test-dart to see if there is any reason not to do this. It would be nice to make QObject::destroyed private, but as it has a default argument it would be source incompatible to anyone connecting to the SIGNAL(destroyed()) instead of SIGNAL(destroyed(QObject*)). Currently the function-pointer-based connect syntax does not accept a functor (or lambda) with a different number of arguments than the signal. Olivier says a fix for that might come in 5.1, but for now the qfiledialog2 test is changed to not use that anymore. Also, the function pointer for a private signal can not be assigned to a local variable, so the qmetamethod test is changed to not do so anymore. Change-Id: Iaf776b822f9ba364f2c184df0c6b23811da56e44 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* test: Remove QSKIP from tst_QSettings::fileName()Sergio Ahumada2012-10-241-4/+5
| | | | | Change-Id: I24ed2d182faff989f62f192246ebf95ca492c10d Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* test: Rename test case name TestQtJson -> tst_QtJsonSergio Ahumada2012-10-241-58/+58
| | | | | | | | | | | | | | This allows us to follow test naming convention which should start with "tst_" Before: TestQtJson::initTestCase() After: tst_QtJson::initTestCase() Change-Id: Id83ccc324776399184c3665565eb8d045bfee2e2 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* test: Fix tst_QDir.equalityOperator()Sergio Ahumada2012-10-241-1/+1
| | | | | | | | On Fedora 17 /sbin/ is a symlink now, so this test fails there. Using /usr/ instead. Change-Id: Ie35902fc093101191bdbf33324e20835d1da1528 Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* Return invalid datetime when calling addMSecs with invalid QDateTime.Mitch Curtis2012-10-241-22/+34
| | | | | | | | | This is in line with what QTime::addMSecs and QDate::addDays do, for example. Change-Id: I902112486727f74f669a97bde6c42028e0838f8d Reviewed-by: Jon Severinsson <jon@severinsson.net> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Improve QTime test coverage.Mitch Curtis2012-10-241-0/+11
| | | | | | | Change-Id: If47de3dc047ac4f8a4a1498cf225e03bbbf4110e Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Jon Severinsson <jon@severinsson.net>
* Improve QDate test coverage.Mitch Curtis2012-10-241-33/+64
| | | | | | | | | | | | Some statements could not be tested, such as default cases of switches where all possible cases are already handled and some statements where the system locale is used. I also removed some statements that would never be reached and hence will never be able to be covered by tests. Change-Id: I8ea3071f66d942d986e65708732af6751d36b5e3 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Output leading zeroes for yyyy date formats in QLocale::toString().Mitch Curtis2012-10-241-0/+4
| | | | | | | | | | Converting the date 1 January 0001 to a string in the format "dd MMMM yyyy" currently results in the string "01 January 1", but it should be "01 January 0001". Task-number: QTBUG-27287 Change-Id: Ia025da7343d1c36aaee34c47c6db551a6e89595f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Revert removal of commented out tests in tst_qdatetime.cpp.Mitch Curtis2012-10-221-0/+7
| | | | | | | | | | | | Two lines were commented out but were removed with Ib6ceb1cb7fb4c6eca672495f96d9cfd907853c85. They have been replaced as expected fails. Task-number: QTBUG-22833 Change-Id: Ib154a31bffcdc8e43c6ad236df193e99334652c6 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* normalise signal/slot signatures [QtCore tests]Marc Mutz2012-10-2216-197/+197
| | | | | | | | | | Normalise all signal/slot signatures in tests/*/corelib, except in tst_QObject, where they might be test data. Change-Id: Id4e101f285b1676bb583b0afae06d235e599e24b Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Remove the QThread::terminated() signalSze Howe Koh2012-10-191-2/+2
| | | | | | | | | | | | | | | | | The signal is removed from the API; all references to it are removed from documentation; the unit test that checks for its emission is modified to listen for QThread::finished() instead. The QThreadPrivate::terminated flag is also removed, as it served no purpose other than to trigger the emission of QThread::terminated() As discussed at http://lists.qt-project.org/pipermail/development/2012-October/007216.html the signal is not guaranteed to be emitted after every termination, rendering it useless. Change-Id: I7b0c45d7889da0d33875545331606f2208ee56fc Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* detach() safely in QVector::erase(), and update callers to not detach.Andreas Hartmetz2012-10-191-13/+104
| | | | | | | | | | | | | | | | remove() can use non-detaching iterators internally before calling erase(), which hasn't been exploited so far, so that the detach() in erase() never actually detached. When using erase() from outside, you can't do it legally without calling begin() or end() that detach() before erase() is called. Now remove() doesn't detach anymore, and detaching in erase() works. With new tests that fail after changing only the erase() callers and pass again after fixing erase(). Change-Id: I47c0a9e362dce8628ec566f5437d951755de96c8 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Test: remove QSKIP from tst_QStringList::initializeList()Caroline Chao2012-10-191-4/+6
| | | | | | | | Instead omit the whole test when Q_COMPILER_INITIALIZER_LISTS is not defined. Change-Id: I34017484a027b95a2677e1c4cb9231fa2aeb5680 Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* Test: remove QSKIP in tst_QLocale::emptyCtorCaroline Chao2012-10-191-7/+7
| | | | | | | Instead omit the whole test when appropriate. Change-Id: Iebd569676cc7b2f8fe4a1d272107e092410d397b Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* Make QContiguousCache with zero capacity not crashThiago Macieira2012-10-191-0/+21
| | | | | | | | | | | | | | These containers don't make sense and will just result in no action being taken (all items added will simply be discarded), but it shouldn't crash due to a division by zero. Update the documentation to explain the fact. Task-number: QTBUG-27339 Change-Id: Ib9acf5c0a9a826e6853e7beaf5e56511fde98dc6 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Ian Walters <ian@walters.id.au> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Test: remove QSKIP from tst_QDateTime::fromString_LOCALE_ILDATECaroline Chao2012-10-191-4/+5
| | | | | | | Instead omit the whole test when Q_OS_WIN is not defined. Change-Id: I311538ce839353d4d5e83edfd12c68968fe61215 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* test: Moving tst_QProcess::echoTest_performance()Sergio Ahumada2012-10-195-115/+0
| | | | | | | | | tst_QProcess::echoTest_performance() is not an unit test but a performance test, so moving it from 'tests/auto/corelib/io/qprocess' to 'tests/benchmarks/corelib/io/qprocess' Change-Id: I796788534eafc5ca3b8d86c0ec46998285fd4b8f Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Test: remove QSKIP in tst_qarraydataCaroline Chao2012-10-181-10/+11
| | | | | | | Instead omit the whole tests when appropriate. Change-Id: Id4ec171528d4b4d6849b2478ac4f4a2332789b55 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Test: remove QSKIP from tst_QTextStream::stillOpenWhenAtEndCaroline Chao2012-10-181-3/+5
| | | | | | | Instead omit the whole test when Q_OS_WINCE is defined. Change-Id: Ifd09048687db95913f39a64cffb42a743af8fa81 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Test: remove QSKIP in tst_QDataStream::stream_QIconCaroline Chao2012-10-181-5/+5
| | | | | | | Instead omit the whole test when Q_OS_WINCE is defined. Change-Id: Ic69accb138121d2b39f068cef181da13b18e46ee Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Test: remove QSKIP in tst_fileCaroline Chao2012-10-181-7/+10
| | | | | | | Instead omit the whole tests when appropriate. Change-Id: I5eae127a497e290c5e4ba1a81a8f325c300471c1 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Test: remove QSKIP in tst_QDir::dotAndDotDotCaroline Chao2012-10-181-4/+5
| | | | | | | Instead omit the omit the whole test when Q_OS_WINCE is defined. Change-Id: I8c0f12c63bbc4567edb3a8626ab060d5ce38f3cd Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Test: remove QSKIP in tst_QSharedPointer::lambdaCustomDeleterCaroline Chao2012-10-161-4/+5
| | | | | | | | Instead omit the whole test when Q_COMPILER_LAMBDA is not defined since the test is not relevant in that case. Change-Id: I541da96a881fa0c9be38ae5c0f86df047dd8fc6b Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Test: remove QSKIP from tst_QThread::stressTestCaroline Chao2012-10-161-3/+6
| | | | | | | Instead omit the whole test when Q_OS_WINCE is defined. Change-Id: Id6f4e65c994115b8bab45f9fbf21dd255d204ea6 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Test: remove QSKIP from tst_QSocketNotifier::posixSocketsCaroline Chao2012-10-161-4/+5
| | | | | | | Instead omit the whole test when Q_OS_UNIX is not defined. Change-Id: If0ee3345c25f6b1baa38845edfd08ec26a45d6f2 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>