aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2016-11-30Add support for typed/untyped concatenated expansionBoris Kolpackov3-4/+4
2016-11-25Implement literal here-document supportBoris Kolpackov6-16/+15
2016-11-23Implement value type propagation on expansionBoris Kolpackov6-5/+76
Currently, we only propagate types of sole, unquoted expansions (variable, function call, or eval context), similar to NULL. To untypify the value, simply quote it.
2016-11-23Implement assert directiveBoris Kolpackov4-1/+47
The grammar is as follows: assert <expression> [<description>] assert! <expression> [<description>] The expression must evaluate to 'true' or 'false', just like in if-else.
2016-11-23Implement few builtin functions that can operate on any valueBoris Kolpackov3-1/+76
type() null() empty () identity()
2016-11-23Print test scope directory changes in verbose (-v) modeKaren Arutyunov1-1/+1
2016-11-23Fix failing on Windows path functions testscriptKaren Arutyunov1-1/+1
2016-11-22Fix typoBoris Kolpackov4-4/+4
2016-11-21Change build.driver/path variable to build.path/process_pathBoris Kolpackov4-4/+4
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