aboutsummaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/qml
Commit message (Collapse)AuthorAgeFilesLines
* Compiler: Rename QMLLINT_DEFAULT_CATEGORIES to BUILTIN in stead DEFAULTOlivier De Cannière2025-11-051-1/+1
| | | | | | | This helps avoid confusion with the default field for categories. Change-Id: Iceb9a2adeb928a0f801fab9c718a8ecc3ac8cd07 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* QmlCompiler: Fix side effect detection for callsUlf Hermann2025-10-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We cannot pass registers that are potentially affected by side effect as arguments to calls. For this to work, we need to sharpen the side effect detection some more. 1. A conversion is always "var" which can be affected by side effects. However, the actual question is whether one of the conversion origins can be affected by side effects. A conversion of "int" and "undefined", for example, can certainly not be affected. 2. When determining side effects we need to look at the original types, not the adjusted ones. Adjusted types are often "var" because we need to pass a value as "var" to some function. That doesn't mean the value can be affected by side effects, though. 3. When generating the write-back, we should first check if it's necessary at all before looking for side effects. Furthermore, we need to slightly adjust the deltablue benchmark since two values were potentially affected by side effects. The walkStrength may be shadowed by a type with internal structure. Only at the call site of the weaker() and stronger() functions it would then be collapsed into int. However, those function calls might change the original walkStrength, thereby producing a side effect for further calls. We can exclude this effect by collapsing to Number right away using the '+' operator. Finally, we need to make the initialization of the Categorizer benchmark non-Strict. The loop that writes into an array of type unknown until the return statement while calling a function on every iteration is obviously affected by side effects. However, the meat of the benchmark is actually not the initialization. So that should be fine. Pick-to: 6.10 6.8 Fixes: QTBUG-141420 Change-Id: Iad47eddcf0afaa4e502f1d151cf383a6fd23f5ba Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Fix configure warningsUlf Hermann2025-10-291-1/+1
| | | | | | | | | | | | * Make nonstandard RESOURCE_PREFIXes explicit * Add TEST_PLUGIN to MockExtensionPlugin * Remove lint target from intentionally hidden module Also remove some useless VERSION statements and an ineffective QTP0001. Change-Id: Iadbacce55810bdbb2cbc6a1c7175303b96e06120 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Benchmark filters and sorters in QML SFPMSanthosh Kumar2025-07-215-0/+351
| | | | | Change-Id: Ia3f3105e58f1fda07b986e5de2f0d2f9b3cce988 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Tests: include QTest, not QtTestGiuseppe D'Angelo2025-04-153-3/+3
| | | | | | | | | | | | | Never use module-wide inclusions. They blow up build times. For QtTest this is usually just a typo (QTest was meant instead). Add missing includes as needed. In the diffs I've spotted other huge inclusions (QtQuick, QtQml), but those need more attention. Task-number: QTQAINFRA-7110 Pick-to: 6.9 6.8 Change-Id: I74bf3fe212f50a7a3a6af2b1c80bbcaabc2516d7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* tst_librarymetrics_performance: include what you use (QElapsedTimer)Giuseppe D'Angelo2025-03-281-0/+1
| | | | | | Pick-to: 6.9 6.8 6.5 Change-Id: I9a78932fe57029d53224ed190931c5db20f247fc Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* tst_qmllint_benchmark: also time "real" projectsSami Shalayel2025-03-192-5/+119
| | | | | | | | | | | | | | | | | | | | | Add an option to benchmark files from "real" QDS projects. The QDS projects do not exist in the qtdeclarative repository, so the paths to the demo repos should be set via environment variable. Also, the QDS specific QML Modules only exist in the QDS installation path, so add an environment variable for this too. Finally, some extra paths are needed for the examples to run, so add a third environment variable to enable the heuristics that adds probable import paths needed by the examples. Add a check to make sure the import paths were passed correctly: there should not be any 'Failed to import' messages, otherwise we end up benchmarking the wrong thing. Add a script that prints the environment for the benchmarks, so that you can copy paste the output into Qt Creator's run environment widget. Task-number: QTBUG-133349 Change-Id: I974fbeb5d87ff36bd5eea0b5c83d7fae73d00ec3 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* QQmlJSLinterCodeGen: disable compiler checks when category is disabledSami Shalayel2025-02-181-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't run the compiler checks (QQmlJSStorageGeneralizer, QQmlJSStorageInitializer, QQmlJSShadowCheck) when the qmlCompiler category is disabled. They take quite some time and their result is ignored anyway if the qmlCompiler category is disabled. This allows to make the propertyStressTestInts benchmark faster, while the performance of the others stay the same. Times in milliseconds on my laptop, on a release build, before and after this patch: function,file,runtime_before -> runtime_after noPlugins,propertyStressTestInts.ui.qml,489 -> 323 noPlugins,propertyStressTestItems.ui.qml,612 -> 331 noPlugins,longQmlFile.ui.qml,175 -> 171 noPlugins,deeplyNested.ui.qml,197 -> 192 allPlugins,propertyStressTestInts.ui.qml, 493 -> 328 allPlugins,propertyStressTestItems.ui.qml, 630 -> 378 allPlugins,longQmlFile.ui.qml,192 -> 190 allPlugins,deeplyNested.ui.qml,215 -> 209 onlyQdsLintPlugin,propertyStressTestInts.ui.qml,535 -> 325 onlyQdsLintPlugin,propertyStressTestItems.ui.qml, 625 -> 336 onlyQdsLintPlugin,longQmlFile.ui.qml, 200 -> 180 onlyQdsLintPlugin,deeplyNested.ui.qml, 219 -> 206 Add another benchmark where compiler warnings are enabled in case we want to optimize the compiler's runtime in the future. Task-number: QTBUG-133349 Change-Id: Ia286d06c610b5134659f9c67ea18de3ca63955e9 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* qmllint: add benchmarkSami Shalayel2025-02-187-0/+7625
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a benchmark to see how fast/slow QQmlJSLinter::lintFile() is. The benchmark are done on four QML files, one that is deeply nested, one which is large, and two that stresstest the propertypasses. The files are called .ui.qml to also trigger the qdslintplugin, and are linted with no plugins, all plugins and only the qdslintplugin. Times in milliseconds on my laptop, on a release build, mean over three executions: function,file,runtime_mean noPlugins,propertyStressTestInts.ui.qml,535 noPlugins,propertyStressTestItems.ui.qml,710.6666666666666 noPlugins,longQmlFile.ui.qml,196.33333333333334 noPlugins,deeplyNested.ui.qml,204.33333333333334 allPlugins,propertyStressTestInts.ui.qml,557.3333333333334 allPlugins,propertyStressTestItems.ui.qml,730.3333333333334 allPlugins,longQmlFile.ui.qml,217.66666666666666 allPlugins,deeplyNested.ui.qml,220.33333333333334 onlyQdsLintPlugin,propertyStressTestInts.ui.qml,536.6666666666666 onlyQdsLintPlugin,propertyStressTestItems.ui.qml,710 onlyQdsLintPlugin,longQmlFile.ui.qml,199 onlyQdsLintPlugin,deeplyNested.ui.qml,213.33333333333334 Task-number: QTBUG-133349 Change-Id: I7ec1f43694947e4878d1d2fa9df0416ed26fdc42 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qmldom: add Minimal DomCreationOption for QDSSami Shalayel2025-01-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DOM construction time is quite slow for the QDS use case, so add a new minimal DomCreationOptions that ignores comments (as QDS has no need for comments) because comments seem to take some time to construct. Add the Minimal DomCreationOptions to the Benchmark to show that it is faster then using the Default DomCreationOptions. Measured on my machine, using a release build: File | Default (ms) | Minimal (ms) | Speedup tiger.qml | 83 | 38 | 2.18 deeplyNested.qml | 438 | 12 | 36.5 The 36.5 speedup does look weird at first, but a quick look in the profiler shows that we spend 95% of the benchmark time for deeplyNested.qml with Default DomCreationOptions in * Path::component() and * DomItem::field() while trying to iterate on the Qml Document to find the comments. So its not a bug, its just the linear complexity of Path::component() and DomItem::field() that proves to be inadequate in our case: * Path::component(i) returns the i.th path component, and needs to iterate through all components to find it * DomItem::field(f) returns the value of the field f, and uses iterateDirectSubpaths() which is linear in the number of total fields, and it seems the laziness there might not be working as expected. Pick-to: 6.8 6.9 Task-number: QTBUG-92889 Change-Id: I51168b68e930ed14d1751cf0f6028b1b2879b774 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* tst_qmldomconstruction: adapt the benchmark to lazinessSami Shalayel2025-01-161-0/+3
| | | | | | | | | | Make the benchmark populate the loaded QML file for it to give comparable results (not all DomCreationOptions create lazy QMl files). Pick-to: 6.8 6.9 Task-number: QTBUG-92889 Change-Id: I37b6692499e8337ecab496ac7d2a9888d70df57c Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* qmldom: simplify DomCreationOptionSami Shalayel2025-01-151-17/+10
| | | | | | | | | | | | Not all combinations are actually supported, so replace DomCreationOptions with DomCreationOption. We only need 2 options: a Default one for qmlformat and an extended one with semantic analysis, script elements and recovery elements. Task-number: QTBUG-92889 Change-Id: I7a2d52df1dd7b4186eab73d3bd11c9818c25f543 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
* Fix test compilation issues with QtLite configurationJari Helaakoski2024-04-301-0/+4
| | | | | | | | | Now developer build tests compile, but some are not working. Functional fix will come later via separate tasks. Task-number: QTBUG-122999 Change-Id: I0a0dfcf7affb73f928b8be62b3576a6a51658488 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* dom: use only one DomCreationOptions per DomEnvironmentSami Shalayel2024-03-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, a DomEnvironment could load QML files with different DomCreationOptions. This makes things more complicated when loading dependencies, for example the implicit directory import might load a qmldir file that imports another module that contains a certain QML file, and then one has to remember which file triggered all of this dependency loading and what DomCreationOptions it had. In addition, there is currently no use case for something that complicated. Instead of that, move the DomCreationOptions to the DomEnvironment itself. When a DomEnvironment is used to load a file and its dependencies, it will use the DomCreationOptions set on this DomEnvironment. This ensures that all dependencies are loaded with the correct DomCreationOptions, and avoids weird bugs in qmlls features due to wrong DomCreationOptions used for dependencies. Remove the DomCreationOptions from the FileToLoad struct, adapt the DomEnvironment constructor and static factory method to expect a DomCreationOptions parameter, and change all DomUniverse::load() methods to have an extra DomCreationOptions parameter. This commit will break the formatting tests so QSKIP them, at least until the lazy-loading is done. The reason for the breakage is that the Dom eagerly loads all QML files from imports, and that takes too much time or crashes because it loads them now with the correct DomCreationOptions instead of DomCreationOption::None. For example, the formatting tests will implicitly load nestedFunctions.qml via the implicit directory import with the DomCreationOption::WithScriptExpressions and that will crash because of the nested functions, see also QTBUG-122707. Therefore QSKIP the formatting tests. Also adapt the timeout for a test that imports QtQuick.Controls.Basic, as the Dom also eagerly loads all the QML files from an imported module, which takes much more time with the DomCreationOption::WithScriptExpressions. Task-number: QTBUG-122645 Change-Id: Icb7eb6d17df15fc6ea133e014c00153df5cd1492 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Correct license for test filesLucie Gérard2024-02-27205-205/+205
| | | | | | | | | | | | | | According to QUIP-18 [1], all test files 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: I26d72e8de04d4c7c57b3b7838af5d033265de5ba Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Kai Köhne <kai.koehne@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* DOM refactoring. Remove LoadOptionsDmitrii Akshintsev2024-01-301-6/+4
| | | | | | | | | Only defaultLoad is being used, hence it doesn't make sense to have them at all at the current stage Task-number: QTBUG-119550 Change-Id: I761e7c55d6aaafa29d234ace4b4b65bcc46a9855 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QtQml: Add a benchmark that runs the DeltaBlue constraint solverUlf Hermann2024-01-3015-0/+1776
| | | | | Change-Id: I4d9456dc910ade06febddb29d06e922c564bf015 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* DOM refactoring. Move loadPendingDependencies to DomEnvironmentDmitrii Akshintsev2024-01-181-2/+1
| | | | | | | | | | | | | | | | | | | One of the goals of this refactoring is to move DomTop specific functionality from DomItem API to the corresponding DomEnvironment and DomUniverse. This commit moves loading of the dependencies (which are added to the pending load queue implicitly as part of the callbacks of the loadFile when DomEnv is created without the flag "NoDependencies") to the DomEnvironment interface Moreover, once work with dependencies is happening through the DomEnvironment explicitly, it allows us to get rid of "self" parameter. Task-number: QTBUG-119550 Change-Id: Ib3deb97eabe091ffded8c8c782ee08f8024468f2 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* DOM refactoring. Remove DomItem::loadItem. enable_shared_from_this for DomEnv*Dmitrii Akshintsev2024-01-181-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | As it was mentioned in the previous commits in the chain one of the goals of the refactoring is to introduce clearer separation of concerns. Only DomTop types are allowed to load files, hence it's arguable should be reflected in the interfaces explicitly. With the help of previous commits the relevant pieces of this function were moved to the corresponding DomEnvironment and DomUniverse types. This commit finally removes loadFile from the DomItem API. *It's also worth noting that in order to minimaze refactoring efforts and to keep the public API simple (not requiring DomItem &self argument on the top level), this commit also makes DomEnvironment a child of the std::enable_shared_from_this. This somewhat "breaks" the initial design approach inscribed in the DOM API allowing DomEnvironemt to get a shared_ptr to itself bypassing corresponding DomItem.ownerAs<> API. However, in the tradeoff of preserving consistency of the previous design and the explicitness of the interface, I would value the latter, hence I find this change acceptable. Change-Id: Ic2ce3fc80876be6bdbec93e4d273e4c6b7a2b218 Task-number: QTBUG-119550 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QmlDom: Add const-correctnessUlf Hermann2023-09-151-1/+1
| | | | | | | | | | We almost never want non-const DomItems anywhere. There is exactly one exception: From a MutableDomItem we need to poke into the internals of the respective DomItem and const_cast them. However, MutableDomItem is to be handled with care anyway. Change-Id: I826f0669c049462beec9ad71dccb39c5191a1d3f Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Move dom construction time test into BenchmarksSemih Yavuz2023-06-265-0/+6752
| | | | | | | | It takes considerable time to finish as auto test, slowing down the development speed. It should live in benchmarks. Change-Id: I4cb6f7712774a6d36e000dec713db67019d84f6e Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Retire the qt_parse_all_argumentsAmir Masoud Abdol2023-01-2011-11/+11
| | | | | | Task-number: QTBUG-99238 Change-Id: Ia11c9cbd7c06347319ab3674ec0cd8da0214747e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* tst_qqmlchangeset: fix target name typo and de-duplicate testsMitch Curtis2022-11-011-2/+2
| | | | | | | | | There was a typo in the auto test's target name, but fixing it also requires renaming the benchmark which has the same name. Pick-to: 6.2 6.4 Change-Id: I8e7b6de472ed84df0917584592f28d7015618331 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Port from container::count() and length() to size() - V5Marc Mutz2022-10-131-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 on() was replaced with a matcher that doesn't ignoreParens(). a.k.a qt-port-to-std-compatible-api V5 with config Scope: 'Container'. Change-Id: I58e1b41b91c34d2e860dbb5847b3752edbfc6fc9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Port from container::count() and length() to size()Marc Mutz2022-10-071-4/+4
| | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8: auto QtContainerClass = anyOf( expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o), 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', with the extended set of container classes recognized. Change-Id: Idb1f75dfe2323bd1d9e8b4d58d54f1b4b80c7ed7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-09-0720-20/+20
| | | | | | | Task-number: QTBUG-105718 Change-Id: Id89ed14990804a5024183e75382cc539d4293da1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Tests: do not use QT_DISABLE_DEPRECATED_BEFOREIvan Solovev2022-08-263-5/+0
| | | | | | | | | | For several reasons: * It was renamed to QT_DISABLE_DEPRECATED_UP_TO * Its value will be propagated from the general Qt build Task-number: QTBUG-104858 Change-Id: I90c92dc05b884f6408467c573181c00f8e00e6b3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Don't use PUBLIC_LIBRARIES for tests and test helpersAlexandru Croitor2022-07-2818-18/+18
| | | | | Change-Id: I1cd769f85d5f82c43639d6787d98e536619249e6 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Add license headers to cmake filesLucie Gérard2022-07-0820-0/+60
| | | | | | | | | | | | 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: I72c89a98c42bbc9234d8495e9e503bec81d11037 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-11189-5169/+378
| | | | | | | | | | | | 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. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I63563bbeb6f60f89d2c99660400dca7fab78a294 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Replace uses of deprecated _qs with _s/QStringLiteralSona Kurazyan2022-04-291-1/+3
| | | | | | Task-number: QTBUG-101408 Change-Id: Ic925751b73f52d8fa5add5cacc52d6dd6ea2dc27 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Fix warnings in tests after QQmlListReference changeVolker Hilsheimer2022-03-211-1/+1
| | | | | | | | The engine parameter is no longer used. Pick-to: 6.3 Change-Id: Ifc630eb4803a015d41df50210bd86947f6a5a472 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Add a benchmark of Date.getTimeZoneOffset()Edward Welbourne2021-11-231-0/+16
| | | | | | | | | Test at many moments from spring 1967 (before the epoch) to summer 2046 (after 32-bit time_t's sign-wrap). Change-Id: I3932cc1553a868b8815fda9a8dfc7644e4485704 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Clean up tst_javascriptEdward Welbourne2021-11-231-40/+15
| | | | | | | | | | | | | | | | Inline the trivial constructor. Get rid of the pointless destructor. Use QDirIterator instead of QDir, to save collecting a bunch of strings, only to iterate them, when we could simply iterate them. Use QDirIterator::filePath() instead of adding fragments ourselves. Use u"*.qml"_qs instead of constructing QString from ASCII. Use QString::chopped(4) rather than left(size() - 4). Use QScopedPointer to ensure tidy-up of allocated object. Don't use 0 as a null pointer value. Waste less vertical space. Change-Id: I44f62f4e41f63de860f47114b2f47dddbf9746bc Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Replace 0 pointer constants with nullptrAllan Sandfeld Jensen2021-10-186-12/+12
| | | | | | | Replaced in most common patterns. Change-Id: Idcaff1f2e915f29922702d3600a2e5f1e2418a7a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix compiler warnings in test codeCraig Scott2021-07-071-1/+1
| | | | | | Change-Id: I201dcc375a5601c5655567b4c3dce3361c852b79 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* CMake: Remove unneeded *.pro and .prev_CMakeLists.txt filesCraig Scott2021-05-192-51/+0
| | | | | | | | | | The .pro files corresponding to the .prev_CMakeLists.txt files have already been removed. Change-Id: I254eafe4c7de1a516e33bd9cb3d9879e73fa83b4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add additional binding benchmarksMaximilian Goldstein2021-02-248-0/+1360
| | | | | Change-Id: I82b2a099553e28ac004f0425d1544fbcb10c28c6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Import property benchmarks from private repoMaximilian Goldstein2021-02-048-0/+361
| | | | | Change-Id: If45bf9bfcfee127263a2c0e49cfa55e12f9a6d0f Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Remove the qmake project filesFabian Kosmale2021-01-1519-199/+0
| | | | | | | | | Remove all qmake project files, except for examples which are used to test that qmake continues to work. Change-Id: Ic4abb72dc2dcd75df7a797c56056b6b3c5fe62ac Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CMake: Regenerate projects to use new qt_internal_ APIAlexandru Croitor2020-10-0619-20/+20
| | | | | | | | Modify special case locations to use the new API as well. Task-number: QTBUG-86815 Change-Id: I3b964e3baf0cc7040830156dac30358ea1152801 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Remove deprecated QQmlListProperty constructorFabian Kosmale2020-08-313-3/+3
| | | | | | | | | | [ChangeLog][QML][QQmlListProperty] Removed deprecated QQmlListProperty constructor taking a reference. Use the overload taking a pointer instead. Change-Id: I8942026d1bb1c88065659d96d648a4b256d7d427 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Add ; to Q_UNUSED and UNUSED_PARAMLars Schmertmann2020-06-261-5/+5
| | | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: Iead53d18fd790fb2d870d80ef2db79666f0d2392 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Port the remaining tests from QRegExp to QRegularExpressionLars Knoll2020-04-033-7/+9
| | | | | Change-Id: If258701759c5da206948407feccd94e323af6b36 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Fix painting benchmark dependency on OpenGLWidgetsAlexandru Croitor2020-03-164-3/+9
| | | | | | Change-Id: Ic7ed89c51e9a3cabda60ec99702b3aacd2cf5e97 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix duplicate target name for qquickwindow benchmarkAlexandru Croitor2020-03-162-1/+29
| | | | | | Change-Id: I517d52e1ac35ae5d27d3e9ed676ebebdfe980db5 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Regenerate and adapt to merge from devwip/cmakeAlexandru Croitor2020-03-121-0/+1
| | | | | | Change-Id: If8daa6152a563d4309d7342414780ef75b9f5589 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
* Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2020-03-122-2/+2
|\ | | | | | | | | | | | | | | Conflicts: dependencies.yaml src/qml/qml/qqmlengine.cpp Change-Id: I6a73fd1064286f4a2232de85c2ce7f80452d4641
| * painting benchmark: adapt to openglwidgets splitFabian Kosmale2020-03-091-1/+1
| | | | | | | | | | Change-Id: I603635dfaaa455a5a66d7a791a36008f9fb9b770 Reviewed-by: Johan Helsing <johanhelsing@gmail.com>
| * Use QTypeRevision for all versions and revisionsUlf Hermann2020-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In many places we carry major and minor versions or revisions that are loosely coupled to minor versions. As the Qt minor version resets now, we need to handle these things more systematically. In particular, we need to add a "major" part to revisions. QTypeRevision can express the current major/minor pairs more efficiently and can also be used to add a major version to revisions. This change does not change the semantics, yet, but only replaces the types. Change-Id: Ie58ba8114d7e4c6427f0f28716deee71995c0d24 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>