aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/blackbox/tst_blackboxbase.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix Qt 5.15 deprecation warningsChristian Kandeler2020-06-161-1/+1
| | | | | Change-Id: I1d6968de823c43e42ca53eb68972ba5e69dc29ed Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix TestBlackboxExamples for environments without QtChristian Kandeler2020-05-291-0/+20
| | | | | | | The same way as TestBlackboxQt does. Change-Id: Ic040eb3d4c0f5946ca24978090bf342121280260 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Introduce QBS_TEST_SOURCE_ROOT environment variableRichard Weickelt2020-02-271-1/+1
| | | | | | | | | | | | | | | This patch introduces QBS_TEST_SOURCE_ROOT environment variable that can be used to customize the source location of test data. Previously, the original testdata location was compiled into the test binaries. Thus it was impossible to run the test suites on a different host than the build host. In order to improve test coverage, we want to build the test suites once (for instance in a Docker environment) and then run them multiple times in different environments which might have a different file layout. In that case, the testdata location must be configurable. Change-Id: I7673826e6ea6f2e3aa893e657351a84c49a1033e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: Update support to qt 5.14 and multi-arch apks for Qt appsRaphaël Cotty2020-02-041-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before qt 5.14. The profile property "moduleProviders.Qt.qmakeFilePaths" is set with one or more paths to the different android architectures. Each qmake path belongs to a different android architecture installation. So each qmake is used to generated the Qt module corresponding to the architecture. Although qbs can generate multi-arch apks using multiplex mode, this is not possible when the project depends on qt libraries. This is because of the restriction of the qt tool androiddeployqt used by qbs. Now with qt 5.14. All android architectures are installed in the same directory. So the profile property "moduleProviders.Qt.qmakeFilePaths" is set with one qmake path. This directly impacts the qbs-setup-android tool and the generation of the Qt modules. Because qt libraries are installed in the the same directory, they have the abi in their name (libQt5Core_armeabi-v7a.so). So the rules that generate the apks are also impacted. The new androiddeployqt have a new interface (json config file format and requires to have the input libraries installed in the deployment directory) which allows the generation of multi-arch apks. So Qt.android_support modules needs to be updated as well. Fixes: QBS-1497 Change-Id: Ibd546f356c38a05f42dfcac0a4ec92bd82d6f700 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Return initializer list where it is possibleDenis Shienkov2019-02-261-3/+3
| | | | | | | | | This fixes this clang-tidy warning: warning: avoid repeating the return type from the declaration; use a braced initializer list instead [modernize-return-braced-init-list] Change-Id: I421e1e47462fe0e97788672684d47943af7df850 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use QStringLiteral more where it is possibleDenis Shienkov2019-02-251-2/+2
| | | | | | Change-Id: I7419cc3fbc1e8776de3943852dcedab4c95d1c32 Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* qbs build: Fix look-up of qbs executable by autotestsChristian Kandeler2018-11-211-3/+3
| | | | | | | | The code worked only if qbs.installPrefix was empty. Change-Id: I9ba69f10c976b4a2b71ae4934c4cdac58895882a Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add a Makefile generatorChristian Kandeler2018-05-091-1/+2
| | | | | | | | | | | | | At the very least, this is a useful debugging tool, as it displays the artifacts part of the build graph in a familiar format. Tested successfully with the qbs project itself: The generated Makefile could be used to build a working qbs on Linux and Windows. [ChangeLog] Added a Makefile generator Task-number: QBS-33 Change-Id: I8165168d9273bdb4853d4ac566b72087f9104f7a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge 1.11 into masterChristian Kandeler2018-03-151-0/+2
|\ | | | | | | Change-Id: I15cdc5c73a13c36cf073d01aff0406e539bb507b
| * vcs module: Make sure the git meta data directory is absoluteChristian Kandeler2018-03-121-0/+2
| | | | | | | | | | | | | | | | | | | | git rev-parse --git-dir prints a relative or an absolute path, depending on whether you call it from the repository base directory or not. Our code now accounts for that. Change-Id: Iac5eeb0fc55fe83d6c588efbcf97cab6786a4f89 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ola Røer Thorsen <ola@silentwings.no>
* | Add environment variables to allow runQbs to ALWAYS print its outputJake Petroules2018-02-191-7/+8
| | | | | | | | | | | | | | | | This is useful for inspecting qDebug output in blackbox tests. Change-Id: I49ccd8684cfce3845be62aeaf97e33993e8c0277 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Run autotests using the qbs from the install root if availableJake Petroules2018-02-191-3/+4
|/ | | | | | | | | | | | | ...as opposed to relying on the qbs binary existing in the same directory as the test binaries and being usable from that location. This is necessary for some generators (as they generate projects which call the same qbs binary as they were generated with) where an invocation on the qbs binary in the non-installed location may fail to find dependent libraries when invoked from an outside environment. Change-Id: I4d35a6f70df3ad4c48b202f73399ffe1704f78ca Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Replace more loops with range-forJake Petroules2017-11-271-2/+1
| | | | | | | | ...or raw iterators for reverse iterations. Change-Id: I62a110ceeefaf70aaa41f6fb09d811f0eac05657 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Replace 'foreach' macro with range-based 'for'Denis Shienkov2017-11-241-2/+2
| | | | | Change-Id: I34479bc9673d0202363aeba5c7919efc8f0d7287 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* STL compatibility: use push_back() instead of append()Jake Petroules2017-11-221-3/+5
| | | | | | | | | | ...or operator<< if the argument was itself a list, or brace init where appropriate. This is a simple find and replace with manual sanity check. Change-Id: I94b79cbf3752192dd258001bf1dfcd46f58ca352 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Consider library dependencies when setting up run environmentChristian Kandeler2017-11-221-2/+4
| | | | | | | | | | There is no need to hardcode a heuristic in qbs.commonRunEnvironment when we can find out the actual paths. Task-number: QTCREATORBUG-19274 Change-Id: I7a07eb9ff658e38a15c954972370242651114b11 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Remove qbs-qmltypes appJake Petroules2017-11-021-2/+2
| | | | | | | | Now that we generate the qbs.qmltypes file during the build, it is no longer needed. Change-Id: I3180f55074b291d645abad65437d0cba4c80df25 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Autotest: Create a convenience header for DLL import/export macrosChristian Kandeler2017-10-231-0/+1
| | | | | | | | | It's annoying having to write this again for every autotest involving shared libs. Change-Id: Ief6a11f8df2810166606874d24bfa9820af00d16 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix autotest failuresChristian Kandeler2017-08-311-2/+3
| | | | | | | Should have been part of 8efc0f02e3. Change-Id: I4f6f8e7e8c996a72a94dd77f6226db99c7b8f1c1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Strip down the list of possible parameters for the "clean" commandChristian Kandeler2017-08-311-1/+3
| | | | | | | | | | | | | | | - We used to take the list of possible build options and selectively stripped away the ones that didn't apply, thus ending up with non-applicable build options as new ones were added. Instead, we now add the supported options explicitly. - Setting properties on a "qbs clean" command line makes no sense anymore now that this information is read from the build graph, so don't allow it. Change-Id: I30e18c3da4cc65ba263cccd9137d68fb111e01f5 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Allow overriding the Qbs autotest profile with an environment variableJake Petroules2017-08-161-1/+1
| | | | | | | | | | | | The default profile is now "none", ensuring that Qbs autotests will use a clean environment by default. This means that development can be done entirely within Qt Creator without having to separately configure Qbs from the command line. It also has the advantage that switching test profiles is much easier, for example in order to allow running the entire test suite for a cross compile target. Change-Id: I17b06952b577bfef9818338b59dd638492612e24 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Autotests: Provide a means to specify the timeout via the environmentChristian Kandeler2017-06-221-2/+1
| | | | | | | | There are some exceedingly slow test machines for which sometimes even our generous default timeout is not enough. Change-Id: I278f3e3c6c85ed65ba24312e0788aa4bfa323dd2 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Autotests: Improve the QbsRunParameters classChristian Kandeler2017-06-121-5/+4
| | | | | | | | Add dedicated properties for profile and settings path, rather than test functions having to meddle with the arguments list themselves. Change-Id: Icf58e31174ad15f42aee2eabd8578c20b7d517fa Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Blackbox tests: Prevent duplicate occurrence of --settings-dir optionChristian Kandeler2017-06-121-1/+1
| | | | | Change-Id: I618e3b0e91c75c3640ac07bf23316cbfb089fa3a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Migrate blackbox tests depending on Qt into a new tst_blackboxqt targetJake Petroules2017-05-301-9/+1
| | | | | | | | This new test suite collects all the tests which actually rely on Qt and test qbs' support for Qt in some way. Change-Id: Id13d0bee6639314c26bfd87d2abee8fd31dcf770 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Support providing a settings directory to the autotestsChristian Kandeler2017-05-101-5/+10
| | | | | | | | This allows us to run several instances of an autotest in parallel for the same qbs version. Change-Id: I17652ffeba01679800f30fe73d033f7f10e2ded5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* libqtprofilesetup: Make installed Qt modules self-containedChristian Kandeler2017-05-081-4/+5
| | | | | | | | | | That is, set all the custom property values within the module files, rather than via the profile. This is a prerequisite for getting rid of the need for architecture- specific profiles for Android. Change-Id: Iad3a911e5e6e782e84e697ebae0ef2d8efae0c96 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Blackbox tests: Always fail if qbs did not finish regularlyChristian Kandeler2017-03-031-4/+5
| | | | | | | | No test ever expects a crash or a failure to start. An "expected failure" only refers to the exit code being non-zero. Change-Id: I684ab6522014bab9e5499ede3d4d4a4f86aa2c6d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add new tool qbs-create-projectChristian Kandeler2017-02-141-1/+2
| | | | | | | | | | | | It tries to construct a qbs project from an existing source tree, similar to qmake -project. [ChangeLog] Added new tool qbs-create-project to set up a new qbs project from an existing source tree. Change-Id: Id13081a32fa708dd66768c7b647a638db4b41d6e Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Change style of #includes of Qt headersJake Petroules2017-01-041-1/+3
| | | | | | | | | | | | | | | | By using q<lowercase>.h headers, we become more bootstrap-friendly, as no full syncqt is required any more. In the same go, prefix all includes with the module name. This helps grep-based analysis of which parts of Qt are used and where. It's also consistent with Qt's public headers (where syncqt enforces the style). Testdata and examples are excluded from the change, as they are not relevant for bootstrapping. Change-Id: I9539b1d795e87fca6e5fc6c91acbb775b79208d9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update license headersIikka Eklund2016-08-291-15/+13
| | | | | | | | | | Patch-set 2 includes *.cpp *.c Every source file needs to have up-to-date license headers in order to pass ci. Change-Id: Ie6e493097af6f7dd6a8adff170eb856f496e689e Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Split off the Java-related blackbox testsChristian Kandeler2016-08-081-0/+224
They take an extraordinary amount of time and should thus run in parallel to the other tests. Change-Id: I435dd5506cc3f26e351c700ce6be2476d041b6af Reviewed-by: Jake Petroules <jake.petroules@qt.io>