aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto
Commit message (Collapse)AuthorAgeFilesLines
* Remove executable bit from non-executable files.v1.2.21.2Jake Petroules2014-06-163-0/+0
| | | | | | Task-number: QBS-622 Change-Id: I080cff88ffa91fcb55ff8340847b684901ada44b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* sanitize stdout/stderr output in blackbox testJoerg Bornemann2014-06-132-0/+9
| | | | | | | | | | On Windows the CR characters that were in stdout/stderr led to very unclean output on the console and in Qt Creator. We're removing those in the runQbs method now. Change-Id: I4bef7bb7221bd6f656e5e7480c7a3e0e7ddb44fb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix TestBlackbox::erroneousFiles on *nixJoerg Bornemann2014-06-131-2/+3
| | | | | | | | The error message will contain '/bin/ls' and not just 'ls' unlike on Windows. The test now understands regular expressions. Change-Id: Ib37201744d192d6cd53c350107985532c3633532 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* yield error if Command.workingDirectory doesn't existJoerg Bornemann2014-06-103-0/+42
| | | | | | | | | Otherwise some command might clutter the user's current working dir. Task-number: QBS-607 Change-Id: Id263481d1a615b9c66753e11b271441d4bd004b1 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* pass file dependencies to recursive dependency scannersJoerg Bornemann2014-05-211-1/+0
| | | | | | | | | Recursive dependency scanners, like the C include file scanner, must be fed with file dependencies they've found. Task-number: QBS-566 Change-Id: I68a8e4a5cbb771ed2785ca69412a3b4c4e280eb2 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* extend TestBlackBox::fileDependenciesJoerg Bornemann2014-05-193-1/+16
| | | | | | | | | | | narf.cpp includes awesome.h awesome.h includes magnificent.h awesome.h and magnificent.h are not listed in the project. Changing magnificent.h must trigger a rebuild of narf.cpp. Task-number: QBS-566 Change-Id: Ib2df45ac550951b550ce4ba0e7519268d9123eda Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* use PathProbe in dynamicRuleOutputs testJoerg Bornemann2014-05-121-2/+7
| | | | | | | | That's more generic and adds a Probe usage to the test suite. Change-Id: I022022f9c1d77d5508fbbe848ce56a73eb115185 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Autotests: Increase timeout for "infinite loop" tests.Christian Kandeler2014-05-091-2/+2
| | | | | | | | This is a bit of a shot in the dark to fix a non-reproducible test failure on our build machine. Change-Id: I8923c8744e3f5febb55a508a88c46f0fc9543da5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* 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>
* 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-0/+121
| | | | | 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* | fix compilation error with QT_VERSION < 0x050000Maxim Zaitsev2014-01-211-1/+1
| | | | | | | | | | Change-Id: Ibba02898e19b339bfbbd9223aebca8f83bbdfcfd Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>