summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/serialization/qxmlstream
Commit message (Collapse)AuthorAgeFilesLines
* QXmlStreamWriter: fix attempts to write bad QStringsThiago Macieira2024-04-181-0/+20
| | | | | | | | | | | | | We weren't doing the decoding from UTF-16 to UTF-32, so weren't catching invalid code sequences [ChangeLog][QtCore][QXmlStreamWriter] The class now rejects writing UTF-8 and UTF-16 invalid input (improper code unit sequences). Task-number: QTBUG-122241 Pick-to: 6.5 6.6 6.7 Change-Id: I83dda2d36c904517b3c0fffd17b42d17c637fdc4 Reviewed-by: Mate Barany <mate.barany@qt.io>
* QXmlStreamWriter: decode UTF-8 into code pointsThiago Macieira2024-04-181-0/+125
| | | | | | | | | | | | | | | | | | | | | We were iterating over code *units* and that yielded wrong results. The one from the bug report was simply caused by the fact that QUtf8StringView::value_type is char, which is signed on x86, so the expression: *it <= u'\x1F' was true for all non-Latin1 content. But in attempting to fix this, I needed to do the proper UTF-8 decoding, as otherwise we wouldn't catch non-Latin1 sequences and such. [ChangeLog][QtCore][QXmlStreamWriter] Fixed a bug that caused the class to fail to write UTF-8 strings with non-US-ASCII content when passed as a QUtf8StringView. Fixes: QTBUG-122241 Pick-to: 6.5 6.6 6.7 Change-Id: I83dda2d36c904517b3c0fffd17b42bbf09a493d0 Reviewed-by: Mate Barany <mate.barany@qt.io>
* Tests: make some QFile::open calls failGiuseppe D'Angelo2024-04-131-3/+4
| | | | | | | | | | In some cases calls to QFile::open are made outside of a testfunction (so we can't use QVERIFY), or even in standalone executables that are executed by tests. Make them fail "visibly". Change-Id: Iec4d56f6d874be16aa2e9ad6974eeec2a98caa3f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Tests: check the output of QFile::openGiuseppe D'Angelo2024-03-271-3/+3
| | | | | | | | | | Wrap the call in QVERIFY. tst_QTextStream::read0d0d0a was also faulty as it *never* opened the file because of a broken path. Fix it with QFINDTESTDATA. Change-Id: I61a8f83beddf098d37fda13cb3bfb4aaa4913fc5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Xml: use new comparison helper macrosTatiana Borisova2024-03-202-2/+77
| | | | | | | | | | | | | | | | | | | | | | New comparison macros are used for following classes: -QXmlStreamAttribute -QXmlStreamNamespaceDeclaration -QXmlStreamNotationDeclaration -QXmlStreamEntityDeclaration Replace public operators operator==(), operator!=() of classes to friend methods comparesEqual(); Use QT_CORE_REMOVED_SINCE to get rid of current comparison methods and replace them with a friend. Add checkStreamNotationDeclarations()/checkStreamEntityDeclarations() test-cases to test change. Task-number: QTBUG-120300 Change-Id: I0b5642b2e23cc21ede7bc4888f0a9bddd6c08d07 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Correct license for tools filesLucie Gérard2024-03-051-1/+1
| | | | | | | | | | | | According to QUIP-18 [1], all tools file should be LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: Icd5d5be2e04819617e68ff142924de1773bebbad Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Change license for tests filesLucie Gérard2024-02-043-3/+3
| | | | | | | | | | | | According to QUIP-18 [1], all tests file should be LicenseRef-Qt-Commercial OR GPL-3.0-only [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I9657df5d660820e56c96d511ea49d321c54682e8 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* Fix renamed and duplicated namespaces in QXmlStreamWriterØystein Heskestad2023-09-201-0/+16
| | | | | | | | | | | | | | | The XML stream writer previously added namespace declarations with the same URL as existing ones, but new names, and renamed the XML elements to use the new namespaces instead of the existing ones. [ChangeLog] Fix renamed and duplicated namespaces in QXmlStreamWriter. Pick-to: 6.5 6.6 Fixes: QTBUG-75456 Change-Id: I90706e067ac9991e9e6cd79ccb2373e4c6210b7b Done-With: Philip Allgaier <philip.allgaier@bpcompass.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QXmlStreamReader::readNextStartElement() - return false on document endAxel Spoerl2023-08-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | The method reads the next element in a loop, as long as valid elements exist. Within the loop, it returns - false if the end of an element has been reached - true if a new element has started When the document end has been reached, the loop continues, until readNext() returns Invalid. Then, PrematureEndOfDocumentError is launched. This is wrong, because reading beyond the document end is caused by a missing return condition in the loop. => Treat document end like element end and return false without reading beyond it. => Test correct behavior in tst_QXmlStream::readNextStartElement() Fixes: QTBUG-25944 Pick-to: 6.6 6.5 6.2 Change-Id: I0160b65880756a2be541e9f55dc79557fcb1f09f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_QXmlStream: Remove stray commentAxel Spoerl2023-07-251-1/+0
| | | | | | | | Remove stray comment at the end of tst_qxmlstream.cpp Pick-to: 6.6 Change-Id: I88550e2b75194e7895d8578ca0e8350af59d4dfe Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
* tst_QXmlStream: Fix CMakeLists.txtAxel Spoerl2023-07-181-1/+1
| | | | | | | | Remove non existing path from GLOB_RECURSE statement. Pick-to: 6.6 6.5 6.2 Change-Id: Ie122bd062acf8cc26f2ddead808c101af4da9573 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* tst_QXmlStream::tokenErrorHandling() - register test directory in CMakeAxel Spoerl2023-07-112-3/+10
| | | | | | | | | | | | | | Register the directory tokenError in the build system to expose it to embedded devices / for cross compiling. Do not fail the test function, when a test file isn't found. The tested functionality is platform independent and will be tested on other platforms. Task-number: QTBUG-92113 Task-number: QTBUG-95188 Pick-to: 6.6 6.5 6.2 5.15 Change-Id: I885d8fdfbbf8ec60e6326bfd871fa85a4390247d Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* QXmlStreamReader: Raise error on unexpected tokensAxel Spoerl2023-07-104-0/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QXmlStreamReader accepted multiple DOCTYPE elements, containing DTD fragments in the XML prolog, and in the XML body. Well-formed but invalid XML files - with multiple DTD fragments in prolog and body, combined with recursive entity expansions - have caused infinite loops in QXmlStreamReader. This patch implements a token check in QXmlStreamReader. A stream is allowed to start with an XML prolog. StartDocument and DOCTYPE elements are only allowed in this prolog, which may also contain ProcessingInstruction and Comment elements. As soon as anything else is seen, the prolog ends. After that, the prolog-specific elements are treated as unexpected. Furthermore, the prolog can contain at most one DOCTYPE element. Update the documentation to reflect the new behavior. Add an autotest that checks the new error cases are correctly detected, and no error is raised for legitimate input. The original OSS-Fuzz files (see bug reports) are not included in this patch for file size reasons. They have been tested manually. Each of them has more than one DOCTYPE element, causing infinite loops in recursive entity expansions. The newly implemented functionality detects those invalid DTD fragments. By raising an error, it aborts stream reading before an infinite loop occurs. Thanks to OSS-Fuzz for finding this. Fixes: QTBUG-92113 Fixes: QTBUG-95188 Pick-to: 6.6 6.5 6.2 5.15 Change-Id: I0a082b9188b2eee50b396c4d5b1c9e1fd237bbdd Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* CMake: Make corelib tests standalone projectsAlexandru Croitor2023-07-051-0/+6
| | | | | | | | | | | | | | | | | | Add the boilerplate standalone test prelude to each test, so that they can be opened with an IDE without the qt-cmake-standalone-test script, but directly with qt-cmake or cmake. Boilerplate was added using the following scripts: https://git.qt.io/alcroito/cmake_refactor Manual adjustments were made where the code was inserted in the wrong location. Task-number: QTBUG-93020 Change-Id: I28b6d3815c5f43d2c33ea65764f6f3f8f129eaf3 Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_QXmlStream: remove unneeded _ba UDLsMarc Mutz2023-06-291-5/+5
| | | | | | | | | | | | | | | | | | | ... and collapse adjacent C string literals. Both QStringBuilder and non-QStringBuilder builds have no problem resolving an operator+ for char[] and QByteArray, so there's no need to turn the char[] into a QByteArray using the _ba UDL first. It just causes pain because not all active branches support this UDL, so remove, to bring this code in line with what the cherry-picks to 6.2 and 5.15 must needs had to use. Amends 6326bec46a618c72feba4a2bb994c4d475050aed. Pick-to: 6.6 6.5 6.5.2 Change-Id: Id3d61483729c51c82f58b826efcc8fc7960c3ccd Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
* QXmlStreamReader: make fastScanName() indicate parsing status to callersAhmad Samir2023-06-281-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a crash while parsing an XML file with garbage data, the file starts with '<' then garbage data: - The loop in the parse() keeps iterating until it hits "case 262:", which calls fastScanName() - fastScanName() iterates over the text buffer scanning for the attribute name (e.g. "xml:lang"), until it finds ':' - Consider a Value val, fastScanName() is called on it, it would set val.prefix to a number > val.len, then it would hit the 4096 condition and return (returned 0, now it returns the equivalent of std::null_opt), which means that val.len doesn't get modified, making it smaller than val.prefix - The code would try constructing an XmlStringRef with negative length, which would hit an assert in one of QStringView's constructors Add an assert to the XmlStringRef constructor. Add unittest based on the file from the bug report. Later on I will replace FastScanNameResult with std::optional<qsizetype> (std::optional is C++17, which isn't required by Qt 5.15, and we want to backport this fix). Credit to OSS-Fuzz. Fixes: QTBUG-109781 Fixes: QTBUG-114829 Pick-to: 6.6 6.5 6.2 5.15 Change-Id: I455a5eeb47870c2ac9ffd0cbcdcd99c1ae2dd374 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* qc14n.h: general cleanupAhmad Samir2023-05-011-13/+7
| | | | | | | | | - Add missing includes - Use std::all_of, that also fixes a narrowing conversion warning (qsizetype). Change-Id: I0f7f4b91bda4c187b8f8094e3039079c43fbf478 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move QZipReader/Writer from QtGui to QtCoreMarc Mutz2023-04-262-2/+2
| | | | | | | | | | | | | | | | | | | These classes depend only on Core, not Gui. This allows dropping the dependency of tst_qxmlstream and tst_qzip on QtGui, and prevents a tst_qxmlstream FTBFS when building with QT_NO_TEXTODFWRITER. Symbols move from QtGui to QtCore, but the classes are private API, so not under BC constraints. The classes are not used outside qtbase, so no other in-tree users need porting. Task-number: QTBUG-3897 Change-Id: Ifa148f43ec139d7f9ac1f3893e2fcf4640e3c60c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_qxmlstream: remove dependency on QtXmlMarc Mutz2023-04-251-1/+0
| | | | | | | | | | | QtXml is only DOM and SAX, not QXmlStreamReader/Writer (those are in QtCore). Pick-to: 6.5 6.2 Change-Id: I8454d7db90303d347d5b4be94c9f21401d1e273f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Øystein Heskestad <oystein.heskestad@qt.io>
* QXmlStreamAttributes: port value()/hasAttribute() to QAnyStringViewMarc Mutz2023-04-251-0/+8
| | | | | | | | | | [ChangeLog][QtCore][QXmlStreamAttributes] Ported value() and hasAttribute() to QAnyStringView. Change-Id: I771b9cede1d581d3f1142246e7a25c36bcc850d6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QXmlStream: run the test suite from a method other than initTestCase()Ahmad Samir2023-04-081-4/+8
| | | | | | | | | Only unzip the test suite in initTestCase(), but run the tests from runTestSuite(). This is mainly useful when running specific a unittest locally, no need to wait for the whole zipped test suite to run. Change-Id: I518a2de716d3d07fb5a78298f1bd3ab2759e744b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_qxmlstream: add non-US-ASCII hasAttribute() checksMarc Mutz2023-04-011-2/+19
| | | | | | | | | | One each of L1 and non-L1. Will help porting that API to QAnyStringView. Pick-to: 6.5 Change-Id: I51afc07c5b2384409c2627164e95265265fbb544 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tests: Remove remains of qmake conversion from CMakeLists.txt filesFriedemann Kleint2023-02-171-2/+0
| | | | | | | Pick-to: 6.5 Change-Id: I8d106554bb86ac1ec9bb7a4083de4c376bcbab1d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QXmlStreamWriter: fix a thinko in doWriteToDevice(QSV)Marc Mutz2022-12-161-1/+8
| | | | | | | | | | | | | | Check for state.remainingChars to signal an encoding error only after the last chunk has been processed. Splitting surrogates at chunk boundaries is normal operation, not an error. Only if this happens at the end of the whole input should we raise an error. Amends fa2153bd10057d7adbc5f5ededa1fd97c4a68161. Pick-to: 6.5 Change-Id: Id92e37becaed25bbc11e0c22dedc4d41fb23f92a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Extend tst_qxmlstream::readBack() to all Unicode charactersMarc Mutz2022-12-161-12/+28
| | | | | | | | | | | | | | | | | | ... not just those in the BMP. The use of char32_t makes the isValid helper function easier to read. Its passing to write() is enabled by the recent port to QAnyStringView, which has a char32_t ctor. Split into per-plane executions of the test function to avoid running into timeouts on asan builds down the road. As a drive-by, replace use of QPair with a proper struct, and make the intervals symmetrically inclusive the bounds. Pick-to: 6.5 Change-Id: I2c6858d7e6a88f448eac1b1e124d7d7b82828d4c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* tst_qxmlstream: swap WHEN and THEN in readBack()Marc Mutz2022-12-161-3/+3
| | | | | | | | | | | | | | | | | WHEN writing an invalid character, THEN we expect the writer to report an error. The old code had it the wrong way around. It checked that WHEN the writer reports an error, THEN the character was invalid. The formulations are equivalent, but the latter is mixing up cause and effect, making it less clear what's being checked (QXmlStreamWriter, not isValidSingleTextChar()), so swap. Pick-to: 6.5 6.4 6.2 Change-Id: I703de9ddde98d9913977a913f671472930735900 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Mate Barany <mate.barany@qt.io>
* tst_qmlstream: re-use QBuffer instance in readBack()Marc Mutz2022-12-161-2/+3
| | | | | | | | | | | | This improves the runtime of this particular test function by almost 17% on my machine. Pick-to: 6.5 6.4 6.2 5.15 Change-Id: Icd77cdda92374b92121988c99e56787d405fa2d9 Reviewed-by: Mate Barany <mate.barany@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Port from container::count() and length() to size() - V5Marc Mutz2022-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8, but extended to handle typedefs and accesses through pointers, too: const std::string o = "object"; auto hasTypeIgnoringPointer = [](auto type) { return anyOf(hasType(type), hasType(pointsTo(type))); }; auto derivedFromAnyOfClasses = [&](ArrayRef<StringRef> classes) { auto exprOfDeclaredType = [&](auto decl) { return expr(hasTypeIgnoringPointer(hasUnqualifiedDesugaredType(recordType(hasDeclaration(decl))))).bind(o); }; return exprOfDeclaredType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes)))); }; auto renameMethod = [&] (ArrayRef<StringRef> classes, StringRef from, StringRef to) { return makeRule(cxxMemberCallExpr(on(derivedFromAnyOfClasses(classes)), callee(cxxMethodDecl(hasName(from), parameterCountIs(0)))), changeTo(cat(access(o, cat(to)), "()")), cat("use '", to, "' instead of '", from, "'")); }; renameMethod(<classes>, "count", "size"); renameMethod(<classes>, "length", "size"); except that the on() matcher has been replaced by one that doesn't ignoreParens(). a.k.a qt-port-to-std-compatible-api V5 with config Scope: 'Container'. Added two NOLINTNEXTLINEs in tst_qbitarray and tst_qcontiguouscache, to avoid porting calls that explicitly test count(). Change-Id: Icfb8808c2ff4a30187e9935a51cad26987451c22 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Port from container.count()/length() to size()Marc Mutz2022-10-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is semantic patch using ClangTidyTransformator: auto QtContainerClass = expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o) makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container'. <classes> are: // sequential: "QByteArray", "QList", "QQueue", "QStack", "QString", "QVarLengthArray", "QVector", // associative: "QHash", "QMultiHash", "QMap", "QMultiMap", "QSet", // Qt has no QMultiSet Change-Id: Ibe8837be96e8d30d1846881ecd65180c1bc459af Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-231-1/+1
| | | | | | | Task-number: QTBUG-105718 Change-Id: I5d3ef70a31235868b9be6cb479b7621bf2a8ba39 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add license headers to cmake filesLucie Gérard2022-08-031-0/+3
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I3b98cdc55ead806ec81ce09af9271f9b95af97fa Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Port QXmlStremReader to QAnyStringViewSona Kurazyan2022-07-121-0/+22
| | | | | | | | | | | | | | | | Port the constructor and addData() method to QAnyStringView, but keep the overloads taking a QByteArray to avoid extra copies when actual QByteArray is passed. These overlaods need to be Q_WEAK_OVERLOADs, to avoid ambiguities (e.g. for const char * arguments). Additionally, add a test to make sure the patch doesn't break parsing from a QLatin1StringView input. [ChangeLog][QtCore][QXmlStremReader] Added constructor and addData() overloads taking QAnyStringView. Change-Id: I0efaab82a2123271c88407e380f3c67d1099a4a6 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-163-81/+6
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Revert "Blacklist: test cases blacklisted in tst_QXmlStream:"Heikki Halmet2022-03-151-4/+0
| | | | | | | | | | This reverts commit d3a297c0ab96baf831ce43f0271515989a980b5f. Reason for revert: Unnecessary blacklisting Task-number: QTBUG-101332 Change-Id: I1e2c94585e719199724695347b243dffcde49259 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Activate tst_qxmlstream for AndroidAndreas Buhr2022-03-022-9/+41
| | | | | | | | | | | | | | | | | tst_qxmlstream was disabled because it crashed. It does not any more. But it extracted an input zip archive in-place, which is not possible on Android. To resolve this, input files are copied to a temporary directory first. Also, input directories were given to rcc. rcc has a problem with recursive directories. To circumvent this, the file list is created in CMake and then given to rcc. Task-number: QTBUG-87671 Pick-to: 6.2 6.3 Change-Id: I88bb823b9e5c085404e263d4a648d65c9cd6024c Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Blacklist: test cases blacklisted in tst_QXmlStream:CI Insignificant Platforms Monitor Bot2022-02-281-0/+4
| | | | | | | | | | - initTestCase on qnx Pick-to: 6.2 Pick-to: 6.3 Task-number: QTBUG-101332 Change-Id: Ie7c561f4c92ec08c1562becefc928c34bc0eed67 Reviewed-by: CI Insignificant Platforms Monitor Bot <ci_insignificant_platforms_monitor_bot@qt.io>
* Remove execute permission from XML filesEdward Welbourne2022-01-174-0/+0
| | | | | | | | | | | Files that are not meant to be executed should not have the execute permission bit set. Task-number: QTBUG-81503 Pick-to: 6.3 6.2 5.15 Change-Id: I10666bd958adfc5c425216bcff7456facd1fe5f3 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
* QXmlStreamReader: update test distributionIvan Solovev2021-12-19653-3918/+27
| | | | | | | | | | | | | | | | | | | | | | | | As mentioned in the linked bugreport, we are not allowed to distribute the uncompressed files from one of the XML test datasets that we use in our tests. This patch removes the uncompressed version, and replaces it by the xmltest.zip archive taken from [0]. Once the test is started, QZipReader is used to uncompress the archive, and once the test is done, the uncompressed data is removed. However the test data from [0] is very old, so it is slightly different from what we had previously (the previous data was taken from w3c). As a result, 4 test cases are failing with this data. To fix it, we store the updated versions of 4 xml files separately, and replace them after uncompressing the archive. [0]: http://www.jclark.com/xml/ Fixes: QTBUG-81503 Pick-to: 6.3 6.2 5.15 Change-Id: Ied5233970a529deebca56b1eab07fe1c328a2ee0 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Correct prefix reported for end element in QXmlStreamReaderVincent Baijot2021-04-208-13/+13
| | | | | | | | | | | | | | | | | | | Before this change, QXmlStreamReader prefix value was always an empty string for EndElement when the documentation state : "Returns the prefix of a StartElement or EndElement." The error was a missing update of the prefix value when parsing EndElement. I updated the tests data which were also wrong because no prefix were reported even for </a:foo>. No new test is necessary, I think, the test data already cover the cases of EndElement with a prefix and without one (unchanged here). Fixes: QTBUG-86847 Pick-to: 5.15 6.0 6.1 Change-Id: I0ad38b9741d760f1ce688a36f969ec14e20a928c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove the qmake project filesJoerg Bornemann2021-01-071-6/+0
| | | | | | | | | | | | | | | | Remove the qmake project files for most of Qt. Leave the qmake project files for examples, because we still test those in the CI to ensure qmake does not regress. Also leave the qmake project files for utils and other minor parts that lack CMake project files. Task-number: QTBUG-88742 Change-Id: I6cdf059e6204816f617f9624f3ea9822703f73cc Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Replace QtTest headers with QTestDavid Skoland2020-12-221-1/+3
| | | | | | | | | | | Complete search and replace of QtTest and QtTest/QtTest with QTest, as QtTest includes the whole module. Replace all such instances with correct header includes. See Jira task for more discussion. Fixes: QTBUG-88831 Change-Id: I981cfae18a1cabcabcabee376016b086d9d01f44 Pick-to: 6.0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Another round of replacing 0 with nullptrAllan Sandfeld Jensen2020-10-071-1/+1
| | | | | | | | | This time based on grepping to also include documentation, tests and examples previously missed by the automatic tool. Change-Id: Ied1703f4bcc470fbc275f759ed5b7c588a5c4e9f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* CMake: Regenerate projects to use new qt_internal_ APIAlexandru Croitor2020-09-231-1/+1
| | | | | | | | | | | Modify special case locations to use the new API as well. Clean up some stale .prev files that are not needed anymore. Clean up some project files that are not used anymore. Task-number: QTBUG-86815 Change-Id: I9947da921f98686023c6bb053dfcc101851276b5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Remove the SAX parser from QtXmlLars Knoll2020-09-151-1/+0
| | | | | | | | It has been deprecated and will live in qt5compat from now on. Fixes: QTBUG-86480 Change-Id: I3744c7cee058d51d0fce633a174ab1a0f9235d2c Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Remove most compiler warnings about missing overridesLars Knoll2020-09-111-2/+2
| | | | | | | | | | | | Remove around 1000 compiler warnings about missing overrides in our auto tests. This significantly reduce the compiler warning noise in our auto tests, so that one can actually better see the real problems inbetween. Change-Id: Id0c04dba43fcaf55d8cd2b5c6697358857c31bf9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* CMake: Regenerate tests with new qt_ prefixed APIsAlexandru Croitor2020-07-091-1/+1
| | | | | | | | Use pro2cmake with '--api-version 2' to force regenerate projects to use the new prefixed qt_foo APIs. Change-Id: I055c4837860319e93aaa6b09d646dda4fc2a4069 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Use QList instead of QVector in corelib testsJarek Kobus2020-07-071-3/+3
| | | | | | Task-number: QTBUG-84469 Change-Id: Ic80fde5517aed363f17d0da55cadcc958c3c8895 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Move implementation of QVector/List back to qlist.hLars Knoll2020-06-201-1/+1
| | | | | | | | | | | | | And name the main class QList. That's also the one we document. This gives less porting pain for our users, and a lot less churn in our API, as we use QList in Qt 5 in 95% of our API. In addition, it gives more consistent naming with QStringList and QByteArrayList and disambiguates QList vs QVector(2|3|4)D. Fixes: QTBUG-84468 Change-Id: I3cba9d1d3179969d8bf9320b31be2230d021d1a9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Start porting QTextStream away from QTextCodecLars Knoll2020-05-141-1/+1
| | | | | | | | | | | | As a first step add setEncoding/encoding() methods that use the QStringConverter::Encoding enum, and port all uses of setCodec()/ codec() over to the new API. Internally QTextStream still uses QTextCodec, this will be ported over to QStringConverter in a follow-up change. Change-Id: Icd764cf47b449b57f4ebd010c2dad89e6717d6c0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Always write XML documents as UTF-8Lars Knoll2020-05-141-91/+0
| | | | | | | | | | | Remove support for setting a codec different from UTF-8 for writing XML files. All XML readers today can handle UTF-8, and there is no reason anymore to write a file in a different encoding. Change-Id: If89fb2d2474a2b55644d9bed7473c11ad91033eb Reviewed-by: Simon Hausmann <hausmann@gmail.com>