spec test index / oilshell.org
status | osh | osh_.py | osh_.cc | |
pass | 8 | 8 | 6 | |
ok | 5 | 5 | 5 | |
FAIL | 3 | 3 | 5 | |
total | 16 | 16 | 16 | |
case | osh | osh_.py | osh_.cc | description |
0 | pass | pass | FAIL | Lower Case with , and ,, |
details | ||||
1 | pass | pass | FAIL | Upper Case with ^ and ^^ |
details | ||||
2 | FAIL | FAIL | FAIL | Lower Case with constant string (VERY WEIRD) |
details | details | details | ||
3 | FAIL | FAIL | FAIL | Lower Case glob |
details | details | details | ||
4 | pass | pass | pass | ${x@Q} |
5 | ok | ok | ok | ${array@Q} and ${array[@]@Q} |
details | details | details | ||
6 | pass | pass | pass | ${!prefix@} ${!prefix*} yields sorted array of var names |
7 | pass | pass | pass | ${!prefix@} matches var name (regression) |
8 | pass | pass | pass | ${var@a} for attributes |
9 | pass | pass | pass | ${var@a} error conditions |
10 | ok | ok | ok | undef and @P @Q @a |
details | details | details | ||
11 | ok | ok | ok | argv array and @P @Q @a |
details | details | details | ||
12 | ok | ok | ok | assoc array and @P @Q @a |
details | details | details | ||
13 | ok | ok | ok | ${!var[@]@X} |
details | details | details | ||
14 | pass | pass | pass | ${#var@X} is a parse error |
15 | FAIL | FAIL | FAIL | ${!A@a} and ${!A[@]@a} |
details | details | details |
22 passed, 15 OK, 0 not implemented, 0 BUG, 11 failed, 0 timeouts, 0 cases skipped 3 failed under osh
osh_.cc | 0 Lower Case with , and ,, [osh_.cc stdout] Expected 'aBC DEF\nabc def\nempty=\nempty=\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt.stripped: mycpp/mylib.h:345: Str* Str::lower(): Assertion `0' failed. timeout: the monitored command dumped core |
osh_.cc | 1 Upper Case with ^ and ^^ [osh_.cc stdout] Expected 'Abc def\nABC DEF\nempty=\nempty=\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt.stripped: mycpp/mylib.h:341: Str* Str::upper(): Assertion `0' failed. timeout: the monitored command dumped core |
osh | 2 Lower Case with constant string (VERY WEIRD) [osh stdout] Expected 'aAA ABC DEF\naaa aBC DEF\n', got '' [osh status] Expected 0, got 1 stdout: stderr: echo ${x,A} ^ [ stdin ]:2: fatal: Id.VOp1_Comma can't have an argument |
osh_.py | 2 Lower Case with constant string (VERY WEIRD) [osh_.py stdout] Expected 'aAA ABC DEF\naaa aBC DEF\n', got '' [osh_.py status] Expected 0, got 1 stdout: stderr: echo ${x,A} ^ [ stdin ]:2: fatal: Id.VOp1_Comma can't have an argument |
osh_.cc | 2 Lower Case with constant string (VERY WEIRD) [osh_.cc stdout] Expected 'aAA ABC DEF\naaa aBC DEF\n', got '' [osh_.cc status] Expected 0, got 1 stdout: stderr: echo ${x,A} ^~~~ [ stdin ]:2: fatal: Id.VOp1_Comma can't have an argument |
osh | 3 Lower Case glob [osh stdout] Expected 'ABC DEF\nABC deF\n', got '' [osh status] Expected 0, got 1 stdout: stderr: FATAL: NotImplementedError('Id.VOp1_Comma',) |
osh_.py | 3 Lower Case glob [osh_.py stdout] Expected 'ABC DEF\nABC deF\n', got '' [osh_.py status] Expected 0, got 1 stdout: stderr: osh fatal error: Id.VOp1_Comma |
osh_.cc | 3 Lower Case glob [osh_.cc stdout] Expected 'ABC DEF\nABC deF\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: terminate called after throwing an instance of 'NotImplementedError*' timeout: the monitored command dumped core |
osh | 5 ${array@Q} and ${array[@]@Q} stdout: x $'y\\nz' xstderr: echo ${array@Q} ^~ [ stdin ]:6: fatal: Array 'array' can't be referred to as a scalar (without @ or *) |
osh_.py | 5 ${array@Q} and ${array[@]@Q} stdout: x $'y\\nz' xstderr: echo ${array@Q} ^~ [ stdin ]:6: fatal: Array 'array' can't be referred to as a scalar (without @ or *) |
osh_.cc | 5 ${array@Q} and ${array[@]@Q} stdout: x $'y\\nz' xstderr: echo ${array@Q} ^~~~ [ stdin ]:6: fatal: Array 'array' can't be referred to as a scalar (without @ or *) |
osh | 10 undef and @P @Q @a stdout: status=0 '' status=0 status=0stderr: |
osh_.py | 10 undef and @P @Q @a stdout: status=0 '' status=0 status=0stderr: |
osh_.cc | 10 undef and @P @Q @a stdout: status=0 '' status=0 status=0stderr: |
osh | 11 argv array and @P @Q @a stdout: status=1 a $'b\\nc' status=0 a status=0stderr: echo ${@@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray |
osh_.py | 11 argv array and @P @Q @a stdout: status=1 a $'b\\nc' status=0 a status=0stderr: echo ${@@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray |
osh_.cc | 11 argv array and @P @Q @a stdout: status=1 a $'b\\nc' status=0 a status=0stderr: echo ${@@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray |
osh | 12 assoc array and @P @Q @a stdout: status=1 status=1 A - A status=0stderr: declare -A A=(["x"]="y"); echo ${A@P} - ${A[@]@P} ^~ [ -c flag ]:1: fatal: Array 'A' can't be referred to as a scalar (without @ or *) declare -A A=(["x"]="y"); echo ${A@Q} - ${A[@]@Q} ^~ [ -c flag ]:1: fatal: Array 'A' can't be referred to as a scalar (without @ or *) |
osh_.py | 12 assoc array and @P @Q @a stdout: status=1 status=1 A - A status=0stderr: declare -A A=(["x"]="y"); echo ${A@P} - ${A[@]@P} ^~ [ -c flag ]:1: fatal: Array 'A' can't be referred to as a scalar (without @ or *) declare -A A=(["x"]="y"); echo ${A@Q} - ${A[@]@Q} ^~ [ -c flag ]:1: fatal: Array 'A' can't be referred to as a scalar (without @ or *) |
osh_.cc | 12 assoc array and @P @Q @a stdout: status=1 status=1 A - A status=0stderr: declare -A A=(["x"]="y"); echo ${A@P} - ${A[@]@P} ^~~~ [ -c flag ]:1: fatal: Array 'A' can't be referred to as a scalar (without @ or *) declare -A A=(["x"]="y"); echo ${A@Q} - ${A[@]@Q} ^~~~ [ -c flag ]:1: fatal: Array 'A' can't be referred to as a scalar (without @ or *) |
osh | 13 ${!var[@]@X} stdout: fail 'x y' astderr: declare -A A=(["x"]="y"); echo ${!A[@]@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray |
osh_.py | 13 ${!var[@]@X} stdout: fail 'x y' astderr: declare -A A=(["x"]="y"); echo ${!A[@]@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray |
osh_.cc | 13 ${!var[@]@X} stdout: fail 'x y' astderr: declare -A A=(["x"]="y"); echo ${!A[@]@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray |
osh | 15 ${!A@a} and ${!A[@]@a} [osh stdout] Expected 'x=\nx=\n', got 'x=a\n' [osh status] Expected 0, got 1 stdout: x=astderr: echo x=${!A@a} ^~~~ [ stdin ]:3: fatal: Indirect expansion of assoc array |
osh_.py | 15 ${!A@a} and ${!A[@]@a} [osh_.py stdout] Expected 'x=\nx=\n', got 'x=a\n' [osh_.py status] Expected 0, got 1 stdout: x=astderr: echo x=${!A@a} ^~~~ [ stdin ]:3: fatal: Indirect expansion of assoc array |
osh_.cc | 15 ${!A@a} and ${!A[@]@a} [osh_.cc stdout] Expected 'x=\nx=\n', got 'x=a\n' [osh_.cc status] Expected 0, got 1 stdout: x=astderr: echo x=${!A@a} ^~~~ [ stdin ]:3: fatal: Indirect expansion of assoc array |