aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2020-06-05Add ability to specify ad hoc recipe actionsBoris Kolpackov1-38/+70
We are reusing the buildspec syntax for that.
2020-06-04Properly handle diag directive in build script parserKaren Arutyunov1-3/+4
2020-06-03Allow process path values and targets as buildscript program namesKaren Arutyunov1-39/+297
Also deduce the recipe name.
2020-06-03Add versioning for ad hoc C++ recipesBoris Kolpackov1-2/+2
This will allow us to deal with backward-incompatible changes to cxx_rule interface and semantics.
2020-05-27Add support for value subscript after expansionsBoris Kolpackov2-1/+98
Value subscript is only recognized in evaluation contexts (due to ambiguity with wildcard patterns; consider: $x[123].txt) and should be unseparated from the previous token. For example: x = ($y[1]) x = (($f ? $y : $z)[1]) x = ($identity($y)[$z])
2020-05-27Initial support for ad hoc recipes (still work in progress)Boris Kolpackov8-39/+538
2020-05-01Fix outstanding issue with directive vs assignment differentiationBoris Kolpackov1-0/+23
Specifically, now the following does the right thing: print +foo
2020-04-03Skip unmatched lines in $regex.replace_lines() if format_no_copy flag is ↵Karen Arutyunov1-0/+20
specified
2020-03-31Handle duplicate config directives for same variableBoris Kolpackov1-1/+9
2020-03-27Implement project configuration reporting, similar to build system modulesBoris Kolpackov1-0/+64
2020-03-20Initial implementation of config directive for project-specific configurationBoris Kolpackov2-0/+166
2020-03-17Adapt testscripts to ln builtin target path completion fixKaren Arutyunov3-5/+5
2020-03-17Add $defined(<variable>) functionBoris Kolpackov1-2/+17
2020-03-11Optimize testscripts not to search for subprojectsKaren Arutyunov4-0/+5
2020-02-25Disable global module fragment tests for MSVC due to issue 845845Boris Kolpackov1-0/+3
2020-02-21Define __cpp_modules=201810 (merged modules) for MSVC 16.4Boris Kolpackov1-1/+1
2020-02-12Add builtins support for $process.run*() functionsKaren Arutyunov1-16/+128
2020-02-07Drop copyright notice from source codeKaren Arutyunov111-111/+0
2019-11-15Test and document wildcard character escapingBoris Kolpackov1-1/+11
Also document the new bracket expression ([...]) wildcard support.
2019-11-15Generalize attributes to be comma-separated with arbitrary valuesBoris Kolpackov1-3/+3
Before: x = [string null] After: x = [string, null]
2019-11-14Require attributes to be separated from words and similar on RHSBoris Kolpackov1-1/+1
2019-11-14Tighten up attribute recognition during parsingBoris Kolpackov1-6/+11
Now it should be possible to use `[]` for wildcard patterns, for example: foo = foo.[hit]xx Note that a leading bracket expression will still be recognized as attributes and escaping or quoting it will inhibit pattern matching. To resolve this case we need to specify an empty attribute list: foo = [] [abc]-foo.cxx
2019-11-08Add $regex.replace_lines() functionKaren Arutyunov1-0/+82
2019-11-05Fix testsBoris Kolpackov5-4/+24
2019-11-05Disable C++ modules tests for Clang 9Boris Kolpackov1-0/+8
See the following post for details: http://lists.llvm.org/pipermail/cfe-dev/2019-October/063637.html
2019-10-22Rename global_mutex_shards to global_mutexesBoris Kolpackov1-2/+2
2019-10-22Move global mutex shards to contextBoris Kolpackov1-2/+5
2019-10-18Use $quote() for quoting config.cxx option value in testscriptsKaren Arutyunov3-3/+3
2019-10-16Quote config.{c,cxx} paths when passing to testsBoris Kolpackov3-3/+3
Without this Windows directory separators are treated as escapes.
2019-10-14Implement MSVC installation discovery for version 15 (2017) and laterKaren Arutyunov1-1/+1
In particular, this removes the requirement to build from the Visual Studio command prompt. Note that since MSVC compiler binaries are target-specific (i.e., there are no -m32/-m64 options nor something like /MACHINE), in this case we default to a 64-bit build (a 32-bit build can still be achieved by running from a suitable command prompt). Finally, this mechanism is also used to find Clang bundled with MSVC.
2019-10-07Adapt tests for building with Clang on WindowsKaren Arutyunov1-3/+3
2019-10-01Disable for GCC 4.9 failing testscriptKaren Arutyunov1-10/+18
2019-10-01Add extractor, path.match, and string.icasecmp pattern matching testsBoris Kolpackov1-3/+39
2019-10-01Add support for $string.icasecmp()Karen Arutyunov2-0/+32
2019-10-01Make $regex.{match,search}() to return NULL for no match if return_match or ↵Karen Arutyunov1-4/+4
return_match flag is specified
2019-10-01Rename $filesystem.path_match() to $path.match()Karen Arutyunov2-79/+79
2019-10-01Adapt to swapping of entry and pattern parameters in butl::path_match()Karen Arutyunov1-19/+19
2019-09-30Allow attributes in if-else, assert directive's conditionsBoris Kolpackov3-0/+29
2019-09-30Cleanup inappropriate use of parse_variable_value()Boris Kolpackov1-0/+7
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