Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add testscript sleep builtin | Karen Arutyunov | 2019-01-24 | 5 | -4/+37 |
| | |||||
* | Update copyright year | Karen Arutyunov | 2019-01-16 | 103 | -103/+103 |
| | |||||
* | Adjust module tests to comply with the merged proposal (P1103) | Boris Kolpackov | 2018-12-04 | 1 | -8/+5 |
| | | | | Specifically, import can no longer be inside an export block. | ||||
* | Suppress MSVC warnings at project level | Boris Kolpackov | 2018-12-03 | 1 | -0/+6 |
| | |||||
* | Add support for target and prerequisite specific variable blocks | Boris Kolpackov | 2018-11-21 | 7 | -7/+154 |
| | | | | | | | | | | | | | | | | | | | | | | | | For example, now instead of: lib{foo}: cxx.loptions += -static lib{foo}: cxx.libs += -lpthread We can write: lib{foo}: { cxx.loptions += -static cxx.libs += -lpthread } The same works for prerequisites as well as target type/patterns. For example: exe{*.test}: { test = true install = false } | ||||
* | Fix expected diagnostics in test | Boris Kolpackov | 2018-11-19 | 1 | -1/+1 |
| | |||||
* | Print id of failed test | Karen Arutyunov | 2018-11-17 | 9 | -11/+123 |
| | |||||
* | Implement support for dependency chains | Boris Kolpackov | 2018-11-16 | 3 | -4/+53 |
| | | | | | | | | | | | | | | | | | | | | Now instead of: ./: exe{foo} exe{foo}: cxx{*} We can write: ./: exe{foo}: cxx{*} Or even: ./: exe{foo}: libue{foo}: cxx{*} This can be combined with prerequisite-specific variables (which naturally only apply to the last set of prerequisites in the chain): ./: exe{foo}: libue{foo}: bin.whole = false | ||||
* | Tweak assert directive diagnostics | Boris Kolpackov | 2018-11-14 | 1 | -1/+1 |
| | |||||
* | Treat invalid names as values if they are quoted | Boris Kolpackov | 2018-10-23 | 1 | -1/+11 |
| | |||||
* | Create .buildignore file in testscript root working directory | Karen Arutyunov | 2018-09-05 | 3 | -3/+24 |
| | |||||
* | Rename .test/test{} to .testscript/testscript{} | Boris Kolpackov | 2018-09-04 | 73 | -138/+139 |
| | |||||
* | Fix tests some more | Boris Kolpackov | 2018-08-09 | 1 | -3/+3 |
| | |||||
* | Fix test failures on Windows | Boris Kolpackov | 2018-08-09 | 2 | -8/+23 |
| | |||||
* | Handle few corner cases in concatenated expansion | Boris Kolpackov | 2018-08-09 | 1 | -0/+28 |
| | |||||
* | Add support for name patterns without wildcard characters | Boris Kolpackov | 2018-08-09 | 1 | -2/+5 |
| | | | | | | | | In particular, this allows the "if-exists" specification of prerequisites, for example: for t: $tests exe{$t}: cxx{$t} test{+$t} | ||||
* | Add support for default extension specification, trailing dot escaping | Boris Kolpackov | 2018-08-07 | 1 | -0/+71 |
| | | | | | | | | | | | | | For example: cxx{*}: extension = cxx cxx{foo} # foo.cxx cxx{foo.test} # foo.test (probably what we want...) cxx{foo.test...} # foo.test.cxx (... is this) cxx{foo..} # foo. cxx{foo....} # foo.. cxx{foo.....} # error (must come in escape pair) | ||||
* | Make project variable to be of project_name type | Karen Arutyunov | 2018-07-30 | 2 | -4/+4 |
| | |||||
* | Handle leading 'module;' marker (p0713) | Boris Kolpackov | 2018-07-24 | 1 | -0/+17 |
| | |||||
* | Implement bash module | Boris Kolpackov | 2018-07-20 | 3 | -1/+233 |
| | |||||
* | Add --after <ref-file> option for testscript touch builtin | Karen Arutyunov | 2018-07-17 | 2 | -9/+30 |
| | |||||
* | Add temporary sleep to in test to verify debugging hypothesis | Boris Kolpackov | 2018-07-17 | 1 | -0/+3 |
| | |||||
* | Handle executables (permissions, extensions) in in::rule | Boris Kolpackov | 2018-07-17 | 1 | -0/+17 |
| | |||||
* | Implement in module | Boris Kolpackov | 2018-07-16 | 2 | -0/+101 |
| | | | | | | | | | | | | | | | | | | | | Given test.in containing something along these lines: foo = $foo$ Now we can do: using in file{test}: in{test.in} file{test}: foo = FOO The alternative variable substitution symbol can be specified with the in.symbol variable and lax (instead of the default strict) mode with in.substitution. For example: file{test}: in.symbol = '@' file{test}: in.substitution = lax | ||||
* | Resolve function overload via the argument reversal to untyped | Boris Kolpackov | 2018-07-16 | 2 | -14/+2 |
| | |||||
* | Add testscript mv builtin | Karen Arutyunov | 2018-07-14 | 1 | -0/+252 |
| | |||||
* | Adjust modules test to maybe-cleanup .ii files (no longer there for VC) | Boris Kolpackov | 2018-07-12 | 1 | -1/+1 |
| | |||||
* | Regularize .gitignore files | Karen Arutyunov | 2018-06-20 | 1 | -0/+2 |
| | |||||
* | Add $process.run() and $process.run_regex() functions | Boris Kolpackov | 2018-06-20 | 2 | -0/+35 |
| | | | | | | | | | | | | | | $process.run(<prog>[ <args>...]) Return trimmed stdout. $process.run_regex(<prog>[ <args>...], <pat> [, <fmt>]) Return stdout lines matched and optionally processed with regex. Each line of stdout (including the customary trailing blank) is matched (as a whole) against <pat> and, if successful, returned, optionally processed with <fmt>, as an element of a list. | ||||
* | Remove target/scope irregularity workarounds | Boris Kolpackov | 2018-05-24 | 3 | -5/+4 |
| | |||||
* | Update copyright year | Karen Arutyunov | 2018-05-19 | 90 | -90/+90 |
| | |||||
* | Fix testscripts using types for testscript and manifest targets | Karen Arutyunov | 2018-05-19 | 4 | -9/+9 |
| | |||||
* | Get rid of doc{version} and types for testscript and manifest in buildfiles | Karen Arutyunov | 2018-05-19 | 17 | -17/+17 |
| | |||||
* | Support for deriving target type from file name, handle testscript, buildfile | Boris Kolpackov | 2018-05-19 | 1 | -1/+1 |
| | | | | | | | | | | In particular, instead of: exe{test}: test{testscript} We should now write: exe{test}: testscript | ||||
* | Redo testscript diagnostics not to rely on invalid paths | Karen Arutyunov | 2018-05-16 | 1 | -3/+6 |
| | |||||
* | Regularize directory target/scope-specific variable assignment syntax | Boris Kolpackov | 2018-05-03 | 7 | -6/+131 |
| | |||||
* | Redo run directive diagnostics not to rely on invalid paths | Boris Kolpackov | 2018-04-27 | 1 | -2/+3 |
| | |||||
* | Add support for build hooks | Boris Kolpackov | 2018-04-27 | 2 | -0/+35 |
| | | | | | | | | | | The following buildfiles are loaded (if present) at appropriate times from the out_root subdirectories of a project: build/bootstrap/pre-*.build # before loading bootstrap.build build/bootstrap/post-*.build # after loading bootstrap.build build/root/pre-*.build # before loading root.build build/root/post-*.build # after loading root.build | ||||
* | Fix bug in directive/run test | Boris Kolpackov | 2018-04-26 | 1 | -4/+4 |
| | |||||
* | Implement run buildfile directive | Boris Kolpackov | 2018-04-26 | 1 | -0/+36 |
| | | | | | | | Now we can do: run echo 'foo = bar' print $foo | ||||
* | Add missed file to builtins tests buildfile | Karen Arutyunov | 2018-03-19 | 1 | -1/+1 |
| | |||||
* | Add support for cp builtin -p option | Karen Arutyunov | 2018-03-19 | 2 | -3/+73 |
| | |||||
* | Enable modules support only for VC 15u5 and up, drop hacks for earlier | Boris Kolpackov | 2018-02-14 | 1 | -48/+10 |
| | |||||
* | Fix broken test (and few other things) | Boris Kolpackov | 2018-02-09 | 11 | -64/+48 |
| | |||||
* | Add tests for auto-generated test inputs/outputs | Boris Kolpackov | 2018-02-05 | 11 | -3/+153 |
| | |||||
* | Get rid of action rule override semantics | Boris Kolpackov | 2018-02-03 | 2 | -3/+2 |
| | | | | | Instead we now have two more or less separate match states for outer and inner parts of an action. | ||||
* | Add cxx.module_name alias for cc.module_name | Boris Kolpackov | 2018-01-05 | 1 | -2/+2 |
| | |||||
* | Redo string/stream representation of dir{} name/target | Boris Kolpackov | 2017-12-16 | 1 | -8/+8 |
| | | | | | | | | | | | | | | Now instead of: dir{foo/bar/} We get: foo/dir{bar/} Which feels more consistent with how we print other names/targets. That is, "directory bar/ in directory foo/" similar how foo/exe{bar} is "executable bar in directory foo/". | ||||
* | Adapt testscripts to build2 output changes | Karen Arutyunov | 2017-11-30 | 1 | -4/+4 |
| | |||||
* | Enable module re-export tests for Clang | Boris Kolpackov | 2017-11-22 | 1 | -1/+0 |
| | | | | This support has been merged into trunk. |