aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2016-11-18Add function machinery, implement path.normalize()Boris Kolpackov8-31/+54
Note that multi-argument functions are not yet "callable" since there is no support for value packs.
2016-11-15Add cat, false and true builtinsKaren Arutyunov9-11/+86
2016-11-08Add mkdir and touch builtinsKaren Arutyunov7-77/+316
2016-11-04Fix Clang and VC warningsKaren Arutyunov1-2/+5
2016-11-04Implement missing testscript integration testsBoris Kolpackov2-39/+49
2016-11-04Make rmdir_r() to call entry_exists(path) rather than exists(dir_path)Karen Arutyunov1-0/+8
2016-11-04Add support for cleanup types to testscript runnerKaren Arutyunov1-41/+56
2016-11-04Check if registered for cleanup path is in test scope working directoryKaren Arutyunov1-1/+27
2016-11-04Add support for &dir/*** test path cleanup syntaxKaren Arutyunov1-9/+91
2016-11-04Implement testscript working directory cleanupBoris Kolpackov1-9/+29
2016-11-04Update testscriptsBoris Kolpackov3-9/+23
2016-11-04Add support of paths cleanups to testscript runnerKaren Arutyunov3-1/+28
2016-11-04Add support of merge redirect to testscript runnerKaren Arutyunov3-9/+35
2016-11-04Add support of file redirects to testscript runnerKaren Arutyunov2-3/+11
2016-11-04Implement support for testscript scopesBoris Kolpackov1-12/+16
2016-11-04Add few testscript integration testsBoris Kolpackov1-2/+34
2016-11-04Add support of file redirects to testscript parserKaren Arutyunov1-0/+2
2016-11-04Support paths cleanup when test scope is leftKaren Arutyunov1-0/+4
2016-11-04Fix printing no-newline here-doc and here-strKaren Arutyunov2-19/+54
2016-11-04Add support for setup/teardown commandsBoris Kolpackov4-1/+39
2016-11-04Rename tests/test/script/ to tests/test/script/runner/Boris Kolpackov4-4/+11
2016-11-04Change <! and >! syntaxt to <- and >-Karen Arutyunov1-2/+2
2016-11-04Add couple of testscript testsBoris Kolpackov1-12/+16
2016-11-04Add support for no-newline redirects in testscriptBoris Kolpackov1-0/+26
The no-newline operators are '<:', '>:', '<<:', and '>>:'.
2016-11-04Implement concurrent_runnerBoris Kolpackov5-1/+133
2016-11-04When assigning always ignore existing value typeBoris Kolpackov2-0/+5
For example: x = [uint64] 1 x = a # Ok.
2016-11-04Cosmetic changeBoris Kolpackov1-1/+1
2016-09-15Add io_error alias for std::ios_base::failureKaren Arutyunov1-1/+1
2016-08-30Add support for using '*' as target type in variable assignmentBoris Kolpackov1-0/+6
So these three are equivalent: *: foo = 1 {*}: foo = 2 *{*}: foo = 3
2016-08-26Add pkg-config support for import installedBoris Kolpackov1-1/+3
Redesign library importing/exporting while at it.
2016-08-23Update install.* variables in buildfilesBoris Kolpackov2-2/+2
2016-08-05Implement out-qualified target syntax for setting target-specific varsBoris Kolpackov5-0/+11
So now we can do: doc{INSTALL}@./: install = false Note that so far that's the only place where we support out-qualification. Grep for @@ OUT to see other places.
2016-07-28Adjust to new path implementation, use to support reversibilityBoris Kolpackov6-1/+80
2016-07-22Change default var override from 'projects and subprojects' to amalgamationBoris Kolpackov2-0/+11
The 'projects and subprojects' semantics resulted in some counter-intuitive behavior. For example, in a project with tests/ as a subproject if one builds one of the tests directly with a non-global override (say C++ compiler), then the main project would be built without the overrides. I this light, overriding in the whole amalgamation seems like the right thing to do. The old behavior can still be obtained with scope qualification, for example: b ./:foo=bar
2016-07-21Add support for single line if-blocksBoris Kolpackov2-2/+27
So now we can do: if true print true else print false Instead having to do: if true { print true } else { print false }
2016-07-20Implement support for <, >, <=, >= in eval contextBoris Kolpackov4-0/+25
Now can write: if ($build.version > 30000)
2016-07-16Add support for prepend/append in target type/pattern-specific varsBoris Kolpackov4-0/+70
Semantically, these are similar to variable overrides and are essentially treated as "templates" that are applied on lookup to the "stem" value that is specific to the target type/name. For example: x = [string] a file{f*}: x =+ b sub/: { file{*}: x += c print $(file{foo}:x) # abc print $(file{bar}:x) # ac }
2016-07-12Use ./ instead of just . to denote current directory in buildfilesBoris Kolpackov9-10/+10
2016-06-18Port to MinGWKaren Arutyunov17-20/+75
2016-04-22Fix testBoris Kolpackov2-2/+2
2016-04-21Fix legacy stuff in testsBoris Kolpackov13-39/+12
2016-04-21Implement short-circuiting to group stateBoris Kolpackov1-3/+3
This is necessary to get rid of bogus restarts in inject_prerequisites() where it think a group member was updated since its state changed from unknown to (group's) changed.
2016-04-18Add support for using value attributes in eval contextBoris Kolpackov4-3/+28
For example: if ($x == [null]) Or: if ([uint64] 01 == [uint64] 1)
2016-04-12Add support for scope-qualification of overrides, scope visibilityBoris Kolpackov1-2/+42
2016-04-06Test and fix override logicBoris Kolpackov7-0/+366
2016-04-05Add support for scope/target-qualified variable expansionBoris Kolpackov3-0/+42
For example: print $(dir/:var) print $(file{target}:var) print $(dir/file{target}:var) Note that if the scope/target does not (yet) exists, it will be created.
2016-04-04Implement value typing, null support via value attributesBoris Kolpackov5-4/+104
For example: v = [null] v = [string] abc v += ABC # abcABC
2016-04-02Implement variable typing (via attributes)Boris Kolpackov3-0/+26
Now we can do: [string] str = foo
2016-04-02Add attribute syntax infrastructureBoris Kolpackov10-10/+31
2016-03-31Set part of variable override implementationBoris Kolpackov2-2/+2