aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/blackbox
Commit message (Collapse)AuthorAgeFilesLines
* Switch to Qt 5.15.0 and drop CI support for MinGW on LinuxRichard Weickelt2020-07-201-2/+3
| | | | | | | | | | | Cross-builds with MinGW on Linux are dropped mainly because of build issues and because MinGW support bloats the resulting Docker image. We have CI jobs running on Windows with MSVC and Clang-cl which should be sufficient. Change-Id: Iac4e0eaf1270844836697bebf52f9c056457caaf Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix wrong array iterationRichard Weickelt2020-07-131-1/+1
| | | | | | | | | | It is not recommended to use 'for in' loops to iterate over arrays because additional properties in Array.prototype would be iterated over as well. For unknown reasons this is not the case when using QtScript, but it would be a problem when running on QJSEngine. Change-Id: I4404c03a6277dae471a9beb162b539edb9ace426 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Pass 'one-object-asm-application' test for IAR MCS51Denis Shienkov2020-07-092-0/+10
| | | | | Change-Id: I4c0a63d9ba06aec32cdc138be5aeb0078e55658f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Return 0 in ASM main function for KEIL MCS51 toolchainDenis Shienkov2020-07-091-3/+4
| | | | | Change-Id: I18ade9e8382c539ba1a29268f7101e656793541f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Replace '.asm' extension with '.s' extensionDenis Shienkov2020-07-082-1/+1
| | | | | | | | | | | ... for an assembler source files in a tests. Reason is that the '*.s' extension is a more popular, besides, this extension also requires for the GCC compiler for a future tests. Change-Id: I0dd764f76e8f9731ee96db110831392616ccae44 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Add 'one-object-asm-application' test for KEIL MCS51Denis Shienkov2020-07-073-1/+47
| | | | | | | | | This commit adds an auto-test which compiles an application using one asm-source main module to check that an assembler does work correctly. Change-Id: I38d512f62bab2e96781405632822f81c13673064 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix wrong variable scope in conanfile-probe testcaseRichard Weickelt2020-07-031-1/+1
| | | | | | | Although defining tf without var seems to work, it is wrong. Change-Id: I444395e79e722f6df58d7b82c751338104c0c840 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Don't use startsWith("xtensa") in testsDenis Shienkov2020-07-032-2/+2
| | | | | | | ... because it is better to use the direct comparison instead. Change-Id: Ie1b84b722beae3a263840ebbf9984f7061e71f07 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Allow to pass tests with GCC compiler for MSP430 architectureDenis Shienkov2020-07-022-0/+10
| | | | | | | | We need to specify an existing MCU type to make it possible to use an appropriate linker script for linking. Change-Id: I7fac9a4856448cafbb1365f67badf685f737e268 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Allow to pass tests with GCC compiler for XTENSA architectureDenis Shienkov2020-07-022-0/+10
| | | | | | | We need to exclude the system libraries from the linking. Change-Id: I9f1935a7aac8955302e0771193963feeba2368e3 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Allow to pass tests with GCC compiler for ARM architectureDenis Shienkov2020-07-022-0/+10
| | | | | | | We need to exclude the system libraries from the linking. Change-Id: I9a20cf8b979666831b6f7cc32c4e3e352fa1a861 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Implement cpp.prefixHeaders for IAR and KEIL toolchainsDenis Shienkov2020-06-295-0/+24
| | | | | | | | | | | Right now it is possible to use the cpp.prefixHeaders property for the KEIL ARM MDK and the IAR EW toolchains. Take into account that the IAR EW toolchain support only one preinclude file. Change-Id: I9e367825575409fa446f3b012a0e1e8d156643ef Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix {c|cpp}LanguageVersion handling on KEIL ARM Clang toolchainDenis Shienkov2020-06-282-2/+18
| | | | | | | | We need to skip the 'undefined' language version returned from the Cpp.languageVersion() function. Change-Id: I3345c2fbdde8b50c8fb9035ec10ca21e0024e6d3 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Derive all applications and libraries from common productsDenis Shienkov2020-06-258-11/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is that for different architectures and different toolchains we need in a minimal set of a platform-specific flags and etc. Previously (e.g. for MCS51 architecture and IAR/KEIL/SDCC toolchains) we are not faced with this problem, because there by default we don't need to specify a platform-specific flags for a minimal test. But, for other platforms and compilers we need in this basic flags (e.g. for ARM architecture and KEIL toolchain, we need to set the CPU target flag, e.g. '--cpu cortex-m0'). So, it makes sense to derive all tested baremetal applications and libraries from the basic BareMetal{Application|StaticLibrary} products. In this case we can configure the desired flags once, using the QBS Properties item. Tested with the following architectures and toolchains: * MCS51 (KEIL, IAR, SDCC) * STM8 (SDCC) * ARM (KEIL) Change-Id: I484ed3abf78050fe2dd27e96e9442a3a03cecfa5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: Add support to generation of aab packageRaphaël Cotty2020-06-253-216/+395
| | | | | | | | | This patch adds the Android.sdk packageType property which sets the target application. By default (previous behavior) qbs generates an apk package. When set to aab, qbs generates instead an aab package Change-Id: Ic09776d08e2a2ecd68fb4c08881201a7a0a25240 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add auto-test for 'static library' dependentiesDenis Shienkov2020-06-2510-0/+92
| | | | | | | | | | | | | This commit adds a blackbox auto-test which provides a project with a multiple static library products 'a-e' and an one application product. An application depends on the 'e' library, but this library also depends on other libraries 'a-d'. Tested for MCS51 architecture with IAR, KEIL, and SDCC toolchains. Change-Id: Ib79f4f7bed4ac0bf6f06d39705bb19bd4284f22d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Add auto-test for cpp.distributionIncludePaths propertyDenis Shienkov2020-06-176-0/+30
| | | | | | | | | | | This commit adds a blackbox auto-test which compiles an application using two include paths foo and bar. Tested for MCS51 architecture with IAR, KEIL, and SDCC toolchains. Change-Id: I0eb480ee700ee1d44df69bbcfe9d7d87681212d6 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Add auto-test for cpp.systemIncludePaths propertyDenis Shienkov2020-06-176-0/+30
| | | | | | | | | | | This commit adds a blackbox auto-test which compiles an application using two include paths foo and bar. Tested for MCS51 architecture with IAR, KEIL, and SDCC toolchains. Change-Id: If68be8f120a0ef760f6ca5b3674dfd49f2cf8a7f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Add auto-test for cpp.includePaths propertyDenis Shienkov2020-06-176-0/+31
| | | | | | | | | | | This commit adds a blackbox auto-test which compiles an application using two include paths foo and bar. Tested for MCS51 architecture with IAR, KEIL, and SDCC toolchains. Change-Id: I4d6114ac2d0b4d8afaf976d5752da8e08d6c73a7 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Long live "application" product type testDenis Shienkov2020-06-169-0/+164
| | | | | | | | | | | | | | This commit adds a blackbox auto-test which compiles two applications: * first - is an application from the one object file * second - is an application from the two object files Tested for MCS51 architecture with IAR, KEIL, and SDCC toolchains. Change-Id: Ib33430a6d87d3cdda48861e688b233e182d96b51 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix Qt 5.15 deprecation warningsChristian Kandeler2020-06-163-11/+14
| | | | | Change-Id: I1d6968de823c43e42ca53eb68972ba5e69dc29ed Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* MSVC: Add missing handling for cpp.distributionIncludePaths propertyDenis Shienkov2020-06-155-0/+24
| | | | | | | | | This commit adds handling of cpp.distributionIncludePaths property, which were ignored at all on MSVC toolchain. Fixes: QBS-1572 Change-Id: I30b6697bee2b1140a56a04931dd5d91369ef86fc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: Add option to use aapt2 instead of aapt in Android.sdk moduleRaphaël Cotty2020-06-041-30/+145
| | | | | | | | | | | aapt has been deprecated (https://developer.android.com/studio/command-line/aapt2) and replaced by aapt2. PropertyOption aaptFileName allows those value: "aapt" and "aapt2". Default value is set to "aapt" for the moment. Fixes: QBS-1562 Change-Id: I1970cafaa54a0e035c08ffe5f9967b712f5c5253 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* TestBlackbox: Fix wrong indentationChristian Kandeler2020-05-291-1/+2
| | | | | Change-Id: Ieb50d47c722c52b3affa8bab6d43d14f16f36375 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix TestBlackboxExamples for environments without QtChristian Kandeler2020-05-295-21/+26
| | | | | | | The same way as TestBlackboxQt does. Change-Id: Ic040eb3d4c0f5946ca24978090bf342121280260 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Add blackbox examples testIvan Komissarov2020-05-284-0/+195
| | | | | | | | | | It is necessary to build examples with different profiles pretty much like it is done with other tests. Thus, build examples as a separate blackbox test. Change-Id: If4e910fb60a6d51e1a0c690e7a4ece4b17bd5b95 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Msvc: Handle windows module definition fileDenis Shienkov2020-05-266-0/+124
| | | | | | | | | | | | | | | | | | | Module-definition (.def) file provide the linker with information about exports, attributes, and other information about the program to be linked. This file can be used instead of e.g. __declspec(dllexport) keywords inside of a header files to export an appropriate symbols: * https://docs.microsoft.com/en-us/cpp/build/reference/module-definition-dot-def-files?view=vs-2019 * https://docs.microsoft.com/en-us/cpp/build/reference/def-specify-module-definition-file?view=vs-2019 To make it supported, we have created the additional 'def' file tag, and now we can add the required module-definition file to the {Product|Group}'s 'files' property. Fixes: QBS-571 Change-Id: I831d2e1b8f9f061a4414a5eaac85b71584f48c5d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix or skip tests to be able to run with the iOS profileIvan Komissarov2020-05-2257-147/+707
| | | | | | | | | | | | This skips tests that are not possible to run without the device and fixes other tests for the iOS profile. Also, adds Travis job that runs tests using iOS profile. This is the squashed merge commit of the wip/ci-ios branch. Change-Id: Ia0c1fc05fdb8c6e269f5e66f979f2ae19465433c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: clean flagsRaphaël Cotty2020-05-131-11/+0
| | | | | | | | | | | | | | | | | | | | | | Update flags following those changes: https://codereview.qt-project.org/c/qt/qtbase/+/268268 https://codereview.qt-project.org/c/qt/qtbase/+/271909 https://codereview.qt-project.org/c/qt/qtbase/+/278646 Remove support to ARMv5 (armeabi), MIPS, and MIPS64 because its support was ended in r17 and minimum ndk is r19... Remove gdb server as it's not needed anymore since by qtcreator (since 4.9 IIRC) From https://android.googlesource.com/platform/ndk/+/master/docs/BuildSystemMaintainers.md Adding linker flags: --build-id=sha1 : Additional Required Arguments section --gc-sections : Controlling Binary Size section Fixes: QBS-1496 Change-Id: Id522bf6bb736c58244aa511189f7acdd0525ab12 Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix copyrightsIvan Komissarov2020-05-125-10/+10
| | | | | | | | In several places, mail was missing. In others, it was incorrectly placed on the 'Contact' line Change-Id: I462301555fe59140f54fd504b5beb37d7c6fca87 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix ModuleLoader::moduleProviderConfigIvan Komissarov2020-05-114-0/+27
| | | | | | | | | | | The function stopped too early in the ItemValueType branch which disallowed to set properties of the multiple module providers. Also, it modified the 'name' parameter resulting in the invalid map key. Change-Id: I549607cb3191134201634c60b72b782874f07556 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge 1.16 into masterChristian Kandeler2020-04-282-3/+13
|\ | | | | | | Change-Id: I61e285f8e9f66451553df2b69c556f995993498c
| * Fix TestBlackbox::installLocations for mingwIvan Komissarov2020-04-282-3/+13
| | | | | | | | | | | | | | | | Mingw uses ".debug" files instead of the ".pdb" files for the separated debug info Change-Id: I00d338f797200c0dba0a1cc115e0dc1b2d057416 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix item scope for the "moduleProviders." itemsIvan Komissarov2020-04-271-2/+4
| | | | | | | | | | | | | | | | This patchset allows to use "product." and "project." properties on the right-hand side of the "moduleProviders." properties. Change-Id: Ib9afca4751cd4db40d3a703fd179860de362b0fa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge branch '1.16' into masterRichard Weickelt2020-04-157-54/+143
|\| | | | | | | Change-Id: Ie3f341fe18e2ffaf676721748279c6b027590727
| * Darwin: Adapt to Xcode 11.4Christian Kandeler2020-04-062-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | The "Version" entry in SDKSettings.plist has three digits now. Also adapt the deploymentData autotest to take into account that we no longer pass the "version_min" options. Fixes: QBS-1543 Change-Id: Ibc1bcfd44583721c4bed1db812eca892ee316eeb Reviewed-by: Leon Buckel <leon.buckel@clausmark.com> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Fix autodetecting mingw compiler in PATHIvan Komissarov2020-04-031-13/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GccBinaryProbe failed to locate g++.exe since it tried to append ".exe" suffix which is already present in filename. Also, fix the emptyProfile() test by setting the qbs.toolchainType instead of read-only property "qbs.toolchain" which cannot be assigned from the command line. Also, prepend the original cpp.toolchainInstallPath value to the PATH variable to make sure Probe will find the desired compiler. Change-Id: I12341ee1cd4d8ea0cbcdf3781347bfc0a2780ad2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Export framework search path in qtscxml blackbox test on macOSRichard Weickelt2020-03-311-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The qtscxml testcase builds a Qt binary and runs it. This relies on library search paths being correctly exported so that the Qt libraries and framework files are found by the binary. The testcase exports LD_LIBRARY_PATH, but does neither export DYLD_LIBRARY_PATH nor DYLD_FRAMEWORK_PATH which is needed on macOS as well. Therefore the binary cannot be loaded. This error is only visible when running tst_blackbox-qt stand-alone. It is usually hidden because the QbsAutoTestRunner exports both DYLD variables. But if the user builds the autotests against Qt installation A while testing installation B, then the binary in the qtscxml testcase uses the wrong DYLD_LIBRARY_PATH. This patch exports both DYLD_LIBRARY_PATH and DYLD_FRAMEWORK_PATH on macOS. Change-Id: I348d50ec0417e35ff379aad2f93cf80b5ed50c95 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Do not use app.qmltypes anymoreMaximilian Goldstein2020-03-301-2/+2
| | | | | | | | | | | | Task-number: QTBUG-82710 Change-Id: Ibb7c94c4f5de7ecc2dc45634a31d88b3cf55b881 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Convenience items can now install separated debug infoIvan Komissarov2020-03-202-2/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patchset adds the 'installDebugInformation' and 'debugInformationInstallDir' properties to the NativeBinary item and adds Group items that install debug info to the Library and Application items. Also, update How-To about installing debug symbols More documentation (for the Library and the NativeBinary items) will be added in a separate patchset Change-Id: I32687b99871fe40a8e26db09aa118a89ae73f922 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Refactor TestBlackbox::installLocations()Ivan Komissarov2020-03-201-21/+38
| | | | | | | | | | | | | | To be able to test debug info directories Change-Id: Ifde3ceef40e3face12c40e670675c641d42a561e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Make Library.qbs configurableIvan Komissarov2020-03-183-2/+24
| | | | | | | | | | | | | | | | | | | | Move all tag installation code to the Library.qbs to make it possible to switch between dynamic/static libraries in user code. Also, add test for the LoadableModule item. Change-Id: I947977e5974f9c37d27be6ccd7ad3d117a05af18 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix aggregateDependencyLinking() with XCode 9.4Ivan Komissarov2020-04-152-2/+7
|/ | | | | | | | | | Test failed because of the warning about macOS version mismatch which leaded to additional logging in CommandLineFrontend::handleProcessResultReport() Fixes: QBS-1456 Change-Id: I83dd0eeebd248c0a5ad38b65e29b96358f455404 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add qbs.hostArchitecture propertyIvan Komissarov2020-03-114-0/+27
| | | | | | | | | | This property can be useful when some parts of the project (e.g. helper tools) should be compiled for the host platform/architecture disregarding what targetPlatform/architecture the rest of the project is being built for Change-Id: I8c76ef65470130df59826603157083fd20809592 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix emptyProfile autotestChristian Kandeler2020-03-101-13/+21
| | | | | | | | | | | It was broken for e.g. mingw. Prevent future failures by simply forwarding qbs.toolchainType from the profile. Also forward the toolchain install path for non-MSVC profiles if it's not in the PATH. Change-Id: I73a799387af2e746ebdd634171129f9d201478db Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Simplify the emptyProfile autotestChristian Kandeler2020-03-091-3/+1
| | | | | | | | | There is no need for a temporary settings dir: We have the special "none" value for profiles. Change-Id: I4a07053e81e94d999f3a6827c51b04d32725ffcb Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Qt: Add support for the new QML type registration mechanismChristian Kandeler2020-03-097-0/+354
| | | | | | | | | | This implements the Qt 5.15 type registration approach via the qmltyperegistrar tool. Fixes: QBS-1531 Change-Id: Id77572a521513dc1759b02a7f7299377c2bcaabb Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* setup-toolchains now sets the qbs.toolchainType, not qbs.toolchainIvan Komissarov2020-03-093-13/+13
| | | | | Change-Id: I21f0626a093db358f8f5dfa6248672c44edc82e2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add "profiling" build variantIvan Komissarov2020-03-064-0/+38
| | | | | | | Also known as "release-with-debug-info" Change-Id: Ieed358810ea423ea7a9a1a52a36fa35cf165dfac Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Qt support: Add support for moc metatype filesChristian Kandeler2020-03-067-0/+94
| | | | | | | | From Qt 5.15 on, moc can generate metatype information in JSON format. Task-number: QBS-1531 Change-Id: Ie6969f70bac51cc80f11057841ba8d4b7947c646 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>