summaryrefslogtreecommitdiff
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* Pack languageCodeList tighterMate Barany2023-03-151-12/+2
| | | | | | | | | | | | | | Pack some of the arrays that contain locale data more tightly. The AlphaCode struct is a char[4] but always holds only [a-z]{,3} which could be fit into 16 bits, halving the size of an AlphaCode struct. With the new constructor the initialization of the AlphaCode struct also changes - modify qlocalexml2cpp.py to reflect this change and regenerate the languageCodeList. Fixes: QTBUG-105050 Change-Id: I2b1e93ab7cc3f2d667bf67b45769b74a15211931 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Record a recent discovery: Suzhou isn't hanidecEdward Welbourne2023-02-281-1/+2
| | | | | | | | Revise a comment in ldml.py about Suzhou "digits", since it turns out they aren't the same as hanidec, which is far from contiguous. Change-Id: Ia3947dbc5a927772026e55fe197c8ebce2540da2 Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
* Android: Increase Android 12 emulator RAM size to 16GB at CIRami Potinkara2023-02-201-1/+1
| | | | | | | | | | | Increase to 16GB from 3.5GB. Increase to 6GB was not enough. Increase to 16GB fixed tst_QByteArrayLarge cases failures. Task-number: QTQAINFRA-5391 Task-number: QTBUG-108832 Pick-to: 6.5 Change-Id: I97e263fbc2caa7908c706d1c683a4fa868afa7b6 Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
* Update CLDR to v42Mate Barany2023-02-071-1/+10
| | | | | | | | | | | | | | | | | | | | New languages (and one local for each) added with v42 - Haryanvi - Moksha - Northern Frisian - Obolo - Pijin - Rajasthani - Toki Pona It also appears that Canada has changed its date format. Modify the relevant test case to reflect this change. Task-number: QTBUG-110333 Pick-to: 6.5 Change-Id: Ia8975c2866cd54c9e565543d05bacd52f4987909 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Allow filtering of test functions to run in WASM testrunnerMikolaj Boc2023-01-302-9/+27
| | | | | | | | Just proxy any non-standard arg to the WASM module and let it use the arg as a filter Change-Id: Ia77a30ca872497425017edb8fa8961b6d687ca68 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* wasm testrunner: Join output into batchesMikolaj Boc2023-01-241-12/+30
| | | | | | | | | | Sending each line in separate POST requests seems to clog emrun. Join the output in 300ms intervals so that the number of requests is limited to 3,(3) per second. Fixes: QTBUG-109827 Change-Id: I099e8cc14d9d162c54b7040b62297d1070b234c3 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Remove GENERATE_METATYPESAmir Masoud Abdol2023-01-181-2/+2
| | | | | | | | | It doesn't seem like that it is being used anymore, except an instance in pro2cmake which I replaced by NO_GENERATE_METATYPES. Pick-to: 6.5 Change-Id: I135cf47e6041e98b354fb684f0079dad30689dea Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove the instance.ENV assignment in js test runnerMikolaj Boc2023-01-121-6/+0
| | | | | | | | | The assignment crashes with 3.1.25 as instance.ENV is now a read-only property. This used to be assigned to an empty object, so it was useless anyway. Change-Id: I47d4cd831052de514c372adb3f2202d8a0a6e06f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Bump version to 6.6.0Jani Heikkinen2022-12-141-1/+1
| | | | | Change-Id: I957e8a980542f16d3a3b493b41406bbeb884c2dc Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* qt-testrunner: Save test output into fileAlexandru Croitor2022-12-081-6/+13
| | | | | | | | | | | | | Aside from the generation of the xml and junit xml files for each test, also save the test output into a tst_{name}-{timestamp}.txt file. This will allow developers to inspect the output of passed tests, by downloading the test results archive, even if we use ctest's --output-on-failure. Change-Id: I0a6c0ee04b4525d3ad9b207b28117d2182d29c28 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* LocaleDB: Make passing qtbase root dir on command-lines optionalEdward Welbourne2022-11-013-13/+21
| | | | | | | | We can easily enough obtain the root of the present source tree using the value of __file__, so might as well do so. Change-Id: If14773ac1127278b6018a090c0b376437b9c6eec Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-111-1/+1
| | | | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace, with manual unstaging of the actual definition and documentation in dist/, src/corelib/doc/ and src/corelib/global/. Task-number: QTBUG-99313 Change-Id: I4c7114444a325ad4e62d0fcbfd347d2bbfb21541 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Update UCD to Revision 30Ievgenii Meshcheriakov2022-10-1118-236/+967
| | | | | | | | | | | | | | | | | | This corresponds to Unicode version 15.0.0. Added the following scripts: * Kawi * Nag Mundari Full support of these scripts requires harfbuzz version 5.2.0, this version adds support for Unicode 15.0: https://github.com/harfbuzz/harfbuzz/releases/tag/5.2.0 Fixes: QTBUG-106810 Change-Id: Ib06c526e49b0f01ef9f21123bcf875c6b19f2601 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Provide visual output in page in WASM test runnerMikolaj Boc2022-10-054-1/+467
| | | | | | | | | | | There will now be a visual output in page if the qvisualoutput query parameter is supplied. This simplifies debugging. The main html resource has been renamed test_batch.html to reflect the name of the actual test unit, not functionality. Change-Id: Ib6cd4712de9c47cfcc5f670e7b34f998858f99b7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Provide the wasm module correctly to the instantiateWasm callbackMikolaj Boc2022-10-011-1/+1
| | | | | | | | | The second parameter to the onDone callback in istantiateWasm was missing in qwasmjsrunner.js, which prevented the wasm module from working on the threaded qt build. Change-Id: I5d1be7a2e0d8043112f304b4d2530acdaae7b398 Reviewed-by: David Skoland <david.skoland@qt.io>
* Fix trivial typo in cldr.py doc-stringEdward Welbourne2022-09-141-1/+1
| | | | | Change-Id: I24b039f9256adb3dc7808cd04bd621226b1a5ed5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* testrunner: Use absolute path for JUnit XML result fileTor Arne Vestbø2022-09-131-5/+6
| | | | | | | | Amends 210020412c1d70b70993dfdec5041d486b28a8c4 Change-Id: Ibe3bbe0bab4370936f82a915ba59a7a89c292ea0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
* Adapt the js batched test runner to emrun interfaceMikolaj Boc2022-09-126-108/+302
| | | | | | | | | | This makes the js batched test runner cooperate with emrun. The runner sends back the output and exit messages to emrun to inform it about the test execution state. The code is based on emrun_postjs.js from the emsdk. Change-Id: I758f2c185797f4000810eb4314423eebc1c5d457 Reviewed-by: David Skoland <david.skoland@qt.io>
* testrunner: Generate JUnit result filesTor Arne Vestbø2022-09-091-3/+7
| | | | | | | | The JUnit format is easier to feed to tools that don't support the native Qt Test XML format. Change-Id: Ie9803cc0fb0577b3b7258b05faa78d8fb1aad1d1 Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
* xcb: use libxcb-cursor to replace Xlib/libXcursorLiang Qi2022-09-061-0/+7
| | | | | | | | | [ChangeLog][Linux/XCB] Used libxcb-cursor to replace Xlib/libXcursor Fixes: QTBUG-67373 Change-Id: I04a30e401467e48b431a5cc63984f7b70a09faf0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Add error message & format selection capability to batched test runnerMikolaj Boc2022-09-011-20/+37
| | | | | Change-Id: I6686bf951204672c3542148e85e59e14e83e73c4 Reviewed-by: David Skoland <david.skoland@qt.io>
* Implement new features in qt-wasmtestrunnerMikolaj Boc2022-08-311-52/+162
| | | | | | | | | | | | The script is now able to: - kill a test that is not responding after certain timeout - multicast output to files/streams (tee-like, but not only on posix) - forward requested format (xml/txt/etc.) to the test executable - run a batched test from a batch test package - interop with the js batched test runner Change-Id: Ia189d78a078e11b9efd25865c5a0ddc6a62d9b85 Reviewed-by: David Skoland <david.skoland@qt.io>
* Create a driver for running batched tests on WASMMikolaj Boc2022-08-245-0/+478
| | | | | | | | | | | | A driver application has been prepared in js for running batched tests. There is a convenient public API defined for reading the current test status & subscribing to changes thereof. The solution is modular - the module qwasmjsruntime can be used for any wasm instantiation, e.g. in the next iteration of qtloader. Change-Id: I00df88188c46a42f86d431285ca96d60d89b3f05 Pick-to: 6.4 Reviewed-by: David Skoland <david.skoland@qt.io>
* CMake: Rewrite double-conversion find moduleAlexandru Croitor2022-07-021-1/+2
| | | | | | | | | | | | | | | | | | | Rename FindWrapDoubleConversion.cmake into FindWrapSystemDoubleConversion.cmake. Merge contents of Finddouble-conversion.cmake into the one above. This allows users to provide their own Finddouble-conversion.cmake file (Conan can do it). Don't mark the system package as required, because we have a bundled one too. Add link to upstream. Make sure to show either Config file or library path when one is found. Pick-to: 6.2 6.3 6.4 Fixes: QTBUG-104541 Change-Id: I9ea2330697c6fc280328849ca11522291c4073d8 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* sanitizer-testrunner: enforce line bufferingDimitrios Apostolou2022-06-161-1/+1
| | | | | | | | Under coin-agent, the stdout/err are not a tty, so flushing needs to be forced. Change-Id: I06de43328a4f4d1c17df7188f31b5f7bc63e3335 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qt-testrunner: Commit forgotten README fileDimitrios Apostolou2022-06-161-0/+24
| | | | | | Pick-to: 6.4 6.3 6.2 Change-Id: Ie307b95947a6910bd65bb22ecf938fae9de22f9d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Add ASAN build for qtbaseDimitrios Apostolou2022-06-151-0/+49
| | | | | | | | | | | | | | | The test run is wrapped with a special TESTRUNNER script that ignores failing tests (there are several tests failing when built with ASAN) and also ignores LSAN errors (memory leaks - but still visible in the output). The test run only fails if a test reports ASAN errors or if it crashes (or times out, which is like a crash caused by qtestlib's watchdog timer). Fixes: QTQAINFRA-5025 Change-Id: I861756ab49388ac4a52409d3a780684244e469b1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix typosKai Köhne2022-06-132-2/+2
| | | | | | | | Found by codespell Pick-to: 6.4 Change-Id: I4907e423b6b345acf82f2d7e0ed62479719d694e Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Bump version to 6.5.0Jani Heikkinen2022-06-061-1/+1
| | | | | Change-Id: I83a4f915a914bdc18f6706bb902f3e3b13da074f Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Expose the qtloader object globallyDavid Skoland2022-06-031-12/+20
| | | | | | | | | | | | When testing, we need to query the state of the Qt application, so change the scope of qtloader from inside the init function to global scope. Additionally, adjust the test script accordingly to query and use this state to make good decisions on how to terminate. Change-Id: I6264ba20843716eb87340b160680617b718f6bd9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Core: make CLDR data constexprYuhang Zhao2022-05-272-12/+12
| | | | | | | Task-number: QTBUG-100485 Pick-to: 6.3 6.2 Change-Id: Ib8c5160ca0994662a5fdc2293dc734c1bdcac4f2 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Core: make Unicode Database constexprYuhang Zhao2022-05-261-11/+11
| | | | | | | | Task-number: QTBUG-100485 Pick-to: 6.3 6.2 Change-Id: I41480a34b14fd86a68a5c10b7e0f3d250e785d0f Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Unicode: Extract EastAsianWidth propertyIevgenii Meshcheriakov2022-05-242-2/+2695
| | | | | | | | | | This property is needed to properly implement the line breaking algorithm from UAX #14. Task-number: QTBUG-97537 Pick-to: 6.3 Change-Id: Ia83cc553c9ef19fae33560721630849d2a95af84 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Unicode: Remove obsolete word break classesIevgenii Meshcheriakov2022-05-241-12/+0
| | | | | | | | | | Remove E_Base, Glue_After_Zwj, E_Base_GAZ, and E_Modifier obsoleted by UTS #29, version 33 (Unicode 11.0.0). Task-number: QTBUG-97537 Pick-to: 6.2 6.3 Change-Id: If5dc36ae17cd8746bbe81b73bbcc0863181e4a7a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Android: fix default name of the CI emulatorAssam Boudjelthia2022-05-191-1/+1
| | | | | | | | | | This name was changed in qt5/coin but wasn't reflected here. Currently, things works correctly because the test target provide the correct name as an env var. Pick-to: 6.2 6.3 Change-Id: I8968285de2c7759d16f303c48d6295295dffbef6 Reviewed-by: Simo Fält <simo.falt@qt.io>
* Add an exception in testrunner for QDocLuca Di Sera2022-05-191-1/+3
| | | | | | | | | | | | | | | QDoc recently added some tests that use Catch2 instead of testlib. Similarly to selftests, the normal behavior of `qt-testrunner.py` will fail, trying to pass an argument that is not supported by Catch2 when running the tests in CI. To avoid the issue, an exception for the test executables that QDoc uses was added to `qt-testrunner.py`, using the already available mechanism that is used for selftests. Change-Id: I5eb4b75f239eda0c493fb06ece164545d159372b Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-1690-2699/+204
| | | | | | | | | | | | | 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>
* util/x86simdgen: update with the copyright headerThiago Macieira2022-05-061-0/+1
| | | | | | | Matching update done in https://github.com/opendcdiag/opendcdiag/pull/78 Change-Id: I5ff8e16fcdcb4ffd9ab6fffd16ec02591cb5ed70 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Fix build of util/glgenJoerg Bornemann2022-05-063-2/+3
| | | | | | | | Don't use QSet::toList(), and fix an obvious typo. Also, core5compat is now needed due to the use of QRegExp. Change-Id: I766455996c07d354e97a4ed4939f1774fc449331 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Add a simple Qt 6/CMake-compatible script a la includemocs.pyMarc Mutz2022-05-051-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Perl is dead and I don't speak Python, so if someone wants to port it, be my guest. I needed something that I can use to roll out includemocs across all Qt modules, and this is it. It works for me™, so I don't expect to do much development with it. This is an automated committer script I've been using so far: # SRCDIR=~~~ # BUILDDIR=~~~~ cd $BUILDDIR find */src -name mocs_compilation.cpp | while read FILE; do if grep -qsE '^#include' "$FILE"; then DIR="$(dirname "$FILE")" LIB="$(basename "$DIR")" case "$LIB" in Q*) LIB="${LIB%%_autogen}" ;; *) LIB="Qt${LIB%%_autogen}" ;; esac DIR="${DIR%/*}" path/to/includemocs6.sh "$SRCROOT/$DIR" "$DIR" "$FILE" (cd "$SRCROOT/$DIR" && git commit -am "$LIB: includemocs $(cat "$SRCROOT/commit-msg.txt")" --no-edit) fi done If the script cannot associate a moc file with a cpp file, it will print a warning and continue. The script tries to include the moc-file right after the QT_END_NAMESPACE to work around many TUs ending in an #endif from some #if QT_CONFIG or other. If there's no QT_END_NAMESPACE, it appends the include and prints a warning. Fixes: QTBUG-102886 Pick-to: 6.3 6.2 Change-Id: I16c5a9f845777ea2e82f15611b4fdd32f98ce0bb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Generalize exclusion listDimitrios Apostolou2022-04-221-4/+8
| | | | | | | | | | It seems there are some tests in the various Qt modules that skip writing the XML testlog file. If there are good reasons for that (for example test is a custom shellscript) then it should be added to the DUMB_TESTS list. Change-Id: Iffb00e1fda42bb8e7338a94c9320e45900db1bc1 Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* qt-testrunner: improve error loggingDimitrios Apostolou2022-04-221-9/+12
| | | | | | | | Do not print full stack traces when a controlled exception occurs, instead print just the exception name and the message. Change-Id: I5669862d2e98c550d88d1d11fb2bf49f197cfc17 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove the qmake2cmake wrapper scripts and document where they areJoerg Bornemann2022-04-123-6/+3
| | | | | | Pick-to: 6.3 Change-Id: Ib36f4e614845a3b375f4a86239fa7e6e26d7adea Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix generation of qsimd_x86 files to require no hand-editingEdward Welbourne2022-04-072-2/+8
| | | | | | | | | | | | | | | | | | Recent fixes to include the "We mean it" comment in the header also lead to that comment appearing in the generated .cpp file, which also lacked the "This is a generated file. DO NOT EDIT." comment. The generated header also lacked a blank line after the "We mean it" comment, so include that (and take it out, too, in the .cpp). The "Please see" line of the "DO NOT EDIT" comment also used the name of the generator script as seen from the Makefile that drives the regeneration; replace this with the README.md file that actually explains how to regenerate the files in corelib/global/. This amends commit 71af0d7059d47a199e1d26de6573d6a5038caa30 and commit b852584556bec3750bad7fac984b6fc5af4c870f Change-Id: I4b5b4dbef5954819632bb625d1914a9ec46e15d9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qt-testrunner: be more strict if bad XML log files are writtenDimitrios Apostolou2022-04-052-11/+34
| | | | | | | | | | | | | | | | | | | | | | | If a test returns 0 but writes an XML logfile that contains FAIL or a corrupted XML file, then qt-testrunner considers it a CRASH and exits with 3. Previously any test execution returning 0 (success) was considered a PASS. Changing this behavior with this patch finds a lot of test crashes on Android (QTBUG-100470), because the tests are run indirectly on the emulator and the test wrapper process could not detect the crash, thus returning 0 to qt-testrunner. But the corrupt XML file is caught now. Likewise, if a test returns != 0 but the XML logfile contains only PASS, qt-testrunner considers it a FAIL. This used to be the case but now tests are added. Finally changed logging for such cases from INFO to WARNING. Task-number: QTBUG-100470 Change-Id: I404c9d2211c7de027bf776d1914519d37f513ca1 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Add WASM testrunnerDavid Skoland2022-03-313-0/+261
| | | | | | | | | Add a python script that allows us to run wasm tests in CI, along with the necessary cmake logic to install the script and execute tests accordingly. Change-Id: I93b95c115538c4e27b2b833405acab8162be2a8a Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* pro2cmake: Introduce qmake2cmake convenience scriptsJoerg Bornemann2022-03-083-53/+111
| | | | | | | | | | | Add qmake2cmake[.bat] wrapper scripts that can be used to convert user projects to CMake. For now, user projects are internally handled as Qt examples with one difference: the generation of example-specific installation code is suppressed. Fixes: QTBUG-98655 Change-Id: I1a57f6d12efe0bdf383592ab33682a611692db80 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* pro2cmake: Handle QT_(MAJOR_|MINOR_|PATCH_)VERSION conditionsJoerg Bornemann2022-03-083-0/+38
| | | | | | Task-number: QTBUG-98852 Change-Id: I4c86fff7bbcc6c42cd04094f2409c3d04779597c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* pro2cmake: Remove INSTALL_LOCATION from qt_add_qml_module callsJoerg Bornemann2022-03-081-1/+1
| | | | | | | This function does not handle installation. Change-Id: I02fdc244f49b5935aa1ac51bff8a25970ad3a335 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* pro2cmake: Generate find_package call for Qt5/Qt6 for examplesJoerg Bornemann2022-03-082-5/+19
| | | | | | | | This makes the QT_VERSION_(MAJOR|MINOR|PATH) variables available. Task-number: QTBUG-98852 Change-Id: I7e40f2a7ac09975ce21e45cda384af928e1fa629 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>