aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2019-09-30Handle attributes in switch value and pattern expressionsBoris Kolpackov1-4/+34
2019-09-30Tweak tests/.gitignore to ignore symlinks to test/Boris Kolpackov1-3/+4
2019-09-30Diagnose `case` and `default` outside `switch`Boris Kolpackov1-0/+8
2019-09-30Reserve `:` in `case` pattern expression for future match extraction supportBoris Kolpackov1-0/+12
2019-09-30Add support for custom match/extract functions in switch expressionBoris Kolpackov1-0/+113
2019-09-30Add support for `case` pattern alternativesBoris Kolpackov1-9/+14
case <pattern>[ | <pattern>...]
2019-09-30Allow multiple `case` for single line/blockBoris Kolpackov1-8/+33
2019-09-30Pattern matching support (switch): multiple values implementationBoris Kolpackov1-0/+37
2019-09-30Pattern matching support (switch): single value implementationBoris Kolpackov2-0/+139
2019-09-27Adapt to bracket expressions in wildcard patternsKaren Arutyunov1-1/+1
2019-09-27Add support for testscript builtin escapingKaren Arutyunov1-0/+20
2019-09-27Move testscript builtins to libbutlKaren Arutyunov14-1531/+201
2019-09-18Rename importable_headers variable to translatable_headersBoris Kolpackov1-4/+4
This name aligns better with the post-Cologne importable/translatable semantics.
2019-08-28Move cxx build system module to separate libraryKaren Arutyunov2-1/+3
2019-08-28Move c build system module to separate libraryKaren Arutyunov2-1/+3
2019-08-28Move cc build system module to separate libraryKaren Arutyunov2-3/+5
2019-08-28Move bin build system module to separate libraryKaren Arutyunov2-1/+3
2019-08-26Implement auto-import of development build2 buildBoris Kolpackov1-1/+4
2019-08-23Introduce notion of build contextBoris Kolpackov1-3/+3
All non-const global state is now in class context and we can now have multiple independent builds going on at the same time.
2019-08-21Make testscripts to ignore user's default options filesKaren Arutyunov6-9/+11
2019-08-19Revert previous (erroneously pushed to master) commitKaren Arutyunov6-11/+9
2019-08-19Make testscripts to ignore user's default options filesKaren Arutyunov6-9/+11
2019-08-07Improve deadlock diagnostics (suppress stack trace, reword)Boris Kolpackov1-1/+1
2019-08-06Improve module name to file name heuristicsBoris Kolpackov1-0/+47
2019-08-01Move bash build system module to separate libraryKaren Arutyunov2-4/+7
2019-08-01Move version build system module to separate libraryKaren Arutyunov2-0/+3
2019-08-01Combine multiple single-character flags into a single argument for ↵Karen Arutyunov5-8/+8
testscript commands
2019-07-24Use CLI-generated classes to parse testscript builtin optionsKaren Arutyunov13-28/+120
2019-07-24Move in build system module to separate libraryBoris Kolpackov2-1/+7
2019-07-05Fix failing testscript cp builtin testKaren Arutyunov1-15/+10
2019-07-04Remove libu{} target groupBoris Kolpackov1-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-01Split build system into library and driverBoris Kolpackov4-0/+56
2019-06-07Complete and normalize paths in cxx.importable_headersBoris Kolpackov2-14/+133
Also add more header unit include/import tests.
2019-06-06Redo header path normalization/realization logicBoris Kolpackov1-4/+2
We now try to use the normalized path (which preserves symlinks) if possible and fall back to realized otherwise.
2019-06-05Adjust GCC module mapper to new protocolBoris Kolpackov1-4/+31
2019-05-03Rename [config.]cxx.header_units to importable_headersBoris Kolpackov1-1/+1
2019-05-02Enable full header unit functionality testBoris Kolpackov1-1/+1
2019-04-30Initial take on header unit and include translation supportBoris Kolpackov5-44/+87
2019-04-11Sync up with latest C++ modules support in GCCBoris Kolpackov1-2/+5
2019-03-23Cleanup some files replacing tabs with spacesKaren Arutyunov1-3/+3
2019-03-14Add support for multiple variable overridesBoris Kolpackov1-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-13Cutoff append/prepend overrides that come before assignment overrideBoris Kolpackov1-0/+29
For example: $ b x+=1 x=2 x+=3 Should result in '2 3', not '1 2 3'.
2019-01-24Add testscript sleep builtinKaren Arutyunov5-4/+37
2019-01-16Update copyright yearKaren Arutyunov103-103/+103
2018-12-04Adjust module tests to comply with the merged proposal (P1103)Boris Kolpackov1-8/+5
Specifically, import can no longer be inside an export block.
2018-12-03Suppress MSVC warnings at project levelBoris Kolpackov1-0/+6
2018-11-21Add support for target and prerequisite specific variable blocksBoris Kolpackov7-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-19Fix expected diagnostics in testBoris Kolpackov1-1/+1
2018-11-17Print id of failed testKaren Arutyunov9-11/+123
2018-11-16Implement support for dependency chainsBoris Kolpackov3-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