summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-12-17 17:18:16 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-12-17 17:18:16 +0200
commitdf70b9407714ea9846078c3f727977c501ad2349 (patch)
tree08cf741e2af06c69d38540eb823a3c5286efb16a
parentcee59eb9d872acbbf973e8f8f9a05a8c9cb9fb44 (diff)
Implement test description language (testscript)
-rw-r--r--reference/build2/test/testscript/testscript (renamed from build2/test/testscript/testscript)34
1 files changed, 17 insertions, 17 deletions
diff --git a/build2/test/testscript/testscript b/reference/build2/test/testscript/testscript
index b61280c..1621389 100644
--- a/build2/test/testscript/testscript
+++ b/reference/build2/test/testscript/testscript
@@ -1,40 +1,40 @@
-- Test description language (testscript) [feature]
++ Test description language (testscript) [feature]
Requirements
============
-* Run multiple tests
++ Run multiple tests
-* Multiple testscript files (to group related test)
++ Multiple testscript files (to group related test)
-* Specify exit status (optional, expect 0 by default).
++ Specify exit status (optional, expect 0 by default).
-* Run pre/post test actions (setups/teardowns, e.g., database schema creation).
++ Run pre/post test actions (setups/teardowns, e.g., database schema creation).
-* Test input (optional)
++ Test input (optional)
-* Test stdout output (to compare to, optional)
++ Test stdout output (to compare to, optional)
-* Test stderr output (to compare to, optional)
++ Test stderr output (to compare to, optional)
-* Test description
++ Test description
-* Create (and automatically clean up) input/output files
++ Create (and automatically clean up) input/output files
-? Variable expansion, looked up on target in buildfile
++ Variable expansion, looked up on target in buildfile
-* Ability to pass arguments from build files (how for multiple scripts?)
++ Ability to pass arguments from build files (how for multiple scripts?)
Could use $0, $1, $*.
* Ability to pass arguments from command line.
-? if/else, loops (we will have ternary operator as part of eval context)
++ if/else, loops (we will have ternary operator as part of eval context)
-* Multi-line comments (to disable a chunk of test; #\)
++ Multi-line comments (to disable a chunk of test; #\)
-* Ability to suppress output (/dev/null)
++ Ability to suppress output (/dev/null)
-* Ability not to clean up output (if failed)
++ Ability not to clean up output (if failed)
* This should be consistent/uniform with how we handle simple tests without
testscripts (i.e., perhaps they can be treated "as if" they had a one-line
@@ -80,7 +80,7 @@ Notes
=====
* If expected exit status is not 0, then probably makes sense to suppress
- stderr output if there is no stderr comparison.
+ stderr output if there is no stderr comparison. No, could be unexpected.
Syntax
======