Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2016-12-01 | Move old tests to old-tests/ | Boris Kolpackov | 175 | -2733/+0 | |
2016-12-01 | Allow implicit (lexical) typed-to-typed conversion | Boris Kolpackov | 2 | -9/+6 | |
2016-11-30 | Add support for typed/untyped concatenated expansion | Boris Kolpackov | 3 | -4/+4 | |
2016-11-25 | Implement literal here-document support | Boris Kolpackov | 6 | -16/+15 | |
2016-11-23 | Implement value type propagation on expansion | Boris Kolpackov | 6 | -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-23 | Implement assert directive | Boris Kolpackov | 4 | -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-23 | Implement few builtin functions that can operate on any value | Boris Kolpackov | 3 | -1/+76 | |
type() null() empty () identity() | |||||
2016-11-23 | Print test scope directory changes in verbose (-v) mode | Karen Arutyunov | 1 | -1/+1 | |
2016-11-23 | Fix failing on Windows path functions testscript | Karen Arutyunov | 1 | -1/+1 | |
2016-11-22 | Fix typo | Boris Kolpackov | 4 | -4/+4 | |
2016-11-21 | Change build.driver/path variable to build.path/process_path | Boris Kolpackov | 4 | -4/+4 | |
2016-11-18 | Add function machinery, implement path.normalize() | Boris Kolpackov | 8 | -31/+54 | |
Note that multi-argument functions are not yet "callable" since there is no support for value packs. | |||||
2016-11-15 | Add cat, false and true builtins | Karen Arutyunov | 9 | -11/+86 | |
2016-11-08 | Add mkdir and touch builtins | Karen Arutyunov | 7 | -77/+316 | |
2016-11-04 | Fix Clang and VC warnings | Karen Arutyunov | 1 | -2/+5 | |
2016-11-04 | Implement missing testscript integration tests | Boris Kolpackov | 2 | -39/+49 | |
2016-11-04 | Make rmdir_r() to call entry_exists(path) rather than exists(dir_path) | Karen Arutyunov | 1 | -0/+8 | |
2016-11-04 | Add support for cleanup types to testscript runner | Karen Arutyunov | 1 | -41/+56 | |
2016-11-04 | Check if registered for cleanup path is in test scope working directory | Karen Arutyunov | 1 | -1/+27 | |
2016-11-04 | Add support for &dir/*** test path cleanup syntax | Karen Arutyunov | 1 | -9/+91 | |
2016-11-04 | Implement testscript working directory cleanup | Boris Kolpackov | 1 | -9/+29 | |
2016-11-04 | Update testscripts | Boris Kolpackov | 3 | -9/+23 | |
2016-11-04 | Add support of paths cleanups to testscript runner | Karen Arutyunov | 3 | -1/+28 | |
2016-11-04 | Add support of merge redirect to testscript runner | Karen Arutyunov | 3 | -9/+35 | |
2016-11-04 | Add support of file redirects to testscript runner | Karen Arutyunov | 2 | -3/+11 | |
2016-11-04 | Implement support for testscript scopes | Boris Kolpackov | 1 | -12/+16 | |
2016-11-04 | Add few testscript integration tests | Boris Kolpackov | 1 | -2/+34 | |
2016-11-04 | Add support of file redirects to testscript parser | Karen Arutyunov | 1 | -0/+2 | |
2016-11-04 | Support paths cleanup when test scope is left | Karen Arutyunov | 1 | -0/+4 | |
2016-11-04 | Fix printing no-newline here-doc and here-str | Karen Arutyunov | 2 | -19/+54 | |
2016-11-04 | Add support for setup/teardown commands | Boris Kolpackov | 4 | -1/+39 | |
2016-11-04 | Rename tests/test/script/ to tests/test/script/runner/ | Boris Kolpackov | 4 | -4/+11 | |
2016-11-04 | Change <! and >! syntaxt to <- and >- | Karen Arutyunov | 1 | -2/+2 | |
2016-11-04 | Add couple of testscript tests | Boris Kolpackov | 1 | -12/+16 | |
2016-11-04 | Add support for no-newline redirects in testscript | Boris Kolpackov | 1 | -0/+26 | |
The no-newline operators are '<:', '>:', '<<:', and '>>:'. | |||||
2016-11-04 | Implement concurrent_runner | Boris Kolpackov | 5 | -1/+133 | |
2016-11-04 | When assigning always ignore existing value type | Boris Kolpackov | 2 | -0/+5 | |
For example: x = [uint64] 1 x = a # Ok. | |||||
2016-11-04 | Cosmetic change | Boris Kolpackov | 1 | -1/+1 | |
2016-09-15 | Add io_error alias for std::ios_base::failure | Karen Arutyunov | 1 | -1/+1 | |
2016-08-30 | Add support for using '*' as target type in variable assignment | Boris Kolpackov | 1 | -0/+6 | |
So these three are equivalent: *: foo = 1 {*}: foo = 2 *{*}: foo = 3 | |||||
2016-08-26 | Add pkg-config support for import installed | Boris Kolpackov | 1 | -1/+3 | |
Redesign library importing/exporting while at it. | |||||
2016-08-23 | Update install.* variables in buildfiles | Boris Kolpackov | 2 | -2/+2 | |
2016-08-05 | Implement out-qualified target syntax for setting target-specific vars | Boris Kolpackov | 5 | -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-28 | Adjust to new path implementation, use to support reversibility | Boris Kolpackov | 6 | -1/+80 | |
2016-07-22 | Change default var override from 'projects and subprojects' to amalgamation | Boris Kolpackov | 2 | -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-21 | Add support for single line if-blocks | Boris Kolpackov | 2 | -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-20 | Implement support for <, >, <=, >= in eval context | Boris Kolpackov | 4 | -0/+25 | |
Now can write: if ($build.version > 30000) | |||||
2016-07-16 | Add support for prepend/append in target type/pattern-specific vars | Boris Kolpackov | 4 | -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-12 | Use ./ instead of just . to denote current directory in buildfiles | Boris Kolpackov | 9 | -10/+10 | |
2016-06-18 | Port to MinGW | Karen Arutyunov | 17 | -20/+75 | |