summaryrefslogtreecommitdiff
path: root/tests
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/+42
| | | | | | | | | | 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>
* | Fix a number of problems with the NSIS module.Jake Petroules2013-11-142-1/+3
| | | | | | | | | | | | | | | | | | | | | | - Add support for building installers outside of Windows. - Add missing qbs. qualifiers - Fix compressor handling Task-number: QBS-414 Change-Id: I1df290d5dd79cb2fea9ab27feefdde21a46c69d7 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>
* | Merge branch '1.1' into 'master'.Christian Kandeler2013-11-0625-177/+33
|\ \ | |/ | | | | Change-Id: Ia6cb10047d02ebe2752984f57e8b729be9d6552e
| * 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>
| * Fix broken property reference.Jake Petroules2013-11-041-1/+1
| | | | | | | | | | Change-Id: I1a1e68e1e866bde33e6002125eb79eff20e52c88 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
| * Clean up manual tests.Christian Kandeler2013-10-3122-166/+31
| | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/1.1'Oswald Buddenhagen2013-10-3046-5983/+162
|\ \ | |/
| * 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>
| * Add examples.Christian Kandeler2013-10-2929-5983/+0
| | | | | | | | | | | | | | | | These are mostly former manual tests that seem useful for demonstrating some feature to learners. Change-Id: I06d895ebdee1280699416cf4930a08602951aaf7 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>
* | Add support for building NSIS setup packages.Jake Petroules2013-10-233-0/+27
| | | | | | | | | | | | | | | | | | | | Task-number: QBS-16 Task-number: QBS-414 Change-Id: I79eae2a04a238c00e89cdd368230a3a60fedccb7 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Fix a couple minor bugs in WiX support.Jake Petroules2013-10-221-1/+1
| | | | | | | | | | | | | | Task-number: QBS-413 Change-Id: I8a0ebb0e8af103093ac0662e331b205dcc40faed Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Add support for building MSI and EXE installers with WiX.Jake Petroules2013-10-214-0/+63
|/ | | | | | | | Task-number: QBS-16 Change-Id: I16a520863991a5d85ed7cb753ce3d95fb33b5c01 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Remove manual test "group tagger conflict".Christian Kandeler2013-10-154-67/+0
| | | | | | | It does not seem to do anything valuable. Change-Id: Ib5e4fc5db9bfc755cbede96896534e6855f68810 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Spring cleaning in manual tests.Christian Kandeler2013-10-1435-10/+63
| | | | | | | | 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-107-4/+4
| | | | | 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>