aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/test
AgeCommit message (Collapse)AuthorFilesLines
2020-07-09Make sure update-for-{test,install} works for files out of any projectBoris Kolpackov1-2/+12
2020-07-09Relax prerequisite filtering semantics of aliases in test and install rulesBoris Kolpackov1-1/+9
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 Kolpackov26-8115/+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 Kolpackov2-15/+12
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.
2020-03-17Rework config::{omitted,required,optional}() into unified config_lookup()Boris Kolpackov1-3/+4
2020-03-12Minor comment improvementsBoris Kolpackov1-1/+1
2020-02-27Revert recent Clang optimization bug workaround as it doesn't helpKaren Arutyunov1-7/+3
2020-02-26Try to work around Clang optimization bugKaren Arutyunov1-3/+7
2020-02-12Adapt to renaming butl::fdnull() to fdopen_null()Karen Arutyunov1-2/+2
2020-02-12Add builtins support for $process.run*() functionsKaren Arutyunov1-43/+10
2020-02-07Drop copyright notice from source codeKaren Arutyunov53-53/+0
2020-01-30Swap order of matching command stdout and stderr by testscript runnerKaren Arutyunov1-2/+6
2020-01-29Rename module_base to module, redo module boot/init argument passingBoris Kolpackov3-20/+9
2020-01-28Use scope::var_pool()Boris Kolpackov1-1/+1
2020-01-28Use scope::insert_rule()Boris Kolpackov1-2/+2
2019-11-15Generalize attributes to be comma-separated with arbitrary valuesBoris Kolpackov2-7/+7
Before: x = [string null] After: x = [string, null]
2019-11-14Cleanup attribute parsing codeBoris Kolpackov1-4/+2
2019-11-14Tighten up attribute recognition during parsingBoris Kolpackov2-24/+31
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-13Use path_name in cc::lexer classKaren Arutyunov2-2/+14
2019-11-11Use path_name for `-` to stdin/stdout translationKaren Arutyunov6-17/+26
2019-11-07Raise libcpp version in regex-related check to 9.0Karen Arutyunov1-1/+1
2019-11-07Initial work on path_name use for `-` to stdin/stdout translationBoris Kolpackov6-16/+17
2019-11-04Add $config.export() functionBoris Kolpackov1-2/+1
This is similar to the config.export variable functionality except it can be called from within buildfiles. Note that this function can only be used during configure unless the config module creation was forced for other meta-operations with config.module=true in bootstrap.build.
2019-10-29Add forward declaration header for build state typesBoris Kolpackov2-4/+2
2019-10-23Un-tune scheduler when building build system modulesBoris Kolpackov1-1/+1
2019-10-22Rename global_mutex_shards to global_mutexesBoris Kolpackov1-2/+2
2019-10-22Move global mutex shards to contextBoris Kolpackov1-2/+6
2019-10-16Try to find MSVC installation for absolute cl.exe pathsBoris Kolpackov1-1/+1
Without this extra logic recursive invocation of the build system (e.g., in tests) will fail to obtain the full environment.
2019-10-07Fix testscript regex to be compilable with VC 16.4 previewKaren Arutyunov1-26/+8
2019-10-01Adapt to moving path match to path-pattern.?xxKaren Arutyunov1-2/+3
2019-09-27Adapt to bracket expressions in wildcard patternsKaren Arutyunov1-2/+3
2019-09-27Add support for testscript builtin escapingKaren Arutyunov1-4/+23
2019-09-27Move testscript builtins to libbutlKaren Arutyunov7-5994/+242
2019-09-19Fix crashing on testscript command redirect overridesKaren Arutyunov3-4/+132
2019-08-28Add/update some module descriptionsKaren Arutyunov1-0/+5
2019-08-26Add support for for_install prerequisite-specific var in link ruleBoris Kolpackov1-0/+4
Also reserve for_test.
2019-08-26Make target types project-wideBoris Kolpackov1-4/+2
2019-08-23Introduce notion of build contextBoris Kolpackov10-132/+150
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-21Cleanup context.hxx and its usageBoris Kolpackov1-0/+1
2019-08-14Use new mkanylink() from libbutlBoris Kolpackov1-0/+2
2019-08-12Use new fdstream constructorBoris Kolpackov1-2/+2
2019-08-12Adjust to fdstream constructor changesBoris Kolpackov1-1/+1