summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Fix time-zone tests on macOS >= 10.13, which now knows what CET is"Edward Welbourne2018-08-242-16/+16
| | | | | | | | | | | | This reverts commit fd38c97a6c5b7bfab39b5f814d68a02e4d197e70. Apparently our actual VMs for 10.13 don't get this right, although the ones used in testing did (prompting the fix this reverts). We probably have mis-configured VMs, but this is the quick-fix to get development moving again. Task-number: QTBUG-70149 Change-Id: Ib96755d8e21d9b226e22fc985f13f34fa04117b1 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-08-222-0/+236
|\ | | | | | | | | | | | | | | | | Conflicts: src/gui/text/qtextengine.cpp tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h Change-Id: Ib9f968edbb0f3387c89bc25e914321d0738bfadc
| * QSortFilterProxyModel inserting at bottom of source modelLuca Beldi2018-08-171-0/+237
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, if you try to insert a row at the bottom of QSortFilterProxyModel the row will be inserted in the source model at position proxy->rowCount rather than at the bottom. This causes insert at apparently random positions in the source. [ChangeLog][QtCore][QSortFilterProxyModel] QSortFilterProxyModel::insertRows(row,count,parent) with row == QSortFilterProxyModel::rowCount will insert at the bottom of the source model rather than at the row QSortFilterProxyModel::rowCount of the source model Task-number: QTBUG-58499 Task-number: QTBUG-69158 Change-Id: Ie78416c8fbc429303b8c9c98375630e3e4d85f6d Reviewed-by: David Faure <david.faure@kdab.com>
* | MinGW: Exclude failing value of tst_QEasingCurve::setCustomType()Friedemann Kleint2018-08-211-0/+5
| | | | | | | | | | | | | | | | | | After updating MinGW toolchain from 5.3.0 to 7.30 test starts to fail. Task-number: QTBUG-69947 Change-Id: I850d854b27e1cb4e1dd2cb600e8e79bd18bff4a0 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Simo Fält <simo.falt@qt.io>
* | Extend blacklisting of qeventdispatcher to cover WinRTHeikki Halmet2018-08-211-0/+1
| | | | | | | | | | | | | | | | | | They have been blacklisted on windows and macOS previously. Now failing on WinRT as well. Task-number: QTBUG-69962 Change-Id: I30ca23005b082e820ee896fa36a8984a1536ad6b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | QMimeDatabase: Fix MIME detection issues with magics in MIME hierarchiesEike Ziller2018-08-205-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Assume two MIME types A and B are registered, both with the same glob pattern, A being parent of B, A with some magic rule, and B with another magic rule. Given a file that matches the glob pattern and the magic rule of A, the resulting MIME type depended on the order of registration of A and B, because it would just check if some glob matching MIME type was also a subclass of the magic matching MIME type. The patch prefers the the MIME type that matches by magic if that matches by glob pattern as well (i.e. A in our example). The "recommended checking order" of the spec does handle that case. Task-number: QTBUG-44846 Change-Id: I2af43f6199faf9a42cd9c35d3a045441afbd6217 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: David Faure <david.faure@kdab.com>
* | Add support for QRegularExpression to QSortFilterProxyModelSamuel Gaist2018-08-1911-179/+420
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements the support for QRegularExpression in QSortFilterProxyModel. [ChangeLog][QtCore][QSFPM] QSortFilterProxyModel now supports QRegularExpression. Task-number: QTBUG-46810 Change-Id: If932d55f98f9b8bcf3a72c03ffd51da52cb50ad1 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: David Faure <david.faure@kdab.com>
* | Migrate QDir to use QRegularExpressionSamuel Gaist2018-08-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The match method still uses QRegExp. This patch updates the code to use QRegularExpression and translates the wildcard patterns to a suitable form for QRegularExpression. [ChangeLog][Core][QDir] QDir now uses QRegularExpression internally for wildcard matching. Note that QRegularExpression might not give the exact same result as QRegExp as its implementation follows strictly the glob patterns definition for wildcard expressions. Nevertheless, the tests for QDir return the same results as before. Change-Id: I095959443ac7362f7534e35454eff038061fca82 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | QRegularExpression: refactor wildcard translationSamuel Gaist2018-08-181-0/+19
| | | | | | | | | | | | | | | | | | | | | | This patch refactors the wildcardToRegularExpression method to generate a simpler regular expression. It also fixes some shortcomings of the previous implementation. Tests have been updated to ensure all cases are properly supported. Change-Id: I454e3fe8fe0bb663b2f319d6fa2fa8aec626c50d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | [macOS] Skip test that triggers a buffer overflow in CoreFoundationErik Verbruggen2018-08-171-0/+6
| | | | | | | | | | | | | | | | | | | | | | Deep down in CoreFoundation, ICU is used, and this test triggers a heap-buffer-overflow with AddressSanitizer. Disable this test for macOS until Apple fixes it. Task-number: QTBUG-69875 Change-Id: I43e4a69708be8cde3bde87c57db21f5b717f96b8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-08-171-1/+18
|\| | | | | | | Change-Id: I8bb8227f9da982e7d5ebe5324fc27abd9ac0d4fc
| * QUrl: Make sure we do reject URLs for which IDNA nameprep failedThiago Macieira2018-08-161-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | qt_nameprep() already reset the string to its original length to indicate failure, but we didn't handle that in qt_ACE_do(). So make it have a return value whcih makes it easier to handle that case and do handle it. [ChangeLog][QtCore][QUrl] Fixed a bug that caused URLs whose hostnames contained unassigned or prohibited Unicode codepoints to report isValid() = true, despite clearing the hostname. Change-Id: I41e7b3bced5944239f41fffd1545b7274c4b419d Reviewed-by: David Faure <david.faure@kdab.com>
* | Modernize the "thread" featureUlf Hermann2018-08-175-28/+24
| | | | | | | | | | | | | | | | | | | | Add it to configure.json and replace all occurrences of QT_NO_THREAD with QT_CONFIG(thread). Add conditions for other features that depend on thread support. Remove conditions where we can use the QMutex and QThreadStorage stubs. Change-Id: I284e5d794fda9a4c6f4a1ab29e55aa686272a0eb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Refactor wildcard support in QRegularExpressionSamuel Gaist2018-08-161-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API originally proposed was flawed in the sense that the setter function would use a modified version of the parameter given which would have make it a black box for the user. This patch fixes that by removing that setter and providing a static method that will return the pattern suitably modified to be used by QRegularExpression the same way the escape method does. [ChangeLog][Core][QRegularExpression] Implemented support for wildcard patterns through a static method. Change-Id: I0054bcaffd7525dac569f54fa81f73b7e4544b2e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Avoid signed/unsigned warning in templateEdward Welbourne2018-08-161-1/+1
| | | | | | | | | | | | | | | | | | tst_QtEndian's transformRegion_template() was getting a signed/unsigned comparison warning when T was unsigned in a QCOMPARE(T-value, 0); so use T(0) instead. Change-Id: I78cb2ab96f79393def65ed2c020aa3039017ab92 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Rework tst_QLocale::emptyCtor() as a data-driven testEdward Welbourne2018-08-161-58/+88
| | | | | | | | | | | | | | | | | | That way, we'll get told all the cases that fail, rather than only the first. Provoked by investigation of failures that turned out to be caused by QTBUG-69875. Change-Id: I8fa2902cbbcb307cbe1fdec2e7d8d6b0c3eb998a Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* | Add support for numbered territories in CLDREdward Welbourne2018-08-131-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CLDR data contains eight locales with numeric territory codes, 001 for World, 150 for Europe and 419 for Latin America. The last was already known in our enumdata.py, but as "Latin America and The Caribbean", which is not supported by the CLDR, so I've amended it while adding the other two. This gives us support for Esperanto and Yiddish (among others). [ChangeLog][QtCore][QLocale] Added support for World and Europe as (numeric) "country" codes ("territory" in CLDR terms), thereby enabling support for Yiddish and Esperanto, among other locales using such codes. Task-number: QTBUG-57802 Change-Id: Ibb1180fb720743a3a0589527649d10f3c9cd123d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix time-zone tests on macOS >= 10.13, which now knows what CET isEdward Welbourne2018-08-132-16/+16
| | | | | | | | | | | | | | | | | | | | | | These tests kludge round Apple's use of GMT+1 and GMT+2 as names for CET and CEST on Darwin; but 10.13 actually gets the names right, so side-step out of the kludge when on this version or later. Change-Id: Icb8a2f3ac30f0f621a19042dc03e0d281782dd41 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* | Add debug output for single enum flagsAllan Sandfeld Jensen2018-08-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | They have a separate type that we can't recognize directly, but we can check if we can recognize the QFlags<T> form, though we have to add a lot of template-conditions to avoid triggering QFlags static asserts. Change-Id: I00853682c5376dd3cc411ff151f47bce2389e277 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Fix QMetaObject naming of class enum flagAllan Sandfeld Jensen2018-08-114-2/+48
| | | | | | | | | | | | | | | | | | Adds an enumName to QMetaEnum to carry the name of the enum since for flags that doesn't match the name of the Qt type, but is needed if the flag is scoped. Change-Id: I1c0f77eb9e40e6fd1eb6a59bea77caf0f33fcf43 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Extend blacklisting of tst_QSequentialAnimationGroup to macOS 10.13Tony Sarajärvi2018-08-081-0/+1
| | | | | | | | | | | | Task-number: QTBUG-59806 Change-Id: Ic9df44ed4fb7aae4291447c5982f68e51de2abe0 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-08-077-26/+141
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/doc/src/objectmodel/signalsandslots.qdoc src/plugins/platforms/cocoa/qcocoamenuloader.mm src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp tests/auto/gui/image/qimage/tst_qimage.cpp Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Change-Id: I9bd24ee9b00d4f26c8f344ce3970aa6e93935ff5
| * QObject: do allow setProperty() to change the type of the propertyThiago Macieira2018-08-041-1/+13
| | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][QObject] Fixed a bug in setProperty() that caused a property change not to take effect if the old value compared equal using QVariant's equality operator, but the values were not strictly equal. Task-number: QTBUG-69744 Change-Id: I00e04a465fcf4fc1a462fffd1547885861a07a64 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * QProcess::startDetached: Fix behavior change on WindowsJoerg Bornemann2018-08-035-25/+126
| | | | | | | | | | | | | | | | | | Do not overwrite stdout/stderr by default, but only if requested. This restores the behavior of QProcess::startDetached of Qt 5.9. Task-number: QTBUG-67905 Change-Id: Idccf7b0da7bd80f88a0624286ddf2851bc974fb1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * QJsonDocument: Make emptyObject an objectJüri Valdmann2018-07-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A default-constructed QJsonObject has no data payload, it is only a pair of null pointers. So, when it becomes necessary to 'materialize' such an object, a special global emptyObject constant is used as the substitute payload. There is a small problem with this global constant though, namely that it's is_object flag is unset. In other words, the emptyObject is not an object, but an array. Fix by setting the is_object flag on emptyObject. The example code in the bug report QJsonObject parent; QJsonObject child; parent["child"] = child; // 1 child = parent["child"].toObject(); // 2 child["test"] = "test"; // 3 runs into this problem on line 1. Inserting the default-constructed child means inserting a copy of emptyObject. On line 2 a pointer to this copy of emptyObject is retrieved and cast to an object. But it's not an object, it's an array, so things go wrong hereafter. Specifically, on line 3, two inserts are performed, one from operator[] and one from operator=. Each insert increments a compaction counter. The second insert triggers compaction (QJsonObject::insert calls Value::requiredStorage calls Data::compact) and compaction branches based on the is_object flag. Replacing line 3 with child.insert("test", "test"); causes the example to appear to work since compaction is not triggered and the JSON serializer does not look at the is_object flag. Still, any further insert() calls would trigger compaction and memory corruption. Task-number: QTBUG-69626 Change-Id: I8bd5174dce95998bac479c4b4ffea70bca1a4d04 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | tst_QSharedPointer: raise the timeout for running qmake and makespecThiago Macieira2018-08-041-7/+13
| | | | | | | | | | | | | | | | We had 30s and 60s only, which isn'tenough for the Qt CI. Task-number: QTBUG-69741 Change-Id: I00e04a465fcf4fc1a462fffd154782999e84ef8b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Enable QPluginLoader test for static buildsSimon Hausmann2018-08-032-2/+32
| | | | | | | | | | | | | | | | | | | | | | The majority of tests use QPluginLoader::setFileName implicitly, which refuses to do any work in static builds. Therefore the majority of tests are skipped. But in the future we'll get tests here that for example use QPluginLoader::staticPlugins() and for that we want to include the sub-directory in the build and test run. Change-Id: Ib8ec274e22ac8050feaca8967eb8626b53876b92 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | QCborValue diagnostics: Properly escape stringsThiago Macieira2018-08-031-0/+6
| | | | | | | | | | | | | | | | | | I'm intentionally not testing improperly-paired surrogates, since those can't be encoded in CBOR. Change-Id: I0d3cc366baaa49f3ad28fffd154240287ce34c22 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Merge "Merge branch '5.11' into dev" into refs/staging/devEdward Welbourne2018-07-3110-21/+249
|\ \
| * | Merge branch '5.11' into devEdward Welbourne2018-07-3110-21/+249
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/library/qmakebuiltins.cpp src/plugins/platforms/windows/qwindowstabletsupport.h src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/widgets/styles/qstylesheetstyle.cpp tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp Done-With: Gatis Paeglis <gatis.paeglis@qt.io> Change-Id: I000b0eb3cea2a5c7a99b95732bfdd41507cf916e
| | * QSFPM unittest: check dataChanged and layoutChanged signalsDavid Faure2018-07-281-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm not sure why QSFPM purposefully emits dataChanged for a source dataChanged that triggers a layoutChanged (i.e. due to sorting, multiple rows are moving around). (This predates the git import in Qt 4.5.) Surely whoever is listening will not gain much from the "small" dataChanged after the "big" layoutChanged... anyhow, this documents the current behavior, at least. It also proves that the bug I saw long ago (changing a filtered-out value used to emit dataChanged(invalid, invalid), IIRC) is no longer present. Change-Id: I8975c549db88226b2b3393de9f8dca4f4109df15 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
| | * tst_qpluginloader: Fix preprocessor conditionOliver Wolff2018-07-271-1/+1
| | | | | | | | | | | | | | | Change-Id: Icb7767cb6b0e091a21196518d3908a810970592a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Check against copying the husk left by a moveEdward Welbourne2018-07-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The copy-assign operator tests against other.d being NULL but the copy-constructor didn't. This can only matter if the value being copied has been moved from, so we could probably replace with an assertion in practice, but we should at least be consistent. Amended test to check this case too; and verified new test crashes without this fix. Change-Id: I46872a677775944bbdf6a9112e719873e574ae60 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * tst_qplugin: Re-enable loadReleasePlugin test caseOliver Wolff2018-07-261-0/+1
| | | | | | | | | | | | | | | | | | | | | Change-Id: I678a8748ac757ae2918dd80e4a6d802d7de7b0b0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * Skip qplugin auto test for static configurationsOliver Wolff2018-07-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All test cases use QPluginLoader which will not work for static builds of Qt. Change-Id: I7dcddcd5213681bd3ae4cd85e49ee0bb5748f687 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * Fix the fix for mmap() overflow checkThiago Macieira2018-07-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code I introduced in 4ee74257940e2ed21b653b986ad02a746e8438a6 only dealt with systems that reasonably used a 64-bit off_t parameter. Turns out that we don't turn on largefile support on 32-bit Android, which meant that the fix caused a regression. [ChangeLog][QtCore][QFile] Fixed a regression that caused QFile::map() to succeed or produce incorrect results when trying to map a file at an offset beyond 4 GB on 32-bit Android systems and on some special Linux configurations. Task-number: QTBUG-69148 Change-Id: I2c133120577fa12a32d444488bac3e341966f8d7 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| | * Let QDir::absoluteFilePath() use isAbsolutePath() for resource pathsEdward Welbourne2018-07-231-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using QFileSystemEntry::isAbsolute() broke handling of resource paths. Extended QDir::absoluteFilePath() tests to cover absolute resource path and some UNC variants also resolved in the same fix. Amend existing filePath tests to use drives where needed. Task-number: QTBUG-68337 Change-Id: I4f02cf67828ad93e562857118f8442037f18bab7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Plugins: fix crash if the binary JSON data contains invalid sizeThiago Macieira2018-07-194-2/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eight bytes into the Binary JSON header there's a 32-bit little-endian size, which qJsonFromRawLibraryMetaData uses to determine the size of the stored metadata. That value is passed as a size to QByteArray, which means certain values could cause crashes due to being too big or via sign-extension in 64-bit. [ChangeLog][QtCore][QPluginLoader] Fixed an issue that could cause a crash when certain damaged or corrupt plugin files were scanned. Change-Id: I117816bf0f5e469b8d34fffd153dc5425cec39a7 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | tst_qsystemsemaphore: Use qt_test_helper functionalityOliver Wolff2018-07-317-51/+14
| | | | | | | | | | | | | | | Change-Id: I18a5d2d496e1442470423e0f05062cc2ae76a4e4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | tst_qobject: Use qt_test_helper functionalityOliver Wolff2018-07-314-50/+13
| | | | | | | | | | | | | | | | | | Change-Id: I79949ffa82a98e0d3a71e2bf416a0bee321bf113 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | tst_qsharedmemory: Use qt_test_helper functionalityOliver Wolff2018-07-317-56/+16
| | | | | | | | | | | | | | | Change-Id: I70b92b8350822f6d627e5f267188bb7d1d2946d9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Extend blacklistin of tst_QTimeLine tests to macOS 10.13Tony Sarajärvi2018-07-311-0/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-61037 Change-Id: I709f15ccb1fb8bbfad8989923991f752fa22ae0a Reviewed-by: Liang Qi <liang.qi@qt.io>
* | | Extend blacklisting of tst_QElapsedTimer::elapsed to cover macOS 10.13Tony Sarajärvi2018-07-311-0/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-58713 Change-Id: I4465aeb245faf0d2e937c04b737c9a4768e662ee Reviewed-by: Liang Qi <liang.qi@qt.io>
* | | QCborValue: move the toDiagnosticNotation() function to its own fileThiago Macieira2018-07-302-4/+169
|/ / | | | | | | | | | | | | | | | | | | If we ever need to add QCborValue to the bootstrap library, it's unlikely that we'll need this part. And by splitting it, I can make the code handle more cases, that hadn't been properly handled before. Change-Id: I2f630efbbce54f14bfa9fffd154160c0ad893695 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | canonicalFilePath: treat ENOTDIR as a case of file not existingEdward Welbourne2018-07-301-0/+10
| | | | | | | | | | | | | | | | | | | | | | There is no such file, if one of the "directory" components of its path is not, in fact, a directory. Added a test for non-existent file (specified to give empty canonical file path) as well as a test for a file in a sub-directory of a known file. The former incidentally tests for QTBUG-29402, fixed long ago. Change-Id: I60b80acc0f99f0a88cdb1c4d191af7384f3a31c5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Reduce redundancy and duplication in tst_QFile::appendAndReadEdward Welbourne2018-07-301-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use one QStringLiteral instead of repeating a QLatin1String(), that was passed to a function that has to convert it to unicode; do the conversion at compile-time. Reducing i % 256 is fatuous when i ranges from 1 to 100. A QFile will close() itself on destruction, no need to do it explicitly. Especially when *not* close()ing the *other* QFile that was left open. Change-Id: Idb39312d9c9beaf082b7cead574bc6bb9bb3a775 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Actually truncate when asked toEdward Welbourne2018-07-301-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Unix, we wouldn't even *try* to truncate if the file was open for appending. The combination may be an eccentric choice but - at least when it's combined with reading - I can imagine use-cases for it; and we should (at least try to) deliver what we're asked for, even if we can't think why anyone would want it. So actually enable truncation when asked to. Amended some tests to check this works and corrected the QIODevice documentation of mode flags (which misdescribed the special case that implies Truncate). Removed special-case code, to apply truncate when writing but not reading, since it's been made redundant by the pre-processing of mode done in QFSFileEngine::processOpenModeFlags(). [ChangeLog][QtCore][QFile] When opening a file, if Truncate is asked for, or implied by other flags, it shall be attempted, regardless of what other options are selected. We previously did this on Windows; now we do so also on Unix (even when appending). Task-number: QTBUG-13470 Change-Id: I1e08d02cfbae102725fccbbc3aab5c7bf8830687 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QRandomGenerator: remove unnecessary cast to float in RandomValueFPThiago Macieira2018-07-291-1/+1
| | | | | | | | | | | | | | I don't know why I did that. Change-Id: I20fd00e600264ff98c6afffd15410722b6d95a61 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | Logging: Accept .ini files written by QSettingsKai Koehne2018-07-281-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For keys, QSettings escapes all characters outside of [-a-zA-Z0-9_.] by using percent encoding, and changes '/' to '\'. That is, settings.setValue("qt.*", true) will be written to an .ini file as qt.%2A=true This means that QSettings can not be used to write general-purpose qtlogging.ini files. Fix this by applying the reverse transformation method from QSettings when reading in the .ini file. [ChangeLog][Logging] Qt will now accept qtlogging.ini files written by QSettings. Task-number: QTBUG-69548 Change-Id: I55b7a8b433291268dc6855901f72b1c04f8ee6d3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QUrl: Support IPv6 addresses with zone idRobbert Proost2018-07-271-0/+52
| | | | | | | | | | | | Task-number: QTBUG-25550 Change-Id: I37ec02b655abe2779aa11945e20550ce00e43723 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>