aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/test
AgeCommit message (Collapse)AuthorFilesLines
2020-05-27Add support for value subscript after expansionsadhoc-recipe-historyBoris 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($x)[$z])
2020-05-27Create build script temporary directory on demandKaren Arutyunov4-11/+51
2020-05-27Use dir_name_view for script environment working and sandbox directoriesKaren Arutyunov3-20/+27
2020-05-27Wrap up $<, $> variables and related ($target.path(), hashing, cleanup)Boris Kolpackov1-6/+7
2020-05-27Add script command redirect aliasesKaren Arutyunov5-9/+25
2020-05-27Make build script to create special files in temporary directoryKaren Arutyunov1-0/+1
2020-05-27Add ability to notice variable expansions in pre-parse modeBoris Kolpackov1-1/+2
2020-05-27Set proper build script command default redirectsKaren Arutyunov2-1/+6
Also add printing of set and exit pseudo-builtin command arguments for verb >= 2 as we do for normal builtins.
2020-05-27Add dump(ostream,script::lines) (partial implementation)Karen Arutyunov3-5/+5
2020-05-27Factor out generic script parsing/executing functionality from ↵Karen Arutyunov24-8093/+318
build2::test::script namespace
2020-05-27Initial support for parsing and dumping recipesBoris Kolpackov1-1/+1
2020-05-27Handle multi-curly-brace tokens in lexerBoris Kolpackov1-1/+1
2020-05-27Add lexer mode dataBoris Kolpackov2-3/+4
2020-05-27Add recognition for line-leading `%` as tokenBoris Kolpackov1-1/+1
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.