aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/blackbox/tst_blackbox.h
Commit message (Collapse)AuthorAgeFilesLines
* Add autotest for QBS-559.Christian Kandeler2014-08-061-0/+1
| | | | | | | | | This bug was fixed somewhat accidentally, so make sure it can't creep back in. Task-number: QBS-559 Change-Id: I3f85676f77cbc50b67f226810137860a7733fc6b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add test for dynamic multiplex rule inputsJoerg Bornemann2014-08-011-0/+1
| | | | | | Task-number: QBS-645 Change-Id: Ib14533084c575d91cc937ca1f7e05145c06b108f Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Autotests: Make "copy and touch" operation atomic.Christian Kandeler2014-08-011-1/+0
| | | | | | | | | On Windows, QFile::copy does not update the timestamp on the target file. This fixes the "projectInvalidation" API test on that OS. Change-Id: I01c232de0f4e5e9bc5d2d28c24d5fb5516a58ca3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Tests: Move waitForNewTimestamp() function to shared file.Christian Kandeler2014-07-301-1/+0
| | | | | | | We want to use it in the API tests too. Change-Id: I8fad090ea98f67e50b7b2a8e3854c5b618172364 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add autotest for tracking wildcard-related changes.Christian Kandeler2014-07-231-0/+1
| | | | | | | | Namely, adding and removing files matched by patterns. This does not seem to be explicitly tested anywhere yet. Change-Id: I6d7b79500ee9e7375f22537da5db6a72057bbdee Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add support for compiling Xcode asset catalogs.Jake Petroules2014-07-221-0/+1
| | | | | | Task-number: QBS-389 Change-Id: I2d93a55228c6ada801ed889404fac753182b82f6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add support for compiling OS X icon sets.Jake Petroules2014-07-211-0/+2
| | | | | | Task-number: QBS-493 Change-Id: Ie6e4a00f672ce4305f03e00ec0b0b7ebcbd942c3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix up-to-date check wrt missing file dependenciesJoerg Bornemann2014-07-181-0/+1
| | | | | | | | | Missing file dependencies (e.g. header files that are not part of the project) must trigger a rebuild their dependents. Change-Id: I502e696d886c86a503e8950ae60254075f7e9415 Task-number: QBS-631 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* invalidate artifacts if a dependency is removedJoerg Bornemann2014-07-181-0/+1
| | | | | | | | | | | Artifacts must be invalidated if a dependency is removed. Consider a foo.cpp that includes bar.h. If bar.h is removed from the project, then we must recompile foo.cpp to trigger the compile error that stems from the wrong include. Change-Id: Ifc2bc3085be553f87685a17c5ff05273daa6579c Task-number: QBS-631 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Take product type changes into account when change tracking.Christian Kandeler2014-07-161-0/+1
| | | | | | | | | | This property is special: We cannot just test for relevance by checking whether it is used in any transformers, because changing it can cause new transformers to get pulled in. Task-number: QBS-650 Change-Id: If18495b47c7238fc8a1256146f4e935ce9655b18 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Allow empty submodules property in Depends item.Christian Kandeler2014-07-091-0/+1
| | | | | | | | | | | | | | | It just means that no dependency should be pulled in by this item. Useful for this kind of thing: Product { Depends { name: "Qt" submodules: theQtSubModulesINeed } property stringList theQtSubModulesIneed // Can be empty. } Change-Id: I8e500c3acfa4374be9005fcf349c0417ad47a76e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make it possible to set profiles per product.Christian Kandeler2014-07-021-0/+1
| | | | | | | | | | | Use case 1: Build product A for architecture X and product B for architecture Y (e.g. host tools vs target libraries). Use case 2: Build product A for architectures X and Y and product B only for architecture X (e.g. Android multi-arch packages). Change-Id: I2eb721c37cdd12c298ee12bad60e21e94b04676b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Correctly handle overriding of file tags via an empty list.Christian Kandeler2014-07-021-0/+1
| | | | | | Task-number: QBS-633 Change-Id: I4bf750ff94d6fae38fb3fdb49de265caddcd789e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Do not lose rescuable artifact data after an incomplete build.Christian Kandeler2014-07-021-0/+2
| | | | | | Task-number: QBS-630 Change-Id: Ib69c541a6c1e228b1ad3c06da51d905194ed10d8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add failing autotest for QBS-635.Christian Kandeler2014-06-261-0/+1
| | | | | | Task-number: QBS-635 Change-Id: I30dc4b0694efa0417d340a75368b3af1eb117daa Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Merge remote-tracking branch 'origin/1.2'Joerg Bornemann2014-06-131-0/+1
|\ | | | | | | Change-Id: Ic33a2440fae27b4ada5b950f3a411916e8ac17f7
| * sanitize stdout/stderr output in blackbox testJoerg Bornemann2014-06-131-0/+1
| | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/1.2'Joerg Bornemann2014-06-101-0/+2
|\| | | | | | | Change-Id: I603430421156e4d23451a7a4ba0f884d6556f89a
| * yield error if Command.workingDirectory doesn't existJoerg Bornemann2014-06-101-0/+2
| | | | | | | | | | | | | | | | | | 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>
* | Properly treat "usings" as inputs when applying rules.Christian Kandeler2014-06-021-0/+1
| | | | | | | | | | | | | | | | | | This allows non-multiplex rules with only "usings" and no "inputs" to work as expected, that is they create one transformer per "usings" element. Change-Id: Iba5144f81b082043878f3eefc111846b6d05646a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Reduce code duplication in blackbox tests.Christian Kandeler2014-05-231-0/+3
| | | | | | | | | | Change-Id: I0154138ca2db91ce5ff04a109fb7e71af1b37c25 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Introduce sensible build directory values.Christian Kandeler2014-05-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, all products share the same build directory, and rules are responsible for making their artifact file paths unique, which is annoying for module authors and introduces lots of code duplication. Instead, make the product build directories unique and let these directories be the base directory of relative artifact file paths. Also export the top-level build dir as project.buildDirectory to the JavaScript side so rules can refer to that one if necessary. Task-number: QBS-567 Change-Id: I257d37cad01ec6dece3e214799b917149677d80c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/1.2'Joerg Bornemann2014-05-081-0/+1
|\| | | | | | | Change-Id: I4a1b580c51119b1a740e86a289d867e6f3102a39
| * Fix crash on product disabling.Christian Kandeler2014-04-301-0/+1
| | | | | | | | | | | | Task-number: QBS-561 Change-Id: Ia56280cb26241c7fb9debd0d4ce1349b041405a6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Add support for building and running TypeScript apps through Node.js.Jake Petroules2014-04-251-0/+1
| | | | | | | | | | Change-Id: I13f4d1e7d994cc5c52a0a0d80e1db1de0c710376 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Add support for running Node.js using qbs run.Jake Petroules2014-04-151-0/+1
|/ | | | | Change-Id: I98a38e49cbea57d44b787eec12c2cb5f2e5cd601 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix WiX test and turn it into an autotest.Jake Petroules2014-04-111-0/+1
| | | | | Change-Id: Ifd1cdfc54e7566146a478cf0833a6f67196735cd Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix crash with Properties item as child of Project item.Joerg Bornemann2014-04-071-0/+1
| | | | | Change-Id: I5f9868d84447682922fdf97a1a71598cf180549c Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix QML debugging for Qt 5.Christian Kandeler2014-03-311-0/+1
| | | | | | | | | | | 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-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 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>
* support transformers with an unknown number of outputsJoerg Bornemann2014-02-131-0/+3
| | | | | | | | | | | | | | | | 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>
* add tst_blackBox::changeDependentLibJoerg Bornemann2014-02-111-0/+1
| | | | | | | | 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>
* Add a JS extension for working with property lists.Jake Petroules2014-01-201-0/+1
| | | | | Change-Id: Ib9413501f647f52b60507daf85bdfe8e560d7e08 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add autotest for dynamic rule outputsJoerg Bornemann2014-01-201-0/+1
| | | | | | | Task-number: QBS-370 Change-Id: Ib70597d8eeed711842cfb86f8d1ecb434f6b40bd Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Merge remote-tracking branch 'origin/1.1'Joerg Bornemann2014-01-091-1/+1
|\ | | | | | | Change-Id: Iccf01f1dad3fca4a78c7d9b795fdef6df0181e9b
| * Incremented year in copyright infoRobert Loehning2014-01-081-1/+1
| | | | | | | | | | | | Change-Id: Ib7f9a00bb891fa39c5bc1f891ddbfba1e4d23227 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Add support for embedding Info.plist into unbundled executable products.Jake Petroules2014-01-091-0/+1
| | | | | | | | | | | | | | Task-number: QBS-468 Change-Id: I0b2cbb1b0aba3f73baf17d703eac5ecb687f54a0 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Add support for soft dependencies.Christian Kandeler2014-01-081-0/+1
| | | | | | | | | | | | | | | | Depends items get a "required" property, module presence can be checked via "present" property. Change-Id: Id188a442b3b32c5b2e50e568e59cee074774f125 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Support specifying the Qbs build directory as a command line option.Jake Petroules2013-11-261-2/+5
| | | | | | | | | | | | | | | | | | Also supports changing the default build directory ('.') using the 'preferences.defaultBuildDirectory' property. Task-number: QBS-462 Change-Id: Id3d05d2f5b14197bd3af2e7f9d55bdd263809716 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | Turn NSIS manual test into an autotest.Jake Petroules2013-11-181-0/+1
|/ | | | | Change-Id: Ic8db2f80e1b6ebdad61032b3bcd8c8c986b62614 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add support for compiling assembler files with GCC.Tim Sander2013-11-071-0/+1
| | | | | | Task-number: QBS-437 Change-Id: I7d4b64df16f5a260d41a6d34335fe0cc1a36b712 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Clean up manual tests.Christian Kandeler2013-10-311-0/+4
| | | | | | | | | Turn some manual tests that add coverage of a feature into autotests. Turn some manual tests that demonstrate a feature into examples. Remove some manual tests that do neither. Change-Id: Ie54005e1ba5aad07319eb864cc5ad70e26308080 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Check for duplicate product names.Christian Kandeler2013-10-281-0/+2
| | | | | | | | Strangely, no such check exists currently. Instead, one will typically get an internal error on the artifact level later on. Change-Id: Id9cd749a70564100bd7286b896f64cafbe9bfb73 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Spring cleaning in manual tests.Christian Kandeler2013-10-141-0/+7
| | | | | | | | Fix the ones that are broken, remove outdated constructs, turn into autotest where it seems sensible. Change-Id: I0fa7e95af4e49ea190b739f779ddf7e4e8b6f96a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* detect cycles in rule dependenciesJoerg Bornemann2013-10-141-0/+1
| | | | | | | | | | This fixes a stack overflow that occurred when having cycles in rule dependencies. Task-number: QBS-396 Change-Id: I1907ef66d74340c090b09be72d2352892baca986 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* introduce TestBlackbox::unifiedLineEndings()Joerg Bornemann2013-10-141-0/+1
| | | | | | | | | | unifiedLineEndings removes all \r characters from a QByteArray and returns a modified copy. Use this function to unify the output from QProcess on Windows. Change-Id: I414230602dea0f12d171620520e72547c2939881 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add test case for QBS-394.Christian Kandeler2013-10-091-0/+1
| | | | | Change-Id: I0c0d622f2c94750053d9a35f6aa90b8492465bbd Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add autotests for JS extensions.Christian Kandeler2013-09-241-0/+4
| | | | | Change-Id: I94791a9c5bf46f7b59fdc6e692cd79492e63ba96 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add autotest for products exporting a module with dependencies.Christian Kandeler2013-09-091-0/+1
| | | | | | | Fails at the moment. Change-Id: I037c47d33cce2b0901572e158325e1ceeed33f01 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* print hints if qbs_autotests is set up incorrectlyJoerg Bornemann2013-07-311-1/+1
| | | | | | | Task-number: QBS-324 Change-Id: I405e902f7c4be004731c5f8f5bbf324fcff7e6a9 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>