aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* | Add missing import statementsRichard Weickelt2021-02-131-1/+1
| | | | | | | | | | | | | | | | | | The current QtScript implementation does not warn about missing import statements in some cases. Imported .js files should never inherit imports. This will become an error in the JS port. Change-Id: I880afabba64c0766063304c723242e242ac89b81 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Pass tests for RISC-V architecture for GCC toolchainDenis Shienkov2021-02-111-0/+5
| | | | | | | | | | Change-Id: If2d249031a5fc1f1fdcdb0414d9cf43607505bf4 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Add new 'compiler-defines-by-language' testDenis Shienkov2021-02-106-0/+82
| | | | | | | | | | | | | | | | | | This test is an adaptation of a similar existing test. A main difference it that this test intended only for a `bare-metal` toolchains where there may be no support for a C ++ compiler. Change-Id: I4ea023743a4940c96dd9abc96ffda8cd06385b0b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Add '-nostdlib' flag for MSP430 GCC toolchainDenis Shienkov2021-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | ... to pass the C++ tests. Because we don't use the linking with the standard libraries in a tests, otherwise linking will fails. Change-Id: Ibde09c384fb70626109b357144a7e27a1a6b6e5b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Pass tests for ColdFire architecture for IAR toolchainDenis Shienkov2021-02-053-0/+26
| | | | | | | | | | | | Change-Id: I7ff8886cb14dee195a6d5af9173ca853f8455bed Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Pass tests for RISC-V architecture for IAR toolchainDenis Shienkov2021-02-053-0/+17
| | | | | | | | | | Change-Id: I9a7a0239370ff3d309dc91868b2058cc6616149c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Derive test application and library from base productDenis Shienkov2021-02-053-228/+131
| | | | | | | | | | | | | | | | | | | | It makes sense to store platform-specific flags in one place, for example, in BareMetalProduct. And then to inherit the applications and the libraries from this common product. This solution minimizes the copy/paste errors and make a tests code easier to maintain. Change-Id: Iaf11be9d6f983e8ce542787d42e8b7ef050b1903 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Pass tests for M32C architecture for IAR toolchainDenis Shienkov2021-02-053-0/+21
| | | | | | | | | | Change-Id: I2112e6bdca36b07502b571841528bb2734f41da0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Pass tests for RX architecture for IAR toolchainDenis Shienkov2021-02-052-0/+7
| | | | | | | | | | Change-Id: Ibe06e30dd3ad88f11b0fab79bb718e7c9b9155b9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Pass tests for HCS12 architecture for IAR toolchainDenis Shienkov2021-02-052-0/+9
| | | | | | | | | | Change-Id: I94c678f2ef224abd6b751615f8d3e900deda5be8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Pass tests for HCS08 architecture for IAR toolchainDenis Shienkov2021-02-043-0/+17
| | | | | | | | | | Change-Id: I8a43dce0ef2731c4d181fe529f5bd4cf40ea12cf Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Pass tests for HCS08 architecture for SDCC toolchainDenis Shienkov2021-02-042-0/+8
| | | | | | | | | | Change-Id: I0fde96241231e3a4d46c2892daadf4036be173c4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Improve detection of IAR compiler includesDenis Shienkov2021-02-024-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The IAR compiler has an undocumented command line option `--IDE3`, which allows you to print a list of compiler include paths as: `$$TOOL_BEGIN $$VERSION "3" $$INC_BEGIN $$FILEPATH "<path\\to\\directory>" $$TOOL_END` Besides, the same approach is used in the IAR extension for the VSCode IDE. So we can use this approach to implement it the Qbs module as well. In addition, this commit contains an autotest to check the `cpp.compilerIncludePaths` property. Change-Id: I434dd630913e5afd6cba5b4e31e1021ee0c5fe31 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Merge branch '1.18'Ivan Komissarov2020-12-1839-1/+352
|\| | | | | | | Change-Id: I37c359289dcd957fbc964a35fab381a047f7d04a
| * Add TestBlackboxApple::appiconset testIvan Komissarov2020-12-1435-0/+341
| | | | | | | | | | | | | | | | | | This test verifies the possibility to use "*.appiconset" assets for application icons Task-number: QBS-1627 Change-Id: I2480dcb76d046d91333295926db40cdd6d4c32bd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Fix assetCatalog test for macOS 11.*Ivan Komissarov2020-12-141-1/+2
| | | | | | | | | | Change-Id: I94755e03572003275483a4bac95660a007dff0bc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Pass import paths as nanopb_opt to support `.options` filesKai Dohmen2020-12-033-0/+9
| | | | | | | | | | | | | | | | | | | | | | To make use of nanopb specific options defined in a separate `.options` file pass import paths to nanopb generator script. This is needed because protoc doesn’t currently pass include path into plugins. Therefore if your .proto is in a subdirectory, nanopb may have trouble finding the associated .options file. Change-Id: I28eb2e9c2f353df88aa1a1e772dfb57a36800434 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | xcode: brings back arm64 mac in aggregateDependencyLinking()Ivan Komissarov2020-12-071-1/+1
| | | | | | | | | | | | | | Xcode 12.2 supports building arm64 mac binaries (again) Change-Id: Iacdeda5d0b933781694cab0e38f720ee2ffe3461 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge branch '1.18' into masterRichard Weickelt2020-11-286-82/+208
|\| | | | | | | Change-Id: If77ea1a92f64a4b6910c4755aa03dd96ec5078fb
| * Disable moc for the aggregate product when multiplexingRaphaël Cotty2020-11-264-4/+31
| | | | | | | | | | | | | | | | | | | | | | Running moc in the aggregate can't happen anymore because it generates an error when accessing cpp.defines. Before 527d5a8ec54e44291d4968754bdf574ebe57822b cpp.defines was not accessed for hpp files. Anyway it doesn't make sense to call moc in the aggregate as the generated files won't be compiled. Change-Id: I25ada3c8c54b199efb0877b59025fff88dc84dd8 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * macOS: Fix getNativeSetting() test on Big SurIvan Komissarov2020-11-201-4/+8
| | | | | | | | | | Change-Id: I585fe2646339a7d7454570638bef2ad5e9ab502a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Android: Update for Qt 6Raphaël Cotty2020-11-171-74/+169
| | | | | | | | | | | | | | | | | | | | Manage the new directory layout of Qt6. Update generation of the input file for androiddeployqt. Fixes: QBS-1613 Fixes: QBS-1609 Change-Id: Ie633fad467f310bfc4cd42e9c32d9cfc2e734582 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | qt6: use lambdas to pass callables to QtConcurrent::runIvan Komissarov2020-11-042-12/+16
| | | | | | | | | | | | | | | | It is not possible to use "this" as the 1st argument for run() method since it should be QThreadPool now Change-Id: I69d4291b8a748ea62de7e3b486f8e3e046cd38b4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>