aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Initial CMake portIvan Komissarov2020-08-1710-0/+168
| | | | | | | | | | | | | | | | | | | This change allows to build Qbs using CMake build tool Tested platforms - Linux (gcc) - macOS (clang) - Windows (msvc2017) Missing features (compared to Qbs build) - Documentation build - Bundled QtScript support - Static build - .pc file for qbscore - qbs module for qbscore Change-Id: I09b5dadd6723d5a47e5ef2a9a38d3300488718f2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch 1.17 into masterRichard Weickelt2020-08-1428-22/+383
|\ | | | | | | Change-Id: Ibdf2afb9f05682e0624540af22330abc8580bafb
| * Tune search order of path probesIvan Komissarov2020-08-134-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Within the groups of user-provided and system-provided paths, environment variables need to take precedence over properties, because there is currently no other way to override the search paths of probes from the outside if the probe-using code did not explicitly bind them to Product/Module properties. We search directly user-provided paths before ones from system-provided environment variables to minimize the risk of surprises due to outside influence. [ChangeLog][Behavior Changes] The lookup order in PathProbe changed to [environmentPaths, searchPaths, platformEnvironmentPaths, platformSearchPaths] Change-Id: Ib0c3bc44e5a8efaaaa073f28f1f3a53feb0f78db Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Pass 'compiler-listing-files' test for KEIL ARM toolchainDenis Shienkov2020-08-133-3/+12
| | | | | | | | | | | | | | | | | | | | | | KEIL ARM compiler generates a listing files with 'short' names. For example, for the source 'main.c' file it will produce the listing 'main.lst' file, instead of the 'main.c.lst' file. Thus, we have to account for this behavior in our tests. Change-Id: I69ef693cbdd0aacf838eaf382e13e09d7fadbfb1 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'compiler-listing-files' test for SDCC toolchainDenis Shienkov2020-08-132-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | A problem was in that the SDCC compiler does not have an option to disable generation for listing files. Besides, it use listing files for a linking. So, we need to use a workaround to remove the generated listing files after linking in case if the cpp.generateCompilerListingFiles property is false. Change-Id: I5913e62d307d296bd8891654d20787cf3a54833c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Implement cpp.generateCompilerListingFiles for MSVC toolchainDenis Shienkov2020-08-123-1/+9
| | | | | | | | | | | | | | | | | | | | We need to use the /Fa compiler option as described here: * https://docs.microsoft.com/en-us/cpp/build/reference/fa-fa-listing-file?view=vs-2019 Change-Id: I81470bfbf84563a49bd5336e7204a07d5b2c910e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Fix linker MAP file generation for KEIL C51/C251/C166Denis Shienkov2020-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 1. We need to use the {NO}PRINT linker options: * https://www.keil.com/support/man/docs/bl51/bl51_noprint.htm 2. The KEIL C251 should generate the linker MAP file with the *.map extension. Change-Id: Ibc1f362c7010a1c2812c21382b617e246c81e100 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Add new 'generate-linker-map-file' testDenis Shienkov2020-08-076-3/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | This test checks the cpp.generateLinkerMapFile property, which enables or disables generation for the linker map file. Take into account, that currently not all toolchains completely supports or implements this feature, and this test skips such toolchains. Change-Id: I5ba90116ab0481bb65ff866cf02f8a1963cf00a9 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Add new 'generate-compiler-listing-files' testDenis Shienkov2020-08-078-39/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | This test checks the cpp.generateCompilerListingFiles property, which enables or disables generation for the compiler listing files. Take into account, that currently not all toolchains completely supports or implements this feature, and this test skips such toolchains. Change-Id: I533e6b2e5b4af5668cf24f851334b9530bc3a901 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Add XFAIL-ing autotest for newly discovered bugChristian Kandeler2020-08-054-0/+22
| | | | | | | | | | | | Task-number: QBS-1576 Change-Id: I333164e160655492c1378d96673fc8c8ab6f6330 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Add new 'defines' testDenis Shienkov2020-08-054-0/+25
| | | | | | | | | | | | | | This test checks the cpp.defines property. Change-Id: If5ba39ef48c91147b883b2fe0dcab894b54e3cdb Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Add new 'external-static-libraries' testDenis Shienkov2020-08-046-0/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This test checks the cpp.libraryPaths and the cpp.staticLibraries properties. This test excluded for the KEIL C51/C251/C166 toolchains, because this toolchains has not the options to specify the library search paths: * https://www.keil.com/support/docs/1298.htm Change-Id: I17b5dc64ae3baacb32621b359863ba42c908d416 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Introduce new 'none' choosing for qbs.targetPlatformDenis Shienkov2020-08-043-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This 'none' value should be used for a bare-metal toolchains in the qbs.targetPlatform and the qbs.targetOS properties. Now this value is set in the profiles during automatic detection of such toolchains as IAR, KEIL and SDCC. Take into account, that it is impossible to do the same and for the GCC toolchain, because there are not exists a proper way to know that a current GCC is for a 'bare-metal'. So, the users should change the qbs.targetPlatform manually. Change-Id: I178fd526bbb5ae44f18e35ff12970ed0718c476d Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Android: Do not append the version number to a library nameChristian Kandeler2020-08-041-0/+1
| | | | | | | | | | | | | | | | Only the ".so" suffix is supported on Android. Fixes: QBS-1578 Change-Id: Idebece5338a765e779ff987fd89af66977ecc0fe Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * ModuleLoader: Fix scope for RHS of module provider property bindingsChristian Kandeler2020-08-041-1/+1
| | | | | | | | | | | | | | | | The scope should be the product item itself. Fixes: QBS-1587 Change-Id: Iccdc89e3b57d6ee1f11205961cf6244ea560f425 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Do not rely on PathProbe returning relative pathsRichard Weickelt2020-08-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This testcase uses relative paths both as input properties to PathProbe and as expected results (rhs). The obtained output properties (lhs) are relative paths, too and as such, a simple string comparison is performed to verify the results. While this currently works, it is not correct to do so. PathProbe features input and output properties of pathList type and thus, when reading these properties, returned values should always be absolute file paths. It is a known problem that path properties in probes are not absolutified, which will be fixed when porting to QJSEngine. Thus, we need to absolutify the expected values when evaluating the results. In order to remain compatible with the current implementation, we need to do the absolutification on both sides. Change-Id: I13c7655f509179f3778c736e08fbd1bd264a63c4 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Do not modify probe properties in configure scriptsRichard Weickelt2020-08-131-2/+1
| | | | | | | | | | | | | | | | | | When porting to the QML engine, we can no longer do partial modifications to probe properties. We can only read them and make assignments. Change-Id: I107cdf2fcc2f6b2805b3821575c999e978df3cf5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* | Make TestBlackboxApple::aggregateDependencyLinking smarterIvan Komissarov2020-08-072-9/+57
| | | | | | | | | | | | | | | | Now it covers old macs, ios and new arm64 macs Task-number: QBS-1456 Change-Id: Icc7d7ca040266a85947c29f3b5d8f191c07cfffe Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge branch '1.17' into masterRichard Weickelt2020-08-0321-0/+295
|\| | | | | | | Change-Id: I20a6b02ee34719636f9996e02cff9e29cf160dd7
| * baremetal: Disable position-independent code generation in a testsDenis Shienkov2020-08-012-0/+2
| | | | | | | | | | | | | | ... because it is not supported on most bare-metal platforms. Change-Id: I40900f78255f0c6c2553d5b0f575de085b7a0b1f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Fix TestApi::disappearedWildcardFile()Christian Kandeler2020-07-291-0/+1
| | | | | | | | | | | | | | ... for file systems with low timestamp resolution. Change-Id: Ie94543c229d912e79442399dbf095d9b77b8e1d4 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for GCC RXDenis Shienkov2020-07-292-0/+10
| | | | | | | | | | Change-Id: Ib1d8e5deb2d1ee2024032bd1ec9405fe0fa98848 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for GCC AVR32Denis Shienkov2020-07-292-0/+10
| | | | | | | | | | Change-Id: Ic099d83336846289cdb651e34e00f711e40701c8 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for GCC RISC-VDenis Shienkov2020-07-292-0/+13
| | | | | | | | | | Change-Id: I53b88908bf82305dcc0a02178ca8da35069a8049 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for GCC M32RDenis Shienkov2020-07-272-0/+11
| | | | | | | | | | Change-Id: I20adf87ca1d3937d474904fb39a296113b046025 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass all current tests for GCC M32RDenis Shienkov2020-07-272-0/+10
| | | | | | | | | | | | | | We need to disable linking with the standard libraries. Change-Id: I4399a55c0f28d808f421afb17689d56ba3a36f17 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for GCC V850Denis Shienkov2020-07-272-0/+13
| | | | | | | | | | Change-Id: I9e8ed0892d5144dc01b0c38eb773b3d79ef8950e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for GCC M68KDenis Shienkov2020-07-272-0/+9
| | | | | | | | | | Change-Id: I8edac0daba086b900766e69a448809a49fbdab72 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for GCC M32CDenis Shienkov2020-07-272-0/+7
| | | | | | | | | | Change-Id: I720c9f1b0d667e0b9604014d956c176153c8ddc0 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for IAR M16CDenis Shienkov2020-07-272-0/+8
| | | | | | | | | | Change-Id: I0883765453fcf998db875110c16102a64d9f6602 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for IAR CR16Denis Shienkov2020-07-272-0/+8
| | | | | | | | | | Change-Id: I6b396ebd14ff39aaba6b459f47c2b86c2afe1215 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for IAR SHDenis Shienkov2020-07-272-0/+9
| | | | | | | | | | Change-Id: I1788be0c6359cb7d7668955686e4c5057519b332 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass all current tests for IAR SHDenis Shienkov2020-07-272-0/+20
| | | | | | | | | | | | | | | | | | | | We need to exclude the '--deprecated_feature_warnings' flag for the IAR SH compiler, because this flag is not supported. Also we need to set the architecture-specific linker options. Change-Id: I038fe6972aeed9deb8cc3e76308cb1e393a15b8b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for IAR R32CDenis Shienkov2020-07-262-0/+9
| | | | | | | | | | Change-Id: I8cb26927c5f2b54d6086031dcf2dee17989ac31c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for IAR AVR32Denis Shienkov2020-07-262-0/+9
| | | | | | | | | | Change-Id: I89de9c12ee42233aa4a51a48b8905dc3c06e5737 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for IAR 78KDenis Shienkov2020-07-264-0/+42
| | | | | | | | | | | | | | | | ... also the changes in the BareMetal{Application|StaticLibrary}.qbs files allows to pass all other IAR 78K tests. Change-Id: Ic11a1237a09b44c6d88a0814c7b346aad252ced4 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for IAR V850Denis Shienkov2020-07-264-0/+27
| | | | | | | | | | | | | | | | ... also the changes in the BareMetal{Application|StaticLibrary}.qbs files allows to pass all other IAR V850 tests. Change-Id: I44be6f19eea84a3bc0c3ee0f6763c323cbd4a138 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for IAR RH850Denis Shienkov2020-07-244-0/+27
| | | | | | | | | | | | | | | | ... also the changes in the BareMetal{Application|StaticLibrary}.qbs files allows to pass all other IAR RH850 tests. Change-Id: I5b226e6541cb93d68f30134e7f9df5f4f8c5915b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for IAR RL78Denis Shienkov2020-07-244-0/+37
| | | | | | | | | | | | | | | | ... also the changes in the BareMetal{Application|StaticLibrary}.qbs files allows to pass all other IAR RL78 tests. Change-Id: Ifec395f174a156d3b29cc19c82b3a29668ea76ee Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for GCC RL78Denis Shienkov2020-07-242-0/+13
| | | | | | | | | | Change-Id: I512c90dc80c01524fdc1ec6f9c69545be3ba74af Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Merge branch 1.17 into masterRichard Weickelt2020-07-2441-3/+472
|\| | | | | | | Change-Id: Ice408bd77aa9f6481960c4fdf7f345a1a39b9f80
| * baremetal: Pass 'one-object-asm-application' test for KEIL C166Denis Shienkov2020-07-242-0/+9
| | | | | | | | | | Change-Id: I8e5ffc2340135e53021d95c3079f6dc458dc1459 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for KEIL MCS251Denis Shienkov2020-07-232-0/+10
| | | | | | | | | | Change-Id: I2b6b4618e2ddf2cc58f4c2f6c9776a5d6fac9b9f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Skip 'preinclude-headers' test for KEIL C251 and C166Denis Shienkov2020-07-231-1/+3
| | | | | | | | | | | | | | ... because this toolchains does not support the pre-include headers. Change-Id: I3a56389d9bdc7ca05a8e274caa9f01fb9fb52afc Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for GCC XTENSADenis Shienkov2020-07-232-0/+13
| | | | | | | | | | Change-Id: Ic01a2720a9184daa80c83ed8d53809f6f50d9258 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for IAR AVRDenis Shienkov2020-07-232-0/+9
| | | | | | | | | | Change-Id: Ide33b5ad139ed18f45e9feff6093ae903d828ee7 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for IAR MSP430Denis Shienkov2020-07-232-0/+8
| | | | | | | | | | Change-Id: I7d0d6906c7b54e1c936e23f4860174f45d89d787 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for IAR STM8Denis Shienkov2020-07-234-0/+25
| | | | | | | | | | | | | | | | ... also the changes in the BareMetal{Application|StaticLibrary}.qbs files allows to pass all other IAR STM8 tests. Change-Id: Ic4e36e0e1a19863d2c9172a17e4bcfc5da7e3a34 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Pass 'one-object-asm-application' test for IAR ARMDenis Shienkov2020-07-232-0/+17
| | | | | | | | | | Change-Id: Ie4dee42345d4ca1d3280b1b65155d0dc173beffd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Add support for Cap'n Proto for the c++ languageIvan Komissarov2020-07-2116-0/+245
| | | | | | | | | | | | | | | | | | | | | | Cap'n Proto is a 'cerialization protocol' similar to protobuf: https://capnproto.org/index.html This patch mainly focuses on the c++ support for the capnp protocol keeping in mind the possibility to add other languages later. Change-Id: Ib19a9df1f45f2787503197791ac597d06cc45e9d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>