aboutsummaryrefslogtreecommitdiff
path: root/tests/function
AgeCommit message (Collapse)AuthorFilesLines
2021-11-04Add $size() function to get size of sequence (names, strings, etc)Boris Kolpackov3-5/+24
2021-11-02Add $sort() functionBoris Kolpackov3-1/+34
Available overloads: $sort(<names> [, <flags>]) $sort(<ints> [, <flags>]) $sort(<strings> [, <flags>]) $sort(<paths> [, <flags>]) $sort(<dir_paths> [, <flags>]) The following flag is supported by the all overloads: dedup - in addition to sorting also remove duplicates Additionally, the strings overload also support the following flag: icase - sort ignoring case Note that on case-insensitive filesystem the paths and dir_paths overload's order is case-insensitive.
2021-09-14Consistently install prerequisites from any scope by defaultBoris Kolpackov1-0/+1
It is also now possible to adjust this behavior with global config.install.scope override. Valid values for this variable are: project -- only from project strong -- from strong amalgamation weak -- from weak amalgamation global -- from all projects (default)
2020-12-08Redo $normalize(true) as separate $actualize()Karen Arutyunov1-9/+12
2020-09-28Add $string.trim() functionBoris Kolpackov1-0/+7
2020-07-18Add $regex.find_match() and $regex.find_search() functionsKaren Arutyunov1-0/+84
2020-04-03Skip unmatched lines in $regex.replace_lines() if format_no_copy flag is ↵Karen Arutyunov1-0/+20
specified
2020-03-17Add $defined(<variable>) functionBoris Kolpackov1-2/+17
2020-02-12Add builtins support for $process.run*() functionsKaren Arutyunov1-16/+128
2020-02-07Drop copyright notice from source codeKaren Arutyunov14-14/+0
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-08Add $regex.replace_lines() functionKaren Arutyunov1-0/+82
2019-11-05Fix testsBoris Kolpackov5-4/+24
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-01-16Update copyright yearKaren Arutyunov12-12/+12
2018-09-04Rename .test/test{} to .testscript/testscript{}Boris Kolpackov6-6/+6
2018-07-16Resolve function overload via the argument reversal to untypedBoris Kolpackov2-14/+2
2018-06-20Add $process.run() and $process.run_regex() functionsBoris Kolpackov2-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.
2018-05-19Update copyright yearKaren Arutyunov10-10/+10
2018-05-19Get rid of doc{version} and types for testscript and manifest in buildfilesKaren Arutyunov5-5/+5
2017-11-10Add $directory(), $base(), $leaf() and $extension() functionsKaren Arutyunov1-0/+65
2017-09-11Add ability to pass scope to buildfile functions, add $install.resolve()Boris Kolpackov2-0/+38
2017-08-30Add $regex.split(), $regex.merge() and $regex.apply() functionsKaren Arutyunov1-0/+96
2017-06-27Add support for regex function familyKaren Arutyunov2-0/+260
2017-06-26Add support for $path_search() and $path_match()Karen Arutyunov2-0/+160
2017-06-21Add support for $envvar() functionKaren Arutyunov1-0/+61
2017-03-14Implement implied buildfile supportBoris Kolpackov1-5/+0
In essence, if the buildfile is: ./: */ Then it can be omitted entirely (provided there is at least one subdirectory).
2017-01-23Implement automatic loading of directory buildfilesBoris Kolpackov2-4/+2
Now instead of explicitly writing: d = foo/ bar/ ./: $d include $d We can (usually) just write: ./: foo/ bar/
2017-01-19Add support for portable path modifer and dot character escaping inversionKaren Arutyunov1-3/+3
2017-01-05Update copyright yearBoris Kolpackov5-5/+5
2017-01-05Add support for regex in runnerKaren Arutyunov1-3/+1
2016-12-16Convert tests/ to subproject, initial work on cross-testing supportBoris Kolpackov3-3/+5
2016-12-09Initial parallel scheduler implementation, use to run testscripsBoris Kolpackov1-2/+2
2016-12-05Add optional actualize argument to $path.normalize()Boris Kolpackov1-10/+10
2016-12-01Implement testscript variable-ifBoris Kolpackov1-1/+1
Now a variable-only if is treated the same as a single variable when deciding whether it is part of a test or setup/teardown.
2016-12-01Add path.canonicalize() functionBoris Kolpackov1-1/+12
2016-12-01Organize tests/, factor common testscript fragmentsBoris Kolpackov4-18/+2
2016-11-30Add support for typed/untyped concatenated expansionBoris Kolpackov1-2/+2
2016-11-25Implement literal here-document supportBoris Kolpackov2-2/+2
2016-11-23Implement few builtin functions that can operate on any valueBoris Kolpackov3-1/+76
type() null() empty () identity()
2016-11-23Fix failing on Windows path functions testscriptKaren Arutyunov1-1/+1
2016-11-22Fix typoBoris Kolpackov1-1/+1
2016-11-21Change build.driver/path variable to build.path/process_pathBoris Kolpackov1-1/+1
2016-11-18Add function machinery, implement path.normalize()Boris Kolpackov6-29/+53
Note that multi-argument functions are not yet "callable" since there is no support for value packs.
2016-06-18Port to MinGWKaren Arutyunov1-1/+1
2016-04-02Add attribute syntax infrastructureBoris Kolpackov1-1/+1