summaryrefslogtreecommitdiff
path: root/tests/auto
Commit message (Collapse)AuthorAgeFilesLines
* Support specifying the Qbs build directory as a command line option.Jake Petroules2013-11-262-18/+33
| | | | | | | | | 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>
* Lock the build graph while jobs are running.Christian Kandeler2013-11-251-2/+12
| | | | | | | | | | | | | | All jobs except setting up the project are mutually exclusive, and it is also forbidden to change the project internally while they are going on. Currently, ignoring this requirement leads to undefined behavior. Since we can detect such a condition and react in a defined way, we should do it. Note: This is about the API and the in-memory build graph, not about competing accesses to the stored build graph from different processes. That's a different (and more difficult) problem. Change-Id: I2d8a715334b2b73b4f4d32781d0b4f83b1612d40 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* API: Add the ability to remove groups.Christian Kandeler2013-11-251-0/+17
| | | | | Change-Id: Ic0d7a9f4976e87ab1894bb3a34372c0a27b087fe Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* API: Allow to remove files from a product.Christian Kandeler2013-11-251-3/+38
| | | | | | | Task-number: QBS-20 Change-Id: Ia8b8c4745e8e68ec219e16876fb630d02453425b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge remote-tracking branch 'origin/1.1'Joerg Bornemann2013-11-221-0/+23
|\ | | | | | | | | | | | | | | | | Conflicts: src/lib/language/moduleloader.cpp src/lib/language/tst_language.cpp src/lib/language/tst_language.h Change-Id: Iaaf4e015a234cdd9f51630ad218daec1b83b2a84
| * Take the qbs.install* properties into account when change tracking.Christian Kandeler2013-11-211-0/+23
| | | | | | | | | | | | | | | | | | | | | | These are currently ignored, because we only look for properties that were requested in prepare scripts. This does not typically happen for installation parameters, but since they end up in the output artifacts, changes to them still require re-setting up the respective build data. Task-number: QBS-359 Change-Id: I571cb4c1a02ea790ddde2f244136c6a0fd6fb627 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | API: Allow adding files to a group with a directory prefix.Christian Kandeler2013-11-213-3/+32
| | | | | | | | | | | | | | This case is not problematic. Change-Id: I388df6180b231364a8e185eb85aee5adff417965 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | API: Allow adding to a non-literal files list.Christian Kandeler2013-11-211-3/+2
| | | | | | | | | | Change-Id: I03153c3ace25c28fbd8490a4e054772b3112a867 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Add API for adding groups and files.Christian Kandeler2013-11-2013-13/+214
| | | | | | | | | | | | | | This is a necessary feature for proper IDE support. Change-Id: I296beb5beae514f70babf3da1b5544726e9df82e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Turn NSIS manual test into an autotest.Jake Petroules2013-11-185-0/+71
| | | | | | | | | | Change-Id: Ic8db2f80e1b6ebdad61032b3bcd8c8c986b62614 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | Replace the last occurrences of FileTagger.pattern with patterns.Jake Petroules2013-11-181-1/+1
| | | | | | | | | | | | Change-Id: I5aec3b2e3d7f844c923acb7950300ac0884cc829 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/1.1'Joerg Bornemann2013-11-146-13/+106
|\ \ | |/ | | | | Change-Id: I7475c4a71c15c83c59400c44ef96d73d15caea58
| * translate multipart module names in moduleProperty functionJoerg Bornemann2013-11-121-0/+6
| | | | | | | | | | | | | | Task-number: QBS-452 Change-Id: Ibd83e1866aee0e2922bfa6f2541151b58fb24ea5 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
| * fix assembly autotest for clang profilesJoerg Bornemann2013-11-111-1/+1
| | | | | | | | | | | | | | | | | | qbs.toolchain is a string list. The old check only worked if toolchain consisted exactly of the element "gcc". Change-Id: Ic439261952035e7b465729b6b0710ac9198c98b8 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
| * Take rules into account when tracking changes.Christian Kandeler2013-11-115-12/+99
| | | | | | | | | | | | | | | | | | This will cause rebuilding if, for example, a rule in a module that the product uses gets its source code changed (and the rule is actually being used). Change-Id: I009685c85fcc8fa0ae3ecc7c32194685a1558104 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Allow lists of patterns in the FileTagger item.Christian Kandeler2013-11-112-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Rationale: It is not uncommon that the same tag is associated with more than one file pattern; more common, in fact, than the other way around. It therefore seems silly to force module authors to create one FileTagger item per file extension. For semantic consistency, the "pattern" property gets renamed to "patterns". The old name is still supported in this minor version. Change-Id: Ia7f744b0903462517582fcb549e2dab004c81dd5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/1.1'Joerg Bornemann2013-11-117-0/+49
|\ \ | |/ | | | | Change-Id: I597280483f7477856152f434249d8ee830d5ea40
| * Add support for compiling assembler files with GCC.Tim Sander2013-11-076-0/+48
| | | | | | | | | | | | Task-number: QBS-437 Change-Id: I7d4b64df16f5a260d41a6d34335fe0cc1a36b712 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
| * Add many missing calls to Process.close() and one to TextFile.close().Jake Petroules2013-11-061-0/+1
| | | | | | | | | | Change-Id: Idc4b1d8f73fe1d5fbff6c486cded825d640c5240 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | Rename getenv and putenv to getEnv and putEnv, respectively.Christian Kandeler2013-11-072-2/+2
|/ | | | | | | | We use camel case everywhere else. Change-Id: I8a67f1d44659d59e612c0eaced0628c6d34d5b47 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix autotest.Christian Kandeler2013-11-043-10/+1
| | | | | | | | The "raw backslash" case does not add anything of use, and most likely produces invalid C++. Change-Id: I6d86d2e3a9a4cb3ff7682c5e97475c3e7d5a1c6b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Clean up manual tests.Christian Kandeler2013-10-3112-0/+316
| | | | | | | | | 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 property declarations of overridden propertiesJoerg Bornemann2013-10-301-1/+0
| | | | | | | | | Now it's an error to pass nonsense like project.blubb:1 on the command line. Task-number: QBS-431 Change-Id: I1e2128bce953b7acef4abe0fd09808ba1f71d1f9 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add failing autotests for bugs.Christian Kandeler2013-10-294-0/+43
| | | | | Change-Id: I217eac496994fdddf6a4577bddd79f3d76bba450 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Check for duplicate product names.Christian Kandeler2013-10-287-0/+46
| | | | | | | | 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>
* Add failing autotest for QBS-424.Christian Kandeler2013-10-235-0/+43
| | | | | Change-Id: I6a1194981bf6f679ac931a9871281c4866f3bd20 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix autotest on Windows.Christian Kandeler2013-10-222-2/+4
| | | | | Change-Id: I3eea1f0ef0da789550fba046e1f806b29bae3a6d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Take dependencies into account when tracking changes.Christian Kandeler2013-10-223-0/+28
| | | | | | | They are currently ignored. Change-Id: I94b89f9b7c6838106670d553429b297823ac861f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix autotest project file.Christian Kandeler2013-10-171-0/+1
| | | | | Change-Id: I3acbfe5c52f1c1ebc70e65eb87d5390d55c032be Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Spring cleaning in manual tests.Christian Kandeler2013-10-1432-0/+1034
| | | | | | | | 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-144-0/+56
| | | | | | | | | | 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-142-0/+17
| | | | | | | | | | 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>
* Fix FileInfo.path().Christian Kandeler2013-10-142-7/+11
| | | | | | | | | | | Remove the trailing slash for directories if the file name is empty. This makes sense, since repeated invocations of path() will strip off additional components, as one would expect. It is also how QFileInfo::path() behaves. Change-Id: Idc28fcaba5d3a8c907b8d6ce8f55001909f00fa8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Add test case for checking the list of build system files.Christian Kandeler2013-10-142-0/+19
| | | | | | | Change-Id: Ie3f5a0e7b3b0ae4ef96670ae8b0db3cd18d248b4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from commit ba004ce90327186a7f00ce53bb101b00b01c33fd) Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* in the scanner, only remove connections the scanner createdJoerg Bornemann2013-10-111-2/+1
| | | | | | | Task-number: QBS-394 Change-Id: I4659746be6004042949038450e2015fbb5f70b77 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Make failing autotest less noisy.Christian Kandeler2013-10-101-1/+3
| | | | | Change-Id: I4b658bab8b932a2df6fa7d40d6c3ff3f7bc49a48 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Update tests to use "qbsSearchPaths" property.Christian Kandeler2013-10-103-1/+1
| | | | | Change-Id: Ie790bfdd4ffb9ae937383553c40f730434879d1a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add test case for QBS-394.Christian Kandeler2013-10-094-0/+44
| | | | | Change-Id: I0c0d622f2c94750053d9a35f6aa90b8492465bbd Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Factor out common code in API test.Christian Kandeler2013-10-091-8/+10
| | | | | Change-Id: I596bd943000b41fdd46cbbf33a91a66b57dc3513 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Introduce new project/product property "qbsSearchPaths".Christian Kandeler2013-10-094-2/+12
| | | | | | | | | This extends preferences.qbsPath and allows to use project-specific imports. It also deprecates the "moduleSearchPaths" property, which becomes redundant now. Change-Id: I66ff8aa57f6b2657211e3f4541909b2572c6d613 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* build fix: use the same types for QCOMPAREJoerg Bornemann2013-09-241-1/+1
| | | | | Change-Id: I54c619baceeba0d2b7f1aeadc2d3345561f67b8e Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add autotests for JS extensions.Christian Kandeler2013-09-246-0/+194
| | | | | Change-Id: I94791a9c5bf46f7b59fdc6e692cd79492e63ba96 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add autotest for products exporting a module with dependencies.Christian Kandeler2013-09-097-0/+42
| | | | | | | Fails at the moment. Change-Id: I037c47d33cce2b0901572e158325e1ceeed33f01 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add autotest for precompiled headersJoerg Bornemann2013-09-026-0/+78
| | | | | Change-Id: Idf4a34615541a2ec187745d6195ecdbd34f51a8e Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add missing data for test case.Christian Kandeler2013-08-262-0/+11
| | | | | | | Should have been part of 9f2e842af96885b6d358d32340a212790cf5cfd5. Change-Id: Ic73f1f91124f1139a13e656d677b07f842ca6afc Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Take the condition of a "filetagsFilter" group into account.Christian Kandeler2013-08-262-0/+25
| | | | | | | | We currently ignore it. Task-number: QBS-380 Change-Id: Ifcef14b7c72afa716648c206115482c3f9b73681 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix autotest on OSX.Christian Kandeler2013-08-231-0/+1
| | | | | | | Prevent bundle creation. Change-Id: I36eee6aeaac9c378d62f8ac700ca326d928cf488 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Refactor Project::targetExecutable().Christian Kandeler2013-08-231-0/+1
| | | | | | | | We now implement this function in terms of targetArtifacts() and installableFilesForProduct(), getting rid of redundancies. Change-Id: Ie24b3bdd3381894500b67679fa4bb07268e952a0 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Remove unused #include from tst_api.cpp.Christian Kandeler2013-08-221-1/+0
| | | | | | | | This fixes compilation wit Qt 4. Change-Id: Ib3d209e51b2260e7c3f1dbe6e7acf5336e22a650 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* API: Add ability to retrieve the list of files to be installed.Christian Kandeler2013-08-216-1/+204
| | | | | | | This sort of information is something an IDE would like to show. Change-Id: I2284f3e36c7ed90a880b1df9027a976b2ce7fb63 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>