aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* fix crash on Properties block in Export itemv1.2.1Joerg Bornemann2014-05-081-0/+4
| | | | | | | | | | | The merged Export item was lacking a file context. Added a QBS_CHECK in instantiateModule to ensure a valid file context of the module instance scope. Task-number: QBS-550 Change-Id: I04368ba2e290a9af70f22e9c4c07324e295da4f0 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix crash on product disabling.Christian Kandeler2014-04-303-0/+21
| | | | | | Task-number: QBS-561 Change-Id: Ia56280cb26241c7fb9debd0d4ce1349b041405a6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fuzzy tester: Print error message also for clean build failures.Christian Kandeler2014-04-222-6/+8
| | | | | | | This will help us find false positives (e.g. "disk full"). Change-Id: I5db9d333809f7067dc5dff81544e9e5f0206ee8c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Increase timeout in tests.Christian Kandeler2014-04-161-2/+2
| | | | | | | Some build machines take a bit longer. Change-Id: I65fba2c024e95350c427286b5bcfa0feb2a7ee04 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Prevent user code from hanging qbs during resolving.Christian Kandeler2014-04-163-4/+24
| | | | | | | | | Long-running commands are handled already, but badly written project files could still hang qbs with e.g. infinite JS loops on the right hand side of a binding. Such code can now also be interrupted. Change-Id: Ie0d114bd37d540e764d5ec5bb323c91bfd64a67a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix "inifiniteLoop" test for Qt 4.Christian Kandeler2014-04-151-1/+7
| | | | | | | QThread::sleep() is protected there. Change-Id: If7b6dbabd594c0a0eaf4ea2b7c691c7e9c00c55a Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* Allow long-running commands to be canceled.Christian Kandeler2014-04-151-2/+1
| | | | | | | | | | At the moment, canceling a build waits for the current command to finish, which means that a badly behaving process or piece of JavaScript code can block qbs indefinitely. Task-number: QBS-552 Change-Id: I8ac23f068dd6083905a9681097da6b970c0b646b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Work around braindead QFileInfo::exists() behavior for symbolic links.Christian Kandeler2014-04-151-5/+10
| | | | | Change-Id: If8002fc7be0cc6af954ebb28ccbcb7bee1031e1c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make "infinite-loop" test app not actually run infinitely.v1.2.0Christian Kandeler2014-04-142-2/+4
| | | | | | | Otherwise, a failing test will leave a CPU-burning process behind. Change-Id: Ie9cb2e608f0cb3f1e1ad7491948666f8ac6fc87c Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* Add (failing) autotest for QBS-552.Christian Kandeler2014-04-116-1/+95
| | | | | Change-Id: Idea84b324ddccc62721ff0025ffb85c55dd82a80 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* WiX: Fix the "cultures" property handlingDenis Shienkov2014-04-111-0/+1
| | | | | | | Task-number: QBS-542 Change-Id: I4ec5bf6020732155ab1a20583861e4bbadd196d9 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix linking of MSIs built from multiple WiX source files.Jake Petroules2014-04-113-0/+13
| | | | | | Task-number: QBS-541 Change-Id: I177c755ee203df1018039683da860b26dd9ec820 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix WiX test and turn it into an autotest.Jake Petroules2014-04-116-1/+59
| | | | | Change-Id: Ifd1cdfc54e7566146a478cf0833a6f67196735cd Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix crash with Properties item as child of Project item.Joerg Bornemann2014-04-073-0/+19
| | | | | Change-Id: I5f9868d84447682922fdf97a1a71598cf180549c Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Make "Qt.declarative" available as "Qt.quick" again for Qt 4.Christian Kandeler2014-03-312-4/+20
| | | | | | | | This was accidentally removed when switching to the new Qt modules approach. Change-Id: Ie8db5a183c2cc3a82d31c2793710983cf4206ef0 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix staticLibraryDeps test on OS XJoerg Bornemann2014-03-311-0/+1
| | | | | | | Do not build the project as app bundle. Change-Id: I1af98eb79525c9ff75f061df1452549cc93508c8 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix QML debugging test.Christian Kandeler2014-03-311-2/+1
| | | | | | | nm's "-C" option is not universal. Change-Id: I7e24e76a75eb54c48a9fde5550c8257a1dcc615b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix QML debugging for Qt 5.Christian Kandeler2014-03-314-0/+37
| | | | | | | | | | | The line enabling the respective C++ macro got lost when we switched to the new Qt module approach. (And the name of the macro was wrong for Qt 5 anyway, so it hadn't worked before either.) Also add an autotest to catch things like macro renaming in the future. Task-number: QTCREATORBUG-11914 Change-Id: Ica188c20e99c204d1a9d4e5f285a938707d997dd Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix "build single file" and "changed files" functionalities.Christian Kandeler2014-03-267-4/+32
| | | | | | | | | | | | | | | | | | | | | | | These had several problems. Firstly, the "changed files" case was implemented by setting all artifacts to "Built" and then setting the ones to "Buildable" that were reachable bottom-up from artifacts corresponding to the respective files. This approach broke with the introduction of rule nodes, because parent nodes do not necessarily exist yet at initialization time. This was not caught due to the lack of an autotest. Secondly, the logic behind the "build single file" functionality was faulty. The assumption was that this could be implemented on top of the "changed file" functionality, which is wrong: Consider the case where you have several cpp files that have not yet been built. Now marking one of them as changed and filtering by the "obj" tag will still cause all of them to be compiled, as we cannot simply exclude all other source files from being built, which would break the build for the normal "changed files" case without tag filtering. Therefore we need a dedicated list of input files by which we can filter transformers. Task-number: QBS-537 Change-Id: I47e2ba6d0cbd073561064640eaf8f63c4e0b39fa Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Introduce abstraction layer for QSKIP.Christian Kandeler2014-03-243-7/+42
| | | | | | | We might want to skip tests in other files as well. Change-Id: Ia2352fdf472b461fb3d9ed6134789b4f56d126e8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add XFAIL autotest for QBS-537.Christian Kandeler2014-03-246-2/+36
| | | | | Change-Id: I98aa65cee4e448efa6b9ab32f2165e4cc77429ec Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix library dependency orderJoerg Bornemann2014-03-149-0/+125
| | | | | | | | | Autotest from the bug report added. Task-number: QBS-524 Change-Id: I2ef3485db749424339a2ea96900e49fa5d1363d4 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Normalize signal/slot signaturesOrgad Shaneh2014-03-031-2/+2
| | | | | Change-Id: I88e51bf4c33bbeeacb22a94b735d1faf4f76023f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add test coverage for new PropertyList extension features.Jake Petroules2014-02-282-1/+77
| | | | | Change-Id: If31fd181c30b61f8f02915408520e85b34d5fc11 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Introduce PropertyList functions isEmpty and clear.Jake Petroules2014-02-281-0/+26
| | | | | | | | These functions test whether the PropertyList object has any data loaded, and clears any existing data from the object, respectively. Change-Id: I9dfa0e7629dccd3090fc0d5de33481c8e7caf424 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fuzzy test: Use "rev-parse" instead of "describe".Christian Kandeler2014-02-281-1/+1
| | | | | | | This is what we really want. Change-Id: I3a95364390d788e3c3c2a3ceb3603b78ffa2f14c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make fuzzy test more thorough.Christian Kandeler2014-02-282-10/+34
| | | | | | | | "Successful" incremental builds can also be an error, if a clean build fails for the same project. Change-Id: I9f52d840fbda53a906c039e1ee0db2c656db6f8e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Improvements to fuzzy test.Christian Kandeler2014-02-271-1/+9
| | | | | | | | | - When checking out a commit, also update the submodules. - Check for non-zero exit codes from git. - Print information when a faulty commit was detected. Change-Id: I8171a81899f97fbdaf76ffd49af42a2a46e1a62a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Rename PropertyList API functions for better self-documentation.Jake Petroules2014-02-271-2/+2
| | | | | Change-Id: I5435e99c68646340bf6a2608819cfaef31146646 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix "addedFilePersistent" autotest.Christian Kandeler2014-02-271-3/+3
| | | | | | | | | This one failed in about 1 of 1000 runs (Windows only), presumably because the OS sometimes flushes the file to disk on its own, so that our call to waitForNewTimestamp() came too late. Change-Id: I3866ea9d081549e8a7daa33733f581f8cc96d97e Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* Do not share product properties with artifacts.Christian Kandeler2014-02-262-3/+3
| | | | | | | | | | | | | | Since products potentially share their property maps with their groups, artifacts get product properties such as "name" and "destinationDirectory". This is strange and can mess with change tracking. Therefore we split up the product's property map in two: One contains the module properties and is potentially shared with groups, the other has the actual product properties and is not shared. This patch also removes a workaround from an autotest that was required until now to prevent a false positive in change tracking. Change-Id: Ia1f1f0ce32669fd893a99f809753df526bf1442a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix blackbox tests when used with build directory preference.Jake Petroules2014-02-261-1/+1
| | | | | Change-Id: Icb5049d93a69393bedbeb74fb695d28d12732712 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Unbundle qbs_fuzzy-test on OS X.Jake Petroules2014-02-262-0/+2
| | | | | Change-Id: Id7b62904e0e6e6f3cafbd553b9d8499c98c94530 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* use filePath instead of fileName where applicableJoerg Bornemann2014-02-2514-33/+33
| | | | | | | | This fixes the recently introduced deprecation warnings. Task-number: QBS-258 Change-Id: I10660270895ec89a1444d596922c22e9658ca3ab Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Do not put the plugins where the resources are.Christian Kandeler2014-02-251-1/+1
| | | | | | | | | | | That's not where they belong. Also make less assumptions about the file path leading to them. Ideally, we should also do the latter for the stuff in share/, but then someone would have to touch the horrific qmake code in static.pro. Task-number: QTCREATORBUG-10074 Change-Id: Ide9c4b83dcf0cd7a62b57643b79caf05662358cb Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Rename the fuzzy tester executable.Christian Kandeler2014-02-212-2/+2
| | | | | | | | Having the "qbs-" prefix makes it a qbs sub-command, which we don't want. Change-Id: I20a907cd32ab4f12d26a60c64fa996eabc3403b4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Allow the user to specify a custom place for settings.Christian Kandeler2014-02-214-41/+32
| | | | | | Task-number: QBS-509 Change-Id: I4ad32c648121068880d652e3ba39d4eea59dfbc3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fuzzy test: Do "resolve" and "build" separately for incremental builds.Christian Kandeler2014-02-212-6/+12
| | | | | | | This should increase the likelihood of errors. Change-Id: I9a7b0fded12db05bc55e2f557d220a2614b73d62 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Serialize information about rules with changed inputs.Christian Kandeler2014-02-201-0/+2
| | | | | | | | | This was simply missing. Also amend the "trackRemoveFile" autotest so that it catches such an omission. Change-Id: Ic3187bf17337cf792bb6ccfd324635d1a43f4d82 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Do not cache external project data.Christian Kandeler2014-02-181-1/+9
| | | | | | | | Always retrieve it anew, as information about targets can change due to building. Change-Id: I7b15f8bc50f7b22ea1351e66b5a4b22ea83f34d1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Use dynamic rules in some autotests.Christian Kandeler2014-02-182-9/+12
| | | | | | | They are not strictly necessary there, but add coverage of this feature. Change-Id: I4409575cb8a81b2fca0166388afb56c4701616b1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fuzzy test: More verbose output, wait longer for git.Christian Kandeler2014-02-171-1/+5
| | | | | Change-Id: I19baf426bdf81b80d9a5f52adaf7b815d242c65a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* support transformers with an unknown number of outputsJoerg Bornemann2014-02-1311-19/+150
| | | | | | | | | | | | | | | | To support different types of nodes in the build graph, we introduce the base class BuildGraphNode. Artifact now derives from BuildGraphNode. A RuleNode class is introduced that represents a rule in the build graph. Rules are applied in the build phase and not in a pre-build phase anymore. The handling of moc has been revisited. The fixed automoc pre-build phase is no more. This is the squashed merge of a feature branch. Task-number: QBS-370 Change-Id: If27cdc51cba8c9542e4282c2caa456faa723aeff Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Update references to the toolchain setup tool.Christian Kandeler2014-02-131-1/+1
| | | | | | | s/detect/setup Change-Id: If9d84c94c89c887fb833540a0e2c9d0da4919ba9 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add tst_blackBox::changeDependentLibJoerg Bornemann2014-02-115-0/+133
| | | | | | | | This changes a lib that's used by an application and checks if an incremental build still works. Change-Id: I24816aab1ec55e32c6e197f7d28e60c9d1f874ba Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Introduce tool for fuzzy testing.Christian Kandeler2014-02-118-1/+477
| | | | | | | | | | | | Incremental builds are the likeliest source of problems, as well as the one that is the hardest to reproduce. This new tool turns a given project into a quasi-autotest by checking out random commits and doing incremental builds on them. In case of a build error that is not reproducible with a clean build, it aborts and reports the offending sequence of commits. Any qbs project that comes in a git repository is supported. Change-Id: I9f6f9172ce03140341ed25859092a8ed32d4a17d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge remote-tracking branch 'origin/1.1'Joerg Bornemann2014-01-291-0/+2
|\ | | | | | | Change-Id: Ieeeeb2a30358031b11a902e97c8b8a0046df76d6
| * fix warning in autotestv1.1.21.1Joerg Bornemann2014-01-231-0/+2
| | | | | | | | | | | | | | Give the command a proper description. Change-Id: I7598197262a5ed77403af7fba361589def6c0063 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | Fix command line parser tests.Christian Kandeler2014-01-281-7/+5
| | | | | | | | | | | | | | Some of these tests succeeded for the wrong reason. Change-Id: I3b7cffb871b512aed1c41d217f58a0d1e0599ad6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Do not match files in build directories as source files.Christian Kandeler2014-01-276-0/+23
| | | | | | | | | | | | | | | | This can currently happen if the user builds in the source dir and uses recursive wildcards. Change-Id: I5f3be03313640af046478ca55a381f14605176d4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>