spec test index / oilshell.org
| status | osh | osh_.py | osh_.cc | |
| pass | 8 | 8 | 5 | |
| ok | 5 | 5 | 1 | |
| FAIL | 3 | 3 | 10 | |
| 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 | FAIL | undef and @P @Q @a |
| details | details | details | ||
| 11 | ok | ok | FAIL | argv array and @P @Q @a |
| details | details | details | ||
| 12 | ok | ok | FAIL | assoc array and @P @Q @a |
| details | details | details | ||
| 13 | ok | ok | FAIL | ${!var[@]@X} |
| details | details | details | ||
| 14 | pass | pass | FAIL | ${#var@X} is a parse error |
| details | ||||
| 15 | FAIL | FAIL | FAIL | ${!A@a} and ${!A[@]@a} |
| details | details | details |
21 passed, 11 OK, 0 not implemented, 0 BUG, 16 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: mycpp/mylib.h:317: Str* Str::lower(): Assertion `0' failed. |
| 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: mycpp/mylib.h:313: Str* Str::upper(): Assertion `0' failed. |
| 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
dumb_alloc:
gNumNew = 1739
gNumDelete = 114
gMemPos = 60640
gNumMalloc = 65
gNumFree = 0
gMemPos2 = 10240
|
| 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*' |
| 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 *)
dumb_alloc:
gNumNew = 2466
gNumDelete = 241
gMemPos = 81616
gNumMalloc = 333
gNumFree = 0
gMemPos2 = 14592
|
| 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 [osh_.cc stdout] Expected "\nstatus=0\n''\nstatus=0\n\nstatus=0\n", got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/pylib_path_stat.h:10: bool path_stat::exists(Str*): Assertion `0' failed. |
| 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 [osh_.cc stdout] Expected "status=1\na $'b\\\\nc'\nstatus=0\na\nstatus=0\n", got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/pylib_path_stat.h:10: bool path_stat::exists(Str*): Assertion `0' failed. |
| 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 [osh_.cc stdout] Expected 'status=1\nstatus=1\nA - A\nstatus=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/pylib_path_stat.h:10: bool path_stat::exists(Str*): Assertion `0' failed. |
| 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} [osh_.cc stdout] Expected "fail\n'x y'\na\n", got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/pylib_path_stat.h:10: bool path_stat::exists(Str*): Assertion `0' failed. |
| osh_.cc | 14 ${#var@X} is a parse error [osh_.cc stdout] Expected 'fail\nfail\nfail\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/pylib_path_stat.h:10: bool path_stat::exists(Str*): Assertion `0' failed. |
| 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
dumb_alloc:
gNumNew = 1976
gNumDelete = 169
gMemPos = 68048
gNumMalloc = 113
gNumFree = 0
gMemPos2 = 11008
|