aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/test/script
AgeCommit message (Collapse)AuthorFilesLines
2024-07-31Add lookup limit to {scope,target}::lookup_original()Boris Kolpackov1-1/+4
2024-05-21Use new thread-specific current working directory in testscript implementationBoris Kolpackov1-0/+11
In particular, this makes sure functions like $path.complete() work correctly from testscripts.
2023-12-03Reimplement search_existing() functions via target_type::searchBoris Kolpackov1-1/+1
This allows us to automatically get the target type-specific behavior with regards to the out_only semantics (added in the previous commit) instead of passing it explicitly from each call site.
2023-04-05Allow creating context with bare minimum of initializationsBoris Kolpackov1-13/+13
This is used by bpkg to detect forwarded configurations without incurring the full context creation overhead.
2022-12-15Improve escape sequence supportBoris Kolpackov2-4/+6
Specifically: 1. In the double-quoted strings we now only do effective escaping of the special `$("\` characters plus `)` for symmetry. 2. There is now support for "escape sequence expansion" in the form $\X where \X can be any of the C/C++ simple escape sequences (\n, \t, etc) plus \0 (which in C/C++ is an octal escape sequence). For example: info "foo$\n$\tbar$\n$\tbaz" Will print: buildfile:1:1: info: foo bar baz
2022-11-09Use diag_buffer in scriptKaren Arutyunov2-2/+3
2022-10-27Suppress (potential) bogus GCC 12 -Wrestrict warningsBoris Kolpackov1-1/+1
2022-10-21Change attribute syntax in script to come after variable in set and for (set ↵Karen Arutyunov2-23/+32
x [...], for x [...])
2022-10-18Fix unexpected 'unterminated double-quoted sequence' script errorKaren Arutyunov3-11/+25
2022-10-14Fix 'for [<attrs>] x: ...' to treat <attrs> as value attributesKaren Arutyunov2-15/+15
2022-10-14Fix printing test id multiple times on test failureKaren Arutyunov2-14/+44
2022-10-13Add support for 'for' loop second (... | for x) and third (for x <...) forms ↵Karen Arutyunov11-99/+1128
in script
2022-10-10Preparatory work for public/private variable distinctionBoris Kolpackov1-2/+2
We still always use the public var_pool from context but where required, all access now goes through scope::var_pool().
2022-09-29Fix variable append logic in scriptBoris Kolpackov2-14/+36
2022-09-28Add support for 'for' loop first form (for x:...) in scriptKaren Arutyunov3-52/+427
2022-09-28Add support for 'while' loop in scriptKaren Arutyunov9-112/+517
2022-07-07Use new cmdline type for canned command lines in {Build,Test}scriptBoris Kolpackov4-14/+103
2022-06-28Add support for querying out-qualified target-specific variablesBoris Kolpackov2-2/+2
2022-06-21Add --trace-{match,execute} optionsBoris Kolpackov1-14/+14
These options can be used to understand which dependency chain causes matching or execution of a particular target.
2022-05-23Cache build.host value in contextBoris Kolpackov1-1/+1
2022-02-21Factor process-wide initialization to init_process() functionBoris Kolpackov1-1/+1
2022-02-16Invent quoting modes for to_stream(name)Karen Arutyunov1-1/+1
2022-02-11Remove unnecessary header inclusionsBoris Kolpackov1-0/+2
2022-02-10Make few global types separately constructible/initializableBoris Kolpackov1-1/+1
2021-10-14Disable re-parse of sole expansions in BuildscriptBoris Kolpackov1-1/+1
2021-09-24Fortify tests against NDEBUGKaren Arutyunov2-2/+6
2021-06-21Add support for automatic generation of symbol exporting .def fileBoris Kolpackov2-5/+2
2021-05-28Recognize quoting of first character in tokenBoris Kolpackov1-3/+2
Use this to relax the pattern inclusion/exclusion syntax to only require unquoted +/-.
2021-05-28Add pattern_mode::ignore and use in appropriate placesBoris Kolpackov1-1/+1
2021-03-18Add noop mode to file cache, add --file-cache option to selectBoris Kolpackov1-1/+1
2021-03-16Define intermediate build results file cache interfaceBoris Kolpackov1-1/+3
2021-01-30Add std::{map, multimap} to types.hxxBoris Kolpackov1-0/+1
Seeing that std::map is becoming a common Buildfile variable type.
2020-12-15Cache more results of executing programs (compilers, etc)Boris Kolpackov1-0/+2
2020-12-11Add export script pseudo-builtinKaren Arutyunov3-1/+16
2020-12-11Copy parent scope's test program list in runner's entry() function rather ↵Karen Arutyunov3-30/+29
than in scope's constructor
2020-12-11Fix set pseudo-builtin to reset special variables when requiredKaren Arutyunov3-10/+19
2020-12-11Prefix pseudo-builtin diagnostincs messages with their namesKaren Arutyunov1-5/+9
2020-12-08Add support for config.test.runnerKaren Arutyunov6-9/+133
2020-11-06Add support for test timeoutsKaren Arutyunov3-11/+176
2020-08-04Fix 'target.path() called out of scope' testscript errorKaren Arutyunov1-0/+7
2020-06-20Fix assertion failure for unbound 'end' in testscriptKaren Arutyunov3-8/+36
Issue #83.
2020-06-18Add env script pseudo-builtinKaren Arutyunov1-0/+77
Also disable C++ recipe tests when cross-testing.
2020-06-10Handle special variable names in base lexer via mode dataBoris Kolpackov2-27/+22
2020-06-03Allow process path values and targets as buildscript program namesKaren Arutyunov1-1/+1
Also deduce the recipe name.
2020-05-27Add support for value subscript after expansionsBoris Kolpackov1-8/+7
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 Kolpackov25-8111/+412
2020-05-27Fix unregistered .regex file cleanup error in testscriptKaren Arutyunov1-1/+5
2020-05-22Get rid of now deprecated std::is_pod usageBoris Kolpackov1-2/+4
2020-03-31Switch to project variable visibility by defaultBoris Kolpackov1-2/+1
2020-03-17Rename all find*(variable) to lookup*(variable)Boris Kolpackov3-21/+23
Now we consistently use term "lookup" for variable value lookup. At some point we should also rename type lookup to binding and get rid of all the lookup_type aliases.