summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* 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>
| * baremetal: Fix generation of compiler listing filesDenis Shienkov2021-04-121-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... with custom extension for SDCC compiler. The SDCC compiler always generates the listing files in the format of 'module.c.lst', and there is no way to disable a generation, or to specify a different name for the listing file. In addition, we cannot change or delete the generated listing file until the linking is complete (this is such a feature of the SDCC compiler). So, to turn off the listing file generation, or to specify a custom listing file extension, we need to do the following extra steps: 1. If the custom cpp.compilerListingSuffix property is set, then we need to make a copy of the generated listing file after the compilation completes. And then to delete the all listing files with the '*.lst' extension after the linking completes. 2. If the cpp.generateCompilerListingFiles property is disabled, then we need to remove the all generated listing files with the '*.lst' extension after the linking completes. Change-Id: Ia235f7e2ebf88695e4648fb894624c7420968079 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Fix generation compiler listing using ARMCC compilerDenis Shienkov2021-04-082-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ARMCC compiler has no options for specifying the name of the output listing file; it only has an options for specifying an output directory. In addition, the generated listing files are in truncated format, e.g. instead of the 'module.{c|cpp}.lst' file will be generated the 'module.lst' file. This behavior complicates the writing of unit tests, and also complicates the implementation if the user wants to change the cpp.compilerListingSuffix property. A workaround is to post-process the compiler listing files after they are generated. In this case, we only need to rename the generated compiler listing file to the desired one. Change-Id: I89c81896711b90b146a94c35d2ec75e296824752 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Improve 'compiler-listing' testDenis Shienkov2021-04-077-38/+26
| | | | | | | | | | | | | | | | | | | | | | We do not need multiple test data instances (*.qbs) for each property, because we can pass the required properties from the C++ code directly. Also now we can know about the compiler listing file suffix directly, through the cpp.compilerListingSuffix property. Change-Id: I644277458e3ae460cbfb6bba4a24583d9e6ba3e1 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Improve linkerMapFile() testDenis Shienkov2021-04-052-29/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now we can use the cpp.linkerMapSuffix property to find out the currently used linker map suffix. Also we can set a custom cpp.linkerMapSuffix value to make sure that this applies to the module. In addition, the generation of a custom linker map file for SDCC toolchain has been fixed. Change-Id: I8798cd6bea0ab6b5ea9728400827b8c98b11ba7b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
| * baremetal: Pass externalStaticLibraries() test for KEIL C51/C251/C166Denis Shienkov2021-04-051-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Toolchains C51, C251, C166 do not support configuring library search paths to link. They support linking with libraries specified with full absolute paths to them. To work around this we supplement the absolute library paths using the cpp.libraryPaths property, if the library is specified without an absolute or relative path. Change-Id: Ic11fd8b87356b3a07ba5fd5c9763c8df39d0d4ac Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | qbs-config: Add convenience command for adding a profile in one goChristian Kandeler2021-04-092-0/+63
| | | | | | | | | | | | Task-number: QTCREATORBUG-25463 Change-Id: I2d18ea5f7d53efc0762d34cf4845b49533ca6fbf Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Android: Correct qt6 testRaphael Cotty2021-04-063-1/+68
|/ | | | | Change-Id: I1f05ae51f30f0158cb3dec6ce189d96f52987c7a Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Android: Code signing moduleRaphaël Cotty2021-04-012-14/+94
| | | | | | | | | | | | | | Android.sdk was already signing the apk package but it was using hardcoded debug key and could only be used to run the application locally. The signing part of the android apk/aab package generation is now in the new codesign module. By default the same debug key is used. But it is now also possible to configure a different key. Task-number: QBS-899 Change-Id: I49c54a4d55578c48363805e927392b3a468805f0 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Improve 'linker-map' testDenis Shienkov2021-04-015-26/+11
| | | | | | | | We don't need in multiple test data instances (*.qbs) for each property, because we can pass the required properties from the C++ code directly. Change-Id: I3bc05db5f6c0d2533f9799cbadb830c0c687e1e5 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* codesign: do not sign intermediate products when multiplexingIvan Komissarov2021-03-304-6/+29
| | | | | | | We should only sign the resulting binary during the lipo step. Change-Id: If4d508bcdf347bf2fc68d345ed8d5913a7457f8d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Run appleMultiConfig test with arm64 on newer XcodeIvan Komissarov2021-03-211-7/+14
| | | | | Change-Id: If8d579b612d8c44f697495d2ca985f7c34310682 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Fix building unit tests with bundled Qt.scriptIvan Komissarov2021-03-173-8/+3
| | | | | | | | | Some of those tests require Qt.script headers which are used in corelib's headers. Introduce a new QbsUnitTest item type that pulls in the dependency on Qt.script/scriptengine for those tests. Change-Id: I5b981b910191ba690eded14bdf64b540f334bd53 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Use TemporaryProfile in TestBlackbox::qtBug51237Ivan Komissarov2021-03-041-8/+6
| | | | | | | | Otherwise the profile is not removed from settings after the test is finished Change-Id: Ib82f35f7f468733ad4d2c28ce15da59af9024697 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Merge branch '1.18' into masterIvan Komissarov2021-03-021-1/+0
|\ | | | | | | Change-Id: Ia45a5502f2d3c30807b5cab14666070973654b3a
| * cmake build: Fix project files updates in Qbs binaryIvan Komissarov2021-03-021-1/+0
| | | | | | | | | | | | | | | | | | | | Session class is located in the binary itself, not in the corelib, so we need to pass this macro there as well. Do that by making this macro "public" as Qbs build does. Task-number: QTCREATORBUG-25232 Change-Id: I50b2f8a533db82cf28fd5d29c17fcfdc410c5ab2 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | baremetal: Pass tests for IAR 78K toolchainDenis Shienkov2021-02-281-1/+1
| | | | | | | | | | | | | | | | We need to pass the C and C ++ compiler flags because the new `compilerDefinesByLanguage ()` test uses the `cpp` files. Change-Id: Ic813e74da3bccbed60a55052d546c1de69a408d8 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Merge branch '1.18'Ivan Komissarov2021-02-1914-9/+156
|\ \ | |/ | | | | Change-Id: I4e437865514add88558f66420718bc02fb39e41d
| * Qt/Android: Extend rule cycle prevention hackChristian Kandeler2021-01-263-4/+71
| | | | | | | | | | | | | | | | | | | | | | After we did remove the hpp tag from the java-generated header, it was re-added by a file tagger in the cpp modules file, leading to an unexpected state on rebuilding. Fix this by replacing the tag, rather than removing it. Fixes: QBS-1628 Change-Id: I9d182cd30cf9a637733b84234e7a0b37f7583334 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Add qt4 docker image for basic testingRaphaël Cotty2020-12-1811-5/+85
| | | | | | | | | | Change-Id: Ied6d9eac49fcb20de72499ab7c39e83a90a98b75 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Implement codesign moduleJake Petroules2021-02-187-4/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves code signing functionality into a dedicated module, and also implements automatic provisioning for Apple platforms, which automatically selects appropriate signing identities and provisioning profiles based on the product being built. This also results in a significant performance improvement since all code signing setup information is retrieved in process instead of forking off the openssl and security command line tools. Task-number: QBS-899 Change-Id: I60d0aeaeb2d1004929505bcb1e0bc77512fe77bc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | qt6: fix -Wformat warningsIvan Komissarov2021-02-161-2/+2
| | | | | | | | | | Change-Id: Ia4107e6afdd94df06b4957317881768f4259c9d2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Test for array-like objects with instanceof ArrayRichard Weickelt2021-02-152-2/+2
| | | | | | | | | | | | | | | | | | | | Array.isArray() seemed to work for arrays created in scripts as well as for QStringList and QVariantList created in C++ when using QtScript. QJSEngine is more strict (see the comments in QTBUG-45018). One way to work around that problem is to use instanceof Array instead. Change-Id: I0f1c8757a5ab2f82e26eff19a8b5ecf667bb04b1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Do not rely on leaked context variablesRichard Weickelt2021-02-131-1/+1
| | | | | | | | | | | | | | | | | | The current QtScript implementation seems to leak variables of the prepare script context to invoked JS functions. This will become an error in the JS port. Change-Id: If4b43e6162b4c3ea1f1ec8f118474064dc9586c0 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>