Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-08-19 | Make testscripts to ignore user's default options files | Karen Arutyunov | 6 | -9/+11 | |
2019-08-07 | Improve deadlock diagnostics (suppress stack trace, reword) | Boris Kolpackov | 1 | -1/+1 | |
2019-08-06 | Improve module name to file name heuristics | Boris Kolpackov | 1 | -0/+47 | |
2019-08-01 | Move bash build system module to separate library | Karen Arutyunov | 2 | -4/+7 | |
2019-08-01 | Move version build system module to separate library | Karen Arutyunov | 2 | -0/+3 | |
2019-08-01 | Combine multiple single-character flags into a single argument for ↵ | Karen Arutyunov | 5 | -8/+8 | |
testscript commands | |||||
2019-07-24 | Use CLI-generated classes to parse testscript builtin options | Karen Arutyunov | 13 | -28/+120 | |
2019-07-24 | Move in build system module to separate library | Boris Kolpackov | 2 | -1/+7 | |
2019-07-05 | Fix failing testscript cp builtin test | Karen Arutyunov | 1 | -15/+10 | |
2019-07-04 | Remove libu{} target group | Boris Kolpackov | 1 | -9/+9 | |
The semantics provided by libu{} is rarely required and as result was not yet documented. However, if you are using it, the new way to achieve the same result is to use both libue{} and libul{} explicitly, for example: exe{foo}: libue{foo} lib{foo}: libul{foo} {libue libul}{foo}: cxx{*} | |||||
2019-07-01 | Split build system into library and driver | Boris Kolpackov | 4 | -0/+56 | |
2019-06-07 | Complete and normalize paths in cxx.importable_headers | Boris Kolpackov | 2 | -14/+133 | |
Also add more header unit include/import tests. | |||||
2019-06-06 | Redo header path normalization/realization logic | Boris Kolpackov | 1 | -4/+2 | |
We now try to use the normalized path (which preserves symlinks) if possible and fall back to realized otherwise. | |||||
2019-06-05 | Adjust GCC module mapper to new protocol | Boris Kolpackov | 1 | -4/+31 | |
2019-05-03 | Rename [config.]cxx.header_units to importable_headers | Boris Kolpackov | 1 | -1/+1 | |
2019-05-02 | Enable full header unit functionality test | Boris Kolpackov | 1 | -1/+1 | |
2019-04-30 | Initial take on header unit and include translation support | Boris Kolpackov | 5 | -44/+87 | |
2019-04-11 | Sync up with latest C++ modules support in GCC | Boris Kolpackov | 1 | -2/+5 | |
2019-03-23 | Cleanup some files replacing tabs with spaces | Karen Arutyunov | 1 | -3/+3 | |
2019-03-14 | Add support for multiple variable overrides | Boris Kolpackov | 1 | -0/+30 | |
Now we can do: $ b config.cxx.coptions=-O3 config.cxx.coptions=-O0 Or even: $ b config.cxx.coptions=-O3 config.cxx.coptions+=-g | |||||
2019-03-13 | Cutoff append/prepend overrides that come before assignment override | Boris Kolpackov | 1 | -0/+29 | |
For example: $ b x+=1 x=2 x+=3 Should result in '2 3', not '1 2 3'. | |||||
2019-01-24 | Add testscript sleep builtin | Karen Arutyunov | 5 | -4/+37 | |
2019-01-16 | Update copyright year | Karen Arutyunov | 103 | -103/+103 | |
2018-12-04 | Adjust module tests to comply with the merged proposal (P1103) | Boris Kolpackov | 1 | -8/+5 | |
Specifically, import can no longer be inside an export block. | |||||
2018-12-03 | Suppress MSVC warnings at project level | Boris Kolpackov | 1 | -0/+6 | |
2018-11-21 | Add support for target and prerequisite specific variable blocks | Boris Kolpackov | 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 } | |||||
2018-11-19 | Fix expected diagnostics in test | Boris Kolpackov | 1 | -1/+1 | |
2018-11-17 | Print id of failed test | Karen Arutyunov | 9 | -11/+123 | |
2018-11-16 | Implement support for dependency chains | Boris Kolpackov | 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 | |||||
2018-11-14 | Tweak assert directive diagnostics | Boris Kolpackov | 1 | -1/+1 | |
2018-10-23 | Treat invalid names as values if they are quoted | Boris Kolpackov | 1 | -1/+11 | |
2018-09-05 | Create .buildignore file in testscript root working directory | Karen Arutyunov | 3 | -3/+24 | |
2018-09-04 | Rename .test/test{} to .testscript/testscript{} | Boris Kolpackov | 73 | -138/+139 | |
2018-08-09 | Fix tests some more | Boris Kolpackov | 1 | -3/+3 | |
2018-08-09 | Fix test failures on Windows | Boris Kolpackov | 2 | -8/+23 | |
2018-08-09 | Handle few corner cases in concatenated expansion | Boris Kolpackov | 1 | -0/+28 | |
2018-08-09 | Add support for name patterns without wildcard characters | Boris Kolpackov | 1 | -2/+5 | |
In particular, this allows the "if-exists" specification of prerequisites, for example: for t: $tests exe{$t}: cxx{$t} test{+$t} | |||||
2018-08-07 | Add support for default extension specification, trailing dot escaping | Boris Kolpackov | 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) | |||||
2018-07-30 | Make project variable to be of project_name type | Karen Arutyunov | 2 | -4/+4 | |
2018-07-24 | Handle leading 'module;' marker (p0713) | Boris Kolpackov | 1 | -0/+17 | |
2018-07-20 | Implement bash module | Boris Kolpackov | 3 | -1/+233 | |
2018-07-17 | Add --after <ref-file> option for testscript touch builtin | Karen Arutyunov | 2 | -9/+30 | |
2018-07-17 | Add temporary sleep to in test to verify debugging hypothesis | Boris Kolpackov | 1 | -0/+3 | |
2018-07-17 | Handle executables (permissions, extensions) in in::rule | Boris Kolpackov | 1 | -0/+17 | |
2018-07-16 | Implement in module | Boris Kolpackov | 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 | |||||
2018-07-16 | Resolve function overload via the argument reversal to untyped | Boris Kolpackov | 2 | -14/+2 | |
2018-07-14 | Add testscript mv builtin | Karen Arutyunov | 1 | -0/+252 | |
2018-07-12 | Adjust modules test to maybe-cleanup .ii files (no longer there for VC) | Boris Kolpackov | 1 | -1/+1 | |
2018-06-20 | Regularize .gitignore files | Karen Arutyunov | 1 | -0/+2 | |
2018-06-20 | Add $process.run() and $process.run_regex() functions | Boris Kolpackov | 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. |