summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build2/test/testscript32
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.