aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* remove TestBlackbox::codegenJoerg Bornemann2013-06-252-8/+3
| | | | | | | This is now tested by TestBlackbox::build_project. Change-Id: Ib64c06d10634aa2e6b5213cd9536e229cb5e3882 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix static library dependenciesJoerg Bornemann2013-06-241-1/+0
| | | | | | | Task-number: QBS-294 Change-Id: Ie285cb98db052176a563f52a187279b5dae4c1bf Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* enhance link_staticlib test for QBS-294Joerg Bornemann2013-06-247-11/+97
| | | | | | | Fix follows. Change-Id: I79e34e460710c3ea17bef397eace6b65d004d0e9 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add XmlDom generator/parser to JavaScriptBogDan Vatra2013-06-241-0/+25
| | | | | | | Task-number: QBS-55 Change-Id: I53e9c0c2a784851244219dde9ffe752816e65d0a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Change targetOS and hostOS to lists, and remove targetPlatform.Jake Petroules2013-06-187-16/+16
| | | | | Change-Id: I33317c857a319e0fa25c9e0d0cc69abc4ad3fabb Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* convert profile values to the right property typeJoerg Bornemann2013-06-182-1/+26
| | | | | | | | | Profile values will be converted to the type of their corresponding property. Now it is possible to set string lists of length one or boolean values in profiles. Change-Id: I7fa8bee556376e683030cf02790597c56e6bf494 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Allow installing without building.Christian Kandeler2013-06-171-0/+7
| | | | | | | Task-number: QBS-310 Change-Id: I22139a8c537ded6553f9dc326bb202b1b871c0ee Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Use the new sub-project feature in the qbs project files.Christian Kandeler2013-06-171-0/+15
| | | | | Change-Id: Ia30766b91ef28d05bc1f6109d6dedbb7d18bcf3d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Allow projects to be nested.Christian Kandeler2013-06-177-0/+97
| | | | | | | | | This is nice to have for grouping products and a requirement for aggregating existing projects into a bigger one. Change-Id: I3394642e95ea57dbc6bf1603cfed6902a5906e4c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix tracking of addition/removal of Q_OBJECT headersJoerg Bornemann2013-06-102-3/+25
| | | | | | | Autotest: TestBlackbox::missingQObjectHeader Change-Id: I96127c47dfd3a2e38801dc1305ce7f9c528a94e3 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix output handling in TestBlackbox::runQbsJoerg Bornemann2013-06-101-2/+4
| | | | | Change-Id: Ia0eaaf3c0711b4396fa68dfda373b0a91ba29a63 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Improve Info.plist handling.Jake Petroules2013-06-071-2/+1
| | | | | | | | | | | | | | | | | It's now possible to read from existing Info.plist files. The data in an external plist file will be aggregated with and overridden by the object dictionary specified in the QBS file. Postprocessing can also be disabled if desired. Defaults handling has also been DRY'ed up significantly and made more consistent across different bundle types and platforms. Task-number: QBS-301 Change-Id: Id3ff3bbca1e02c467143513216ef66d38ec9aa6b Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add XIB compiler.Jake Petroules2013-06-0410-0/+5219
| | | | | | | | | | | | | | XIB files are now compiled into NIBs and placed in the bundle. A manual test has been added for testing this functionality. Note that the project was generated using one of the Xcode templates; this test will therefore be useful for ensuring that QBS can generate an identical application bundle to Xcode in general. Task-number: QBS-202 Change-Id: Ie098327a65c5340dd554cb7d6f49415efd1def27 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Be less ambiguous about the naming and referencing of OS X.Jake Petroules2013-06-036-11/+11
| | | | | Change-Id: I7a389cb744c451cee435196fd65a8987199d3ed5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Check whether files listed in "files" property actually exist.Christian Kandeler2013-05-291-0/+0
| | | | | | | | | The fix breaks some existing test cases that used random strings as file names, so adapt those. Task-number: QBS-288 Change-Id: I63d6a75badd0114cdecfbcdb67128f457ddc61c7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix overriding of project propertiesJoerg Bornemann2013-05-231-2/+1
| | | | | | | | | | The overriding of project properties happened too late for project.references. Now it has been moved from ProjectResolver to ModuleLoader. Task-number: QBS-281 Change-Id: I69845abc876bda033eb52d3b8313f82ded0abebb Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix overrideProjectProperties testJoerg Bornemann2013-05-234-4/+20
| | | | | | | Now it will pass if helper_lib.qbs is referenced. Change-Id: Ie5aa925430890d2d846d3db412c67315cd992e4c Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Use private implementation in API classes.Christian Kandeler2013-05-231-2/+2
| | | | | | | | | While we do not promise a stable ABI at the moment, this is conceptually correct and has to be done sooner or later, with increasing effort the longer we delay it. Change-Id: Icc98443974e54d377167480ace601db4981ed43c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add XFAIL test case for QBS-281.Christian Kandeler2013-05-235-0/+41
| | | | | | | Task-number: QBS-281 Change-Id: Ia9f3c50ace67ef7ee65242f8c83475bcdc289cf2 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix shaky Windows blackbox testsJoerg Bornemann2013-05-221-1/+2
| | | | | | | | On our Windows test machine a timeout of 30 s is not enough. Set timeout to five minutes. Change-Id: Icbc719390f57d33c86fe828a209f3c6fa3ca5f9e Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix overrideProjectProperties test for OS XJoerg Bornemann2013-05-221-1/+2
| | | | | Change-Id: I6ed287f4e696d48d704f19b49ff9f9283f5e7084 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* make project properties available in rulesJoerg Bornemann2013-05-221-0/+7
| | | | | | | Blackbox autotest codegen enhanced. Change-Id: Ibeda7204477d06973a4e343d57da757c0bf47899 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* rename ProductModule to ExportJoerg Bornemann2013-05-226-7/+7
| | | | | | | | | | | | The name "Export" reflects the characteristics of this item better than "ProductModule" and is also similar to what is used in other build tools. ProductModule is now deprecated. Support for it will be removed in 0.5 Change-Id: I736d51f40e547ec38e3922c0793a7b57890ecd47 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Tests: Fix transformer test plain execution on WindowsOrgad Shaneh2013-05-061-1/+3
| | | | | | | Running just HelloWorld.exe fails. Change-Id: Icf766bfdd3ec840fddd06edd925c465dc7a24cea Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add autotest for file dependenciesJoerg Bornemann2013-05-027-0/+60
| | | | | Change-Id: If33af0f7069983c7d403248bc4d979164dde0f4d Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix overriding of project/product propertiesJoerg Bornemann2013-04-294-0/+27
| | | | | | | | | | | | Override project properties on the command line via qbs project.someProperty:foo and override product properties with qbs MyProduct.someProperty:bar Task-number: QBS-237 Change-Id: I95b83749625e58a67b7f9fc54d8c77a0d9b514e4 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* make associative array properties visible in rulesJoerg Bornemann2013-04-181-1/+20
| | | | | | | | | | | | | | We don't want to expose the "modules" property in rules, because module properties must be accessed via the moduleProperty functions. This was achieved by filtering all associative array properties and thus hid all user-defined associative arrays as well. We now check for the property name "modules". Codegen blackbox test extended. Task-number: QBS-264 Change-Id: I6c9e0680bafa3801aa2626f3edacab6a06296358 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* make Depends.name and Depends.submodules case sensitiveJoerg Bornemann2013-04-176-10/+9
| | | | | | | | | Also rename modules/qt to modules/Qt and use this form consequently. Task-number: QBS-254 Change-Id: I2e994f2bc5f93d4f887e14ac224ab360c54ad029 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add test case for disabled products.Christian Kandeler2013-04-164-0/+14
| | | | | | | It checks that a disabled product is not being built. Change-Id: Id89294915dcb9a6e978b8522e921fb415308d5ba Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Deal with environment changes.Christian Kandeler2013-04-161-1/+0
| | | | | | | | | | Track in the build graph which variables have been requested by a project and re-resolve a restored project if they have changed in the meantime. Task-number: QBS-259 Change-Id: I6fd08785e2e2ba97f42d0da983f3ea84859e6d20 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add autotest for tracking environment changes.Christian Kandeler2013-04-163-1/+22
| | | | | | | Fails currently, as the feature is not yet implemented. Change-Id: Id052f756803b687aaf882e444f076b1c7d6e4d86 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix handling of minimum Windows version and subsystem linker flags.Jake Petroules2013-04-122-4/+11
| | | | | | | | | | | | | | | | | | | | | | Both MSVC and MinGW now only pass their respective subsystem flags if product.consoleApplication is not undefined - the linkers use console by default. MSVC: as an exception to the above, a subsystem flag must be passed regardless of the value of product.consoleApplication if a minimum system version was specified - in this case subsystem will be set to console. MinGW now correctly handles setting the minimum subsystem/OS version; it was previously using totally nonexistent flags due to poor assumptions about its MSVC compatibility. The test case which tests this functionality was also broken, and is now fixed as well. Task-number: QBS-244 Change-Id: Ibca29ce673a81f1231d364d5b6e6875a462b379c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Refactor blackbox tests.Christian Kandeler2013-04-122-40/+92
| | | | | | | | | We want runQbs() to be more flexible while not adding even more function parameters, so aggregate the possible parameters in a new data structure. Change-Id: Ia2f47b7555c8ec5e4ad85ce6b69861e32c764478 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Skip non-applicable command line parser test on Windows.Christian Kandeler2013-04-121-5/+8
| | | | | | | There currently is no "--show-progress" option on that OS. Change-Id: I56150eadb69ac05d342d3a050c87e66bc79bd63f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* expose project scope in referenced productsJoerg Bornemann2013-04-101-1/+0
| | | | | Change-Id: Ic67e930d9d5dc531c18ef3a82d80b31e1916ba8d Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix building for more than one configuration at once.Christian Kandeler2013-04-091-0/+41
| | | | | | | Was broken due to a bug in command line parsing. Change-Id: Ice6f5ce057a157f3d740a069ac567d75cfd38ba0 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* react smarter on changed properties and added productsJoerg Bornemann2013-04-081-2/+0
| | | | | | | | | | | | Instead of throwing away the whole build graph, we detect changed properties in products and invalidate only those. Also, adding products does not cause a full rebuild anymore. Task-number: QBS-6 Task-number: QBS-235 Change-Id: I3ab1ca84eaeaf28bb083da4e6926e7b1ebbd7694 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Update product properties test to cover referenced products.Christian Kandeler2013-04-055-48/+52
| | | | | | | Fails currently. Change-Id: Idfed174ec48663b5dee232775229049dc8c5d1dd Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* implement Rule.condition propertyJoerg Bornemann2013-04-057-0/+61
| | | | | | | | Now it's possible to turn rules on/off dependent on module properties set by the product. Change-Id: Ie11b31f416bd95a8a764ce99d7d8ca190eff08b5 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* introduce product.dependencies propertyJoerg Bornemann2013-04-034-0/+86
| | | | | | | | | | | | | It is now possible to access the dependencies of a product or module. Entry point for the tree of dependencies is product.dependencies which returns a list of objects that represent products/modules the product depends on. Blackbox test added. Change-Id: I0c2728da479e8cc45ca3994d7e4a9e7a41802aa1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Make commandline parser auto test deterministic.Christian Kandeler2013-03-271-1/+3
| | | | | | | | It no longer depends on whether it is run in a terminal. See comments in patch for details. Change-Id: I3802112bdbfdb9f2e1221a4a86d29f422c437c81 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix problems with time logging.Christian Kandeler2013-03-261-0/+8
| | | | | | | | | | | | This is an addendum to 55b848f530e18ae1f8294f05fb1971aa578dd956, which was erroneously pushed without proper testing. - Write timing data only if requested. - Do not access progress observer if it's null. - Add autotests. Change-Id: I616dc050e69478d297abb6d5a3ae27a6ccff8503 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add new command "resolve".Christian Kandeler2013-03-262-1/+45
| | | | | | | | This resolves the project and applies the rules, but does not build it. Saving the build graph can be switched off using the "--dry-run" option. Change-Id: Ib917937a9aac1f3405d95adfd8a2fd5666a84af2 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove Product.destination in favor of Product.destinationDirectoryJoerg Bornemann2013-03-254-9/+9
| | | | | | | | | Product.destination in product context was visible as product.destinationDirectory in rule context. Now it's destinationDirectory in all contexts. Change-Id: I20173a1543036221491467a3d0ca44f0cf017c83 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix some unused parameter warnings in the manual tests.Jake Petroules2013-03-253-2/+3
| | | | | Change-Id: I589489a13fe6e44d0b0b8c2daba2c6bc882e9765 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove Settings parameter from Loader c'torJoerg Bornemann2013-03-211-3/+1
| | | | | Change-Id: If09122d2beb678e075e40a967a1b9d4d7d24c67d Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* speed up tst_blackboxJoerg Bornemann2013-03-212-10/+3
| | | | | | | | | Do not copy the whole test data directory for every single test case. It's enough to remove the build directories in the cases where a test data subdir is used more than once. Change-Id: I2c56b5be05cbc09fd33eda759ad77c8480d4d0e3 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix waitForTimestamp() calls in tst_blackboxJoerg Bornemann2013-03-211-1/+3
| | | | | | | | We must wait before altering a file, not before calling qbs. This fixes the random fails on our test servers. Change-Id: I1e117d38cc5d8f79bcc52f4e59f86cb6f1359917 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* introduce waitForNewTimestamp() function in tst_blackboxJoerg Bornemann2013-03-212-9/+19
| | | | | | | | This is nicer than copying the line around. As a bonus the test runs a bit faster on Windows. Change-Id: I10c76f7b34926343f8ea7a2f3d44bffa2961ca72 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add support for setting the minimum operating system target version.Jake Petroules2013-03-202-0/+150
| | | | | | | Task-number: QBS-226 Change-Id: I85c6e24ecfe6b90d33df17589f151e4082b53d58 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>