aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/test
AgeCommit message (Collapse)AuthorFilesLines
2023-12-03Reimplement search_existing() functions via target_type::searchBoris Kolpackov3-6/+4
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-09-20Fix issue with fallback rule priority in dist moduleBoris Kolpackov1-8/+10
While at it, also remove workarounds for the same issue in the config and test modules.
2023-04-05Allow creating context with bare minimum of initializationsBoris Kolpackov2-29/+29
This is used by bpkg to detect forwarded configurations without incurring the full context creation overhead.
2023-03-01Add support for installation manifestBoris Kolpackov1-8/+6
2023-01-09Fix simple and script tests to correctly terminate processes which don't ↵Karen Arutyunov1-14/+84
close stderr on exit
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-24Fix forcing diag buffering for diff in simple testKaren Arutyunov1-3/+5
2022-11-23Rework diag_buffer interface to facilitate correct destruction orderBoris Kolpackov1-5/+29
2022-11-16Initial low verbosity diagnostics reworkBoris Kolpackov1-6/+14
2022-11-14Add buffering for simple test diagnosticsdiag-bufferKaren Arutyunov1-74/+286
Also fix simple test redirecting diff's stdout to stderr.
2022-11-09Use diag_buffer in scriptKaren Arutyunov2-2/+3
2022-11-09Make process exit diagnostics in executable metadata extraction consistentBoris Kolpackov1-1/+1
2022-11-08Make process exit diagnostics consistentBoris Kolpackov1-1/+3
In particular, we now always print error message on non-0 exit except in cases where such exit is ignored.
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-13Optimize by going straight to public variable pool where applicableBoris Kolpackov1-3/+7
2022-10-13Switch to public/private variables modelBoris Kolpackov2-7/+5
Now unqualified variables are project-private and can be typified.
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 Kolpackov5-16/+105
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 Kolpackov2-2/+2
2022-04-15Get rid of target::dynamic_type() virtual functionBoris Kolpackov1-2/+5
Instead of overriding this function, derived targets must now set the dynamic_type variable to their static_type in their constructor body.
2022-04-06Add support for rule hintsBoris Kolpackov3-7/+7
A rule hint is a target attribute, for example: [rule_hint=cxx] exe{hello}: c{hello} Rule hints can be used to resolve ambiguity when multiple rules match the same target as well as to override an unambiguous match.
2022-03-07Fix operation-specific variables logic for inner/outer operationsBoris Kolpackov1-1/+1
2022-03-02Add update operation-specific variable with unmatch|match additional valuesBoris Kolpackov1-0/+2
Note that the unmatch (match but do not update) and match (update during match) values are only supported by certain rules (and potentially only for certain prerequisite types). Additionally: - All operation-specific variables are now checked for false as an override for the prerequisite-specific include value. In particular, this can now be used to disable a prerequisite for update, for example: ./: exe{test}: update = false - The cc::link_rule now supports the update=match value for headers and ad hoc prerequisites. In particular, this can be used to make sure all the library headers are updated before matching any of its (or dependent's) object files.
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-12-16Pass context to (meta-)operation hooksBoris Kolpackov1-3/+6
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-04-07Register environment variables for hermetic build configurationsBoris Kolpackov1-0/+6
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