diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-09-17 22:19:53 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-09-17 22:19:53 +0200 |
commit | 134de06341d7d7041e6a3cb8a70c2c3f12c2b6b5 (patch) | |
tree | 813743d66d30bf14ceaf3058124b894fb7995274 /build2/test/testscript | |
parent | 8fae2cdc10323498a20ed90a9a810e6e5a55f18f (diff) |
Update feature: Test description language (testscript)
Diffstat (limited to 'build2/test/testscript')
-rw-r--r-- | build2/test/testscript | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/build2/test/testscript b/build2/test/testscript index d7a70f6..cf64e49 100644 --- a/build2/test/testscript +++ b/build2/test/testscript @@ -26,6 +26,14 @@ Requirements * Ability to pass arguments from build files (how for multiple scripts?) Could use $0, $1, $*. +? if/else, loops (we will have ternary operator as part of eval context) + +* Multi-line comments (to disable a chunk of test; #\) + +* Ability to suppress output (/dev/null) + +* Ability not to clean up output (if failed) + Questions ========= @@ -41,6 +49,13 @@ Questions Maybe {}? Will need it not to clean up output files too early. Also var scope. +* What if we need to define some global variables for the entire script? + +* Ability to include testscripts (for grouping/organization purposes). Also + include common definitions? + +* Ability to redefine $0 (e.g., to src_base to run scripts)? + Notes ===== @@ -101,7 +116,7 @@ EOE ~ Output file redirects should be relative to out_base. Input? Could actually track created out files and use that if exists, and src otherwise. What if the test create a file without a redirect? Will need to "register" it - somehow for auto-cleanup. Maybe &<file>? + somehow for auto-cleanup. Maybe &<file>? Also for directories &<dir>/. ~ Will there be a way to combine stderr and stdout, could be useful sometimes (e.g., order of output relative to diagnostics). 2>& syntax? @@ -131,3 +146,18 @@ EOE ~ line continuation with \ ~ == != + +~ Specify named variables instead/in addition to arguments + + ...: test = test1 test2 + ...: test.test1.var1 = ... + +~ Perhaps the default variable type should be strings, not names? Thought + we reverse most things pretty well. + +~ CWD should probably be running tests in out_base (so if they create some + files). + +~ Clean up is tricky: sometimes we may want to keep it, but then how to clean + it up later (the test might fail if there is junk present). Maybe create + temp directory in out_base and run there? Will also help with parallel runs. |