aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2018-07-12Adjust modules test to maybe-cleanup .ii files (no longer there for VC)Boris Kolpackov1-1/+1
2018-06-20Regularize .gitignore filesKaren Arutyunov1-0/+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-24Remove target/scope irregularity workaroundsBoris Kolpackov3-5/+4
2018-05-19Update copyright yearKaren Arutyunov90-90/+90
2018-05-19Fix testscripts using types for testscript and manifest targetsKaren Arutyunov4-9/+9
2018-05-19Get rid of doc{version} and types for testscript and manifest in buildfilesKaren Arutyunov17-17/+17
2018-05-19Support for deriving target type from file name, handle testscript, buildfileBoris Kolpackov1-1/+1
In particular, instead of: exe{test}: test{testscript} We should now write: exe{test}: testscript
2018-05-16Redo testscript diagnostics not to rely on invalid pathsKaren Arutyunov1-3/+6
2018-05-03Regularize directory target/scope-specific variable assignment syntaxBoris Kolpackov7-6/+131
2018-04-27Redo run directive diagnostics not to rely on invalid pathsBoris Kolpackov1-2/+3
2018-04-27Add support for build hooksBoris Kolpackov2-0/+35
The following buildfiles are loaded (if present) at appropriate times from the out_root subdirectories of a project: build/bootstrap/pre-*.build # before loading bootstrap.build build/bootstrap/post-*.build # after loading bootstrap.build build/root/pre-*.build # before loading root.build build/root/post-*.build # after loading root.build
2018-04-26Fix bug in directive/run testBoris Kolpackov1-4/+4
2018-04-26Implement run buildfile directiveBoris Kolpackov1-0/+36
Now we can do: run echo 'foo = bar' print $foo
2018-03-19Add missed file to builtins tests buildfileKaren Arutyunov1-1/+1
2018-03-19Add support for cp builtin -p optionKaren Arutyunov2-3/+73
2018-02-14Enable modules support only for VC 15u5 and up, drop hacks for earlierBoris Kolpackov1-48/+10
2018-02-09Fix broken test (and few other things)Boris Kolpackov11-64/+48
2018-02-05Add tests for auto-generated test inputs/outputsBoris Kolpackov11-3/+153
2018-02-03Get rid of action rule override semanticsBoris Kolpackov2-3/+2
Instead we now have two more or less separate match states for outer and inner parts of an action.
2018-01-05Add cxx.module_name alias for cc.module_nameBoris Kolpackov1-2/+2
2017-12-16Redo string/stream representation of dir{} name/targetBoris Kolpackov1-8/+8
Now instead of: dir{foo/bar/} We get: foo/dir{bar/} Which feels more consistent with how we print other names/targets. That is, "directory bar/ in directory foo/" similar how foo/exe{bar} is "executable bar in directory foo/".
2017-11-30Adapt testscripts to build2 output changesKaren Arutyunov1-4/+4
2017-11-22Enable module re-export tests for ClangBoris Kolpackov1-1/+0
This support has been merged into trunk.
2017-11-20Add test for prerequisite-specific variablesBoris Kolpackov2-0/+76
2017-11-10Add $directory(), $base(), $leaf() and $extension() functionsKaren Arutyunov1-0/+65
2017-11-09Add support for for-loopBoris Kolpackov2-0/+117
The semantics is similar to the C++11 range-based for: list = 1 2 3 for i: $list print $i Note that there is no scoping of any kind for the loop variable ('i' in the above example). See tests/loop/for.test for some examples/ideas. In the future the plan is to also support more general while-loop as well as break and continue.
2017-10-03Adapt to modularization of libbutlKaren Arutyunov1-4/+4
2017-09-29Allow pattern group to start with inclusionKaren Arutyunov1-29/+85
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-08-02Change cc.preprocessed to {c,cxx}.preprocessedBoris Kolpackov2-8/+8
2017-07-28Implement support for linking whole archiveBoris Kolpackov1-6/+28
2017-07-27Initial infrastructure for utility librariesBoris Kolpackov2-0/+62
2017-07-24Change dir_path/string concatenation semanticsKaren Arutyunov2-1/+74
2017-07-22Fix testscript touch builtin some moreBoris Kolpackov1-3/+1
2017-07-22Fix testscript touch builtin testKaren Arutyunov1-1/+1
2017-07-21Fix and improve modules testBoris Kolpackov1-1/+3
2017-07-17Allow independent wildcard patterns in a groupKaren Arutyunov1-4/+9
2017-07-13Add hxx prerequisite type in test buildfilesKaren Arutyunov2-2/+2
2017-07-12Make use of wildcards in buildfilesKaren Arutyunov8-8/+7
2017-06-29Pass entire BMI graph, not only direct imports and re-exportsBoris Kolpackov1-0/+39
All current implementations require access to the entire graph (though Clang embeds the file references so we don't need to pass the options).
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-24Make VC compatible with 'export module M;' by fixing up preprocessed outputBoris Kolpackov1-0/+11
2017-06-22Add extra support for symbol exporting in modularized projectsBoris Kolpackov1-0/+32
Since modules don't see each other's macros, we can use a single, keyword- like macro for dll-exporting that is managed by the build system (so no need for an "export" header). For example: cxx.features.symexport = true export __symexport void f ();
2017-06-21Add support for $envvar() functionKaren Arutyunov1-0/+61
2017-06-20Build both variants of libraries in modules testBoris Kolpackov1-0/+1
2017-06-19Make use of exit builtin in modules testBoris Kolpackov1-5/+1
2017-06-19Add support for exit testscript builtinKaren Arutyunov2-1/+401