mirror of
https://github.com/ascii-boxes/boxes.git
synced 2024-12-12 18:01:14 +01:00
Added output filter feature to test runner for cross-platform test compatibility
This commit is contained in:
parent
f6c6a175b0
commit
b029347429
@ -1,6 +1,7 @@
|
|||||||
:ARGS
|
:ARGS
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*******/
|
/*******/
|
||||||
/* foo */
|
/* foo */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 10x5
|
-s 10x5
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/********/
|
/********/
|
||||||
/* foo */
|
/* foo */
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
:ARGS
|
:ARGS
|
||||||
-f nonexistent
|
-f nonexistent
|
||||||
:INPUT
|
:INPUT
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED-ERROR 1
|
:EXPECTED-ERROR 1
|
||||||
boxes: Couldn't open config file 'nonexistent' for input.
|
boxes: Couldn't open config file 'nonexistent' for input.
|
||||||
:EOF
|
:EOF
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
:ARGS
|
:ARGS
|
||||||
-s
|
-s
|
||||||
:INPUT
|
:INPUT
|
||||||
|
:OUTPUT-FILTER
|
||||||
|
1s/^.\+: /boxes: /
|
||||||
:EXPECTED-ERROR 1
|
:EXPECTED-ERROR 1
|
||||||
../src/boxes: option requires an argument -- 's'
|
boxes: option requires an argument -- 's'
|
||||||
Usage: boxes [options] [infile [outfile]]
|
Usage: boxes [options] [infile [outfile]]
|
||||||
Try `boxes -h' for more information.
|
Try `boxes -h' for more information.
|
||||||
:EOF
|
:EOF
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 15x5 -a hlvt
|
-s 15x5 -a hlvt
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* foo */
|
/* foo */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 15x5 -a hlvc
|
-s 15x5 -a hlvc
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 15x5 -a hlvb
|
-s 15x5 -a hlvb
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 15x5 -a hcvt
|
-s 15x5 -a hcvt
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* foo */
|
/* foo */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 15x5 -a hcvc
|
-s 15x5 -a hcvc
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 15x5 -a hcvb
|
-s 15x5 -a hcvb
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 15x5 -a hrvt
|
-s 15x5 -a hrvt
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* foo */
|
/* foo */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 15x5 -a hrvc
|
-s 15x5 -a hrvc
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 15x5 -a hrvb
|
-s 15x5 -a hrvb
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 15x5 -a l
|
-s 15x5 -a l
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 15x5 -a c
|
-s 15x5 -a c
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 15x5 -a r
|
-s 15x5 -a r
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -5,6 +5,7 @@ The row of 'b's shows how position is rounded down if necessary.
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -5,6 +5,7 @@ If no alignment option is given, text is aligned left and put in the top left co
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
:INPUT
|
:INPUT
|
||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* */
|
/* */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-a mistake
|
-a mistake
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED-ERROR 1
|
:EXPECTED-ERROR 1
|
||||||
boxes: Illegal text format -- mistake
|
boxes: Illegal text format -- mistake
|
||||||
:EOF
|
:EOF
|
@ -4,6 +4,7 @@
|
|||||||
XXXXX
|
XXXXX
|
||||||
XXXXX
|
XXXXX
|
||||||
XXXXX
|
XXXXX
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*********/
|
/*********/
|
||||||
/* XXXXX */
|
/* XXXXX */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
XXXXX
|
XXXXX
|
||||||
XXXXX
|
XXXXX
|
||||||
XXXXX
|
XXXXX
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*********/
|
/*********/
|
||||||
/* XXXXX */
|
/* XXXXX */
|
||||||
|
@ -6,6 +6,7 @@ a
|
|||||||
bbb
|
bbb
|
||||||
|
|
||||||
|
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
# a
|
# a
|
||||||
#
|
#
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/***********************/
|
/***********************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -5,6 +5,7 @@ Size takes precedence over padding, left padding is killed first
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/********/
|
/********/
|
||||||
/*aaa */
|
/*aaa */
|
||||||
|
@ -5,6 +5,7 @@ Size takes precedence over padding
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*******/
|
/*******/
|
||||||
/*aaa */
|
/*aaa */
|
||||||
|
@ -5,6 +5,7 @@ Input length takes precedence over size option
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*******/
|
/*******/
|
||||||
/*aaa */
|
/*aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/****************************/
|
/****************************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/\ /\ /\
|
/\ /\ /\
|
||||||
/\//\\/\ /\//\\/\ /\//\\/\
|
/\//\\/\ /\//\\/\ /\//\\/\
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/\ /\ /\
|
/\ /\ /\
|
||||||
/\//\\/\ /\//\\/\ /\//\\/\
|
/\//\\/\ /\//\\/\ /\//\\/\
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/\ /\ /\
|
/\ /\ /\
|
||||||
/\//\\/\ /\//\\/\ /\//\\/\
|
/\//\\/\ /\//\\/\ /\//\\/\
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/\ /\ /\ /\
|
/\ /\ /\ /\
|
||||||
/\//\\/\ /\//\\/\ /\//\\/\ /\//\\/\
|
/\//\\/\ /\//\\/\ /\//\\/\ /\//\\/\
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -2,8 +2,10 @@
|
|||||||
-s
|
-s
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
|
1s/^.\+: /boxes: /
|
||||||
:EXPECTED-ERROR 1
|
:EXPECTED-ERROR 1
|
||||||
../src/boxes: option requires an argument -- 's'
|
boxes: option requires an argument -- 's'
|
||||||
Usage: boxes [options] [infile [outfile]]
|
Usage: boxes [options] [infile [outfile]]
|
||||||
Try `boxes -h' for more information.
|
Try `boxes -h' for more information.
|
||||||
:EOF
|
:EOF
|
@ -2,6 +2,7 @@
|
|||||||
-s -2x3
|
-s -2x3
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED-ERROR 1
|
:EXPECTED-ERROR 1
|
||||||
boxes: invalid box size specification -- -2x3
|
boxes: invalid box size specification -- -2x3
|
||||||
:EOF
|
:EOF
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*********/
|
/*********/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*************/
|
/*************/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*********/
|
/*********/
|
||||||
/* aaa */
|
/* aaa */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
aaa
|
aaa
|
||||||
bbbb
|
bbbb
|
||||||
ccccc
|
ccccc
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*******/
|
/*******/
|
||||||
/*aaa */
|
/*aaa */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
-s 0x0
|
-s 0x0
|
||||||
:INPUT
|
:INPUT
|
||||||
foo
|
foo
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED-ERROR 1
|
:EXPECTED-ERROR 1
|
||||||
boxes: invalid box size specification -- 0x0
|
boxes: invalid box size specification -- 0x0
|
||||||
:EOF
|
:EOF
|
@ -3,6 +3,7 @@
|
|||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/**************/
|
/**************/
|
||||||
/* XXXXXX */
|
/* XXXXXX */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/**********/
|
/**********/
|
||||||
/* XXXXXX */
|
/* XXXXXX */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/**********/
|
/**********/
|
||||||
/* XXXXXX */
|
/* XXXXXX */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/**********/
|
/**********/
|
||||||
/* XXXXXX */
|
/* XXXXXX */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
XXXXXX
|
XXXXXX
|
||||||
XXX XXX
|
XXX XXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/***********/
|
/***********/
|
||||||
/* XXXXXX */
|
/* XXXXXX */
|
||||||
|
@ -5,6 +5,7 @@ Because input lines 1 and 3 are only 4 spaces, no tabs can be unexpanded!
|
|||||||
XXXXXX
|
XXXXXX
|
||||||
XXX XXX
|
XXX XXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/*******************/
|
/*******************/
|
||||||
/* XXXXXX */
|
/* XXXXXX */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
XXXXXX
|
XXXXXX
|
||||||
XXX XXX
|
XXX XXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/***************/
|
/***************/
|
||||||
/* XXXXXX */
|
/* XXXXXX */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
XXXXXX
|
XXXXXX
|
||||||
XXX XXX
|
XXX XXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/***************/
|
/***************/
|
||||||
/* XXXXXX */
|
/* XXXXXX */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/**********/
|
/**********/
|
||||||
/* XXXXXX */
|
/* XXXXXX */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/**********/
|
/**********/
|
||||||
/* XXXXXX */
|
/* XXXXXX */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
XXXXXX
|
XXXXXX
|
||||||
|
:OUTPUT-FILTER
|
||||||
:EXPECTED
|
:EXPECTED
|
||||||
/**********/
|
/**********/
|
||||||
/* XXXXXX */
|
/* XXXXXX */
|
||||||
|
@ -45,7 +45,7 @@ fi
|
|||||||
echo "Running test case: $testCaseFile"
|
echo "Running test case: $testCaseFile"
|
||||||
|
|
||||||
declare sectionName
|
declare sectionName
|
||||||
for sectionName in :ARGS :INPUT :EXPECTED :EOF; do
|
for sectionName in :ARGS :INPUT :OUTPUT-FILTER :EXPECTED :EOF; do
|
||||||
if [ $(grep -c ^$sectionName $testCaseFile) -ne 1 ]; then
|
if [ $(grep -c ^$sectionName $testCaseFile) -ne 1 ]; then
|
||||||
>&2 echo "Missing section $sectionName in test case '$testCaseFile'."
|
>&2 echo "Missing section $sectionName in test case '$testCaseFile'."
|
||||||
exit 4
|
exit 4
|
||||||
@ -59,11 +59,13 @@ fi
|
|||||||
|
|
||||||
declare -r testInputFile=${testCaseFile/%.txt/.input.tmp}
|
declare -r testInputFile=${testCaseFile/%.txt/.input.tmp}
|
||||||
declare -r testExpectationFile=${testCaseFile/%.txt/.expected.tmp}
|
declare -r testExpectationFile=${testCaseFile/%.txt/.expected.tmp}
|
||||||
|
declare -r testFilterFile=${testCaseFile/%.txt/.sed.tmp}
|
||||||
declare -r testOutputFile=${testCaseFile/%.txt/.out.tmp}
|
declare -r testOutputFile=${testCaseFile/%.txt/.out.tmp}
|
||||||
declare -r boxesArgs=$(cat $testCaseFile | sed -n '/^:ARGS/,+1p' | grep -v ^:INPUT | sed '1d')
|
declare -r boxesArgs=$(cat $testCaseFile | sed -n '/^:ARGS/,+1p' | grep -v ^:INPUT | sed '1d')
|
||||||
|
|
||||||
cat $testCaseFile | sed -n '/^:INPUT/,/^:EXPECTED\b.*$/p;' | sed '1d;$d' | tr -d '\r' > $testInputFile
|
cat $testCaseFile | sed -n '/^:INPUT/,/^:OUTPUT-FILTER/p;' | sed '1d;$d' | tr -d '\r' > $testInputFile
|
||||||
cat $testCaseFile | sed -n '/^:EXPECTED/,/^:EOF\b.*$/p;' | sed '1d;$d' | tr -d '\r' > $testExpectationFile
|
cat $testCaseFile | sed -n '/^:OUTPUT-FILTER/,/^:EXPECTED\b.*$/p;' | sed '1d;$d' | tr -d '\r' > $testFilterFile
|
||||||
|
cat $testCaseFile | sed -n '/^:EXPECTED/,/^:EOF/p;' | sed '1d;$d' | tr -d '\r' > $testExpectationFile
|
||||||
|
|
||||||
declare boxesBinary=../src/boxes.exe
|
declare boxesBinary=../src/boxes.exe
|
||||||
if [ ! -x $boxesBinary ]; then
|
if [ ! -x $boxesBinary ]; then
|
||||||
@ -75,7 +77,7 @@ export BOXES=../boxes-config
|
|||||||
|
|
||||||
cat $testInputFile | $boxesBinary $boxesArgs >$testOutputFile 2>&1
|
cat $testInputFile | $boxesBinary $boxesArgs >$testOutputFile 2>&1
|
||||||
declare -ir actualReturnCode=$?
|
declare -ir actualReturnCode=$?
|
||||||
cat $testOutputFile | tr -d '\r' | diff - $testExpectationFile
|
cat $testOutputFile | tr -d '\r' | sed -f $testFilterFile | diff - $testExpectationFile
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
>&2 echo "Error in test case: $testCaseFile (top: actual; bottom: expected)"
|
>&2 echo "Error in test case: $testCaseFile (top: actual; bottom: expected)"
|
||||||
exit 5
|
exit 5
|
||||||
@ -86,6 +88,7 @@ if [ $actualReturnCode -ne $expectedReturnCode ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
rm $testInputFile
|
rm $testInputFile
|
||||||
|
rm $testFilterFile
|
||||||
rm $testExpectationFile
|
rm $testExpectationFile
|
||||||
rm $testOutputFile
|
rm $testOutputFile
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user