aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Fix build with Qt 6.2Ivan Komissarov2021-10-262-3/+3
| | | | | Change-Id: Id0758d78f0ef251aeca0447ccc612d294c450a5e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch '1.21' into masterIvan Komissarov2021-10-2618-28/+306
|\ | | | | | | Change-Id: I3417bbe182c23f8e6a9704b008eb8a5618e4d175
| * Split libDirs and extraPaths variablesIvan Komissarov2021-10-261-1/+1
| | | | | | | | | | | | | | | | | | pkg-config has 2 different variables - PKG_CONFIG_LIBDIR overrides the default search paths and PKG_CONFIG_PATH prepends paths to the default paths or paths set via PKG_CONFIG_LIBDIR. Change-Id: I8f67b7bbae9325b17abb20ec5eb8d037626c8089 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * capnproto: add test with the new providerIvan Komissarov2021-10-252-0/+18
| | | | | | | | | | Change-Id: I4b91047bd688419ca9626d58a304bbeabf9943e7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * pkgconfig: Implement early dependency mergingIvan Komissarov2021-10-255-16/+95
| | | | | | | | | | | | | | | | | | | | | | | | Due to performance reasons, we have to do the dependency resolution on the qbspkg-config side, like original pkg-config does. Otherwise, it is not possible to use GRPC module as it depends on a bunch of ABSEIL libraries which has a lot of cross-dependencies and QBS cannot handle them (resolving takes > 10 minutes for a simple dependency on GRPC). Change-Id: Ice25f6cea09fe731a511d91891936ba746e5b697 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Android: Add android image for Qt 6.2Raphael Cotty2021-10-252-12/+48
| | | | | | | | | | Change-Id: Ib48209643b755954f0f38c3f1bcfb487e23cf292 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * pkgconfig: Merge packages and broken packagesIvan Komissarov2021-10-191-1/+3
| | | | | | | | | | | | | | | | | | | | This is required for the ongoing patch that merges the dependencies on the pkgconfig level - a valid package may change it's type to broken if it has unsatisfied dependencies. Change-Id: I21e6a214d8524fb95e6b837604ae6b7f32360d4f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * pkgconfig: fix baseName detectionIvan Komissarov2021-10-143-0/+33
| | | | | | | | | | Change-Id: I83691e0e35cf4bbf9955eb0bad58b5a15bf1779a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Implement eager pkg-config providerIvan Komissarov2021-10-148-0/+110
| | | | | | | | | | | | | | | | | | | | This implements provider that generates modules based on all .pc files present in system. This allows to get rid of the multi-shot providers such as fallback provider. Fixes: QBS-1614 Change-Id: Icf87ac609bc34bd26e8ed94ae547a7e649835a3a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use unique_ptr for managing ScriptEnginesIvan Komissarov2021-10-232-5/+5
|/ | | | | Change-Id: I89f510619196cc01a9e3b0c2273888b12b188928 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix setting stringlist properties in module providersIvan Komissarov2021-10-065-11/+18
| | | | | | | ...when using foo,bar,baz syntax Change-Id: I013a55f02c5d6d4bbbccf809b9524bed3c486df4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Do not use Application item in Language testsIvan Komissarov2021-10-0610-24/+34
| | | | | | | | | This item has grown over time and now pulls bundle module and xcode module on macOS which is not desired as it make harder to read verbose logs when debugging tests. Change-Id: I7fa4dfaec477b5c6d8d8ec602d10db866c353441 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Drop JDK version 1.6 from testingIvan Komissarov2021-10-041-1/+1
| | | | | Change-Id: Ifa1408183c87a6c4f20a8d1e0f3fee448e91f949 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add android testing with different ndk versionsRaphael Cotty2021-09-301-1/+1
| | | | | | | | | | | | | New docker images are added to test different android ndks. Those images don't have Qt so only a subset of the tests are run. So far I added 3 images: r23 (LTS), r21e (LTS) and r19c (minimum one). The other android images also have a new ANDROID_NDK_VERSION argument set to the r23. Change-Id: Iaa7c80b9cac1c7888b3297fac13333d22a9ad0bc Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Don't use global includes in dbus testsIvan Komissarov2021-09-273-12/+5
| | | | | | | | Otherwise, we pull in dependency on the GL.h header which is not needed otherwise. Change-Id: I7cca190ca3883f9203403c8cff21f6a0d274171c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Long live qbs-pkgconfig!Ivan Komissarov2021-09-2325-1/+519
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patchset introduce a static library for parsing .pc files. Code is based on the original pkg-config source code https:// gitlab.freedesktop.org/pkg-config/pkg-config and is written in pure C++ (except for the places where we need access to filesystem as std::filesystem is not available for all platforms - in that case, Qt classes are used) Parsing .pc files manually allows to have more control over dependencies between modules, e.g. to generate a standalone module per one .pc file and merge properties using Qbs itself, not via pkg-config. Library is almost feature-complete and all tests copied from pkg-config pass. Some functionality is omitted (e.g. prefix variables (what is this?) or validating dependencies since Qbs does this as well) Bechmark shows that parsing ~100 files takes about 10-15ms. Running pkg-config on the same set of files takes ~4 seconds: RESULT : TestPkgConfig::benchSystem(): 14 msecs per iteration (total: 57, iterations: 4) Fixes: QBS-1615 Change-Id: I5bfdfa588aa04d9d69fd738dd2beea14174c0242 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch '1.20' into masterIvan Komissarov2021-09-211-1/+2
|\ | | | | | | Change-Id: Iac2a17ef4bacf25becc7f2082a8a73a21b2f4d76
| * freebsd: fix TestBlackbox::removeDuplicateLibrariesIvan Komissarov2021-09-211-1/+2
| | | | | | | | | | | | | | | | FreeBSD uses the LLVM linker these days, so we need to check that similar as we do on macOS Change-Id: I28b8aa0743173b20caa8932f942b59dd369d686a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Implement qbsModuleProviders propertyIvan Komissarov2021-09-2015-0/+272
| | | | | | | | | | | | | | | | | | | | It is now possible to specify which providers should be run by providing the list of provider names. The desired providers can be selected on the Project and Product levels. Task-number: QBS-1604 Change-Id: Ib0782df00e3086104345f4b740fc1696d715344c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | cpp module: Add support for C++23Christian Kandeler2021-08-232-2/+2
| | | | | | | | | | Change-Id: Iccc5c9a10d1934e2170f75d194ed103b45bfac53 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Merge 1.20 into masterChristian Kandeler2021-08-2047-79/+13
|\| | | | | | | Change-Id: Id78213238c8692d7aaa1a73378704fa9ef4238a9
| * Remove `import qbs` from all project filesDenis Shienkov2021-08-0447-79/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ... because we don't need in this inclusion at all. But for some cases it is impossible to remove that inclusions (and even to move on next lines) because then the some tests are failed by unknown reason. For those tests were added the following comments on the inclusion lines: `// FIXME: Don't remove this import because then the test fails!` Change-Id: I9153fd0e38b94af08168e499ee46a23889ee4d73 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Get rid of Set::to/from methodsIvan Komissarov2021-08-161-6/+5
|/ | | | | | | | | ... and replace them with the new template rangeTo method Also, add efficient Set(Iter, Iter) ctor. Change-Id: I5a2345ca84373692e3ba815e5a8f38cb4cfc4308 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Always build with project file updates supportIvan Komissarov2021-07-274-8/+1
| | | | | | | | Since QtGui dependency was removed, there is no reason not to Change-Id: Ib8975451f3c36a77e22a077bba18b5659f414767 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Merge branch '1.19' into 1.20Ivan Komissarov2021-07-273-1/+7
|\ | | | | | | Change-Id: I2c7c200d4b0057bf7115306d000c13e60d2e8bd2
| * codesign: Add new codesign.timestampAlgorithm propertyDenis Shienkov2021-06-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | We need this property on Windows when we use the codesign.signingTimestamp property. This property should be set with the "sha256" value in case when the app is to be distributed over the App Store; otherwise the the codesign.signingTimestamp property is quite useless. Fixes: QBS-1651 Change-Id: Iacc5f80b8acf81ea1a34f55416e6966c41b0e727 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * codesign: Fix checking if product is a frameworkIvan Komissarov2021-06-142-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | It is not correct to check for the frameworkVersion to determine if product is a Framework - e.g. Xcode always sets this variable. Instead, product.type or product.bundle.packageType should be checked instead. This fixes the problem when codesign incorrectly determines bundle as a framework if product.version is set. Fixes: QBS-1649 Change-Id: I067e852df82a43897000d45e27908dd5e22eac70 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix some gcc warningsChristian Kandeler2021-07-261-2/+2
| | | | | | | | | | | | | | ... about hidden copies. Change-Id: I8f3a18bb308bd6e5a93575c92e487e45d7a8666b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Switch qbs-benchmarker to QbsIvan Komissarov2021-07-032-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | This allows to better utilize processor cores when building qbs as well as use ccache when set via profile: profiles.gcc.cpp.compilerWrapper: "/usr/bin/ccache" profiles.gcc.cpp.toolchainInstallPath: "/usr/bin" profiles.gcc.qbs.toolchain: "gcc" Change-Id: I4ba622777f1dd5d7c650a3d7399534043094c0b9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add unittests for the new hashing functionsIvan Komissarov2021-06-282-0/+47
| | | | | | | | | | Change-Id: I80336e4329fe0daed82e48421016c2a59d92fd02 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Long live COSMIC toolchain for COLDFIRE architectureDenis Shienkov2021-05-312-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Cosmic Software compiler for the bare metal platforms: * https://www.cosmicsoftware.com/download.php Note that this compiler only works on Windows host platforms. Also the COSMIC toolchain has been added to the Github CI. Fixes: QBS-1648 Change-Id: I39dfeef1c5696e69bed8969890cf4f8fdb3c2741 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Long live COSMIC toolchain for HCS12 architectureDenis Shienkov2021-05-302-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Cosmic Software compiler for the bare metal platforms: * https://www.cosmicsoftware.com/download.php Note that this compiler only works on Windows host platforms. Also the COSMIC toolchain has been added to the Github CI. Fixes: QBS-1640 Change-Id: I7ab0c8099437fce962632ff87177e37fd04f82d2 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Long live COSMIC toolchain for HCS08 architectureDenis Shienkov2021-05-292-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Cosmic Software compiler for the bare metal platforms: * https://www.cosmicsoftware.com/download.php Note that this compiler only works on Windows host platforms. Also the COSMIC toolchain has been added to the Github CI. Fixes: QBS-1641 Change-Id: I755fcd3b2a89d0d40fda8b7f9da3d72ee1918df5 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Long live COSMIC toolchain for STM8 architectureDenis Shienkov2021-05-282-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Cosmic Software compiler for the bare metal platforms: * https://www.cosmicsoftware.com/download.php Note that this compiler only works on Windows host platforms. Also the COSMIC toolchain has been added to the Github CI. Fixes: QBS-1639 Change-Id: Iffba0bc550c5d168fb453c7a325b2c9be06d4195 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Long live COSMIC toolchain for STM32 ARM architectureDenis Shienkov2021-05-286-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Cosmic Software compiler for the bare metal platforms: * https://www.cosmicsoftware.com/download.php Note that this compiler only works on Windows host platforms. Right now this patch implements support for ARM architecture for STM32 microcontrollers. But in the future it is simple to extend it and for other architectures (e.g. for STM8, HC08 and so on). Also the COSMIC toolchain has been added to the Github CI. Change-Id: Iabdfd61cc427155117730db46e067004ceb07102 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Android: Add option to use dex compiler d8 instead of dxRaphael Cotty2021-05-262-40/+69
| | | | | | | | | | | | | | | | d8 dex compiler was introduced in Build Tools 28.0.2 to replace dx. It is the default compiler used by gradle since version 4.4 Change-Id: I603c61f6f1a151f3c5be78385bf9648929e7d81b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Use separate functions for repetitive actionsDenis Shienkov2021-05-251-2/+2
| | | | | | | | | | | | | | | | | | It makes sense to minimize the copy-paste errors by moving the repetitive code into the separate functions to the cpp.js file. This will simplify the code and improve the maintenance. Change-Id: Id5a2914ff28619553b855cc6f09810ad370c408c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Android: Remove Ministro supportRaphael Cotty2021-05-241-53/+0
| | | | | | | | | | | | | | Latest Qt with Ministro is 5.7. So let's remove it form Qbs. Change-Id: Iee03c06c4c2e5c806dc99025a5bf2c200894ec60 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | cmake: Add Qt6 buildIvan Komissarov2021-05-182-2/+2
| | | | | | | | | | | | | | Also, switch Linux CMake job to build Qbs with Qt6 Change-Id: I188845a7cc086a8c87dbb7445ea95f99b26d94ef Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | cmake: Add bundled QtScript buildIvan Komissarov2021-05-182-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Also, make QtScript dependency optional like we do in the Qbs build. Tested on macOS, Linux and Windows. CMake 3.15 is now required for the CMP0092 policy which removes default warning flags from CMAKE_CXX_FLAGS. Change-Id: I199fb802d5ad72d1ac8d5a89c05372c43581c95d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Avoid code duplication in TestBlackboxBase::runQbsIvan Komissarov2021-05-171-7/+6
| | | | | | | | | | | | | | | | Now we write log in both success and error cases, the only difference is that we reset exitCode to -1 in error case. Change-Id: I2ffe9b14c0ba1ad11acd9f81f35a0594dda26c12 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Print stderr and stdout in case of errorIvan Komissarov2021-05-171-0/+3
| | | | | | | | | | Change-Id: I72a1db91f4cce46e57af0b69d73ab0edff0fec28 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Replace "product" variable by "exportingProduct" in Export itemsRaphael Cotty2021-05-075-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | "product" variable in an Export item will point to the "importingProduct" in 1.21. This patch prepares the change by replacing "product" by "importingProduct" when necessary. Task-number: QBS-1576 Change-Id: I215d46484754e76771039a750dc4beb33d8a0c9c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge branch '1.19' into masterIvan Komissarov2021-05-055-3/+14
|\| | | | | | | Change-Id: Id2691bd6a49ca6c2886cf5f460351e3d1daad9e6
| * Fix reading Xcode 12.5 specsv1.19.0Ivan Komissarov2021-05-033-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Xcode 12.5, common specs for darwin platforms were moved to "Darwin Package/Product Types.xcspec" in the different folder. However, the old configs are still present, so we need to merge info from both variants. Also, allow to use undefined variables in .xcspec files - since 12.5, this is a valid use-case. Also, implement the "default=" variable formatter used as a fallback when variable is not set. Fixes: QBS-1644 Change-Id: I9a55c5d511cbb01f30219478ee9f3b85763a08d5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * codesign: skip test for mingw toolchainIvan Komissarov2021-04-272-3/+7
| | | | | | | | | | | | | | | | Also, skipt the test for MSVC when certificate was not found. Change-Id: I27103f9cab4793947eb3f5b1afd0bac557fe68ac Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Move Windows only tests into TestBlackboxWindowsIvan Komissarov2021-05-0319-133/+137
| | | | | | | | | | Change-Id: I9a4877db93249a67879f1b68182b19251cdc02a9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge branch '1.19' into masterIvan Komissarov2021-04-2419-85/+400
|\| | | | | | | Change-Id: Ic6087168a1d93c2a2b46de825f5c3b9655634e8e
| * codesign: Long live `signtool` signing on WindowsDenis Shienkov2021-04-238-1/+313
| | | | | | | | | | | | Change-Id: I320cd1a1f3d8a1eed11d1c70007214f19a109b6e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Use binary search in Set::find()Ivan Komissarov2021-04-212-0/+25
| | | | | | | | | | Change-Id: I5ed154633233dfeedf6b69b52fc5339fef3a956a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>