spec test index / oilshell.org
status | dash | bash | mksh | osh | |
pass | 2 | 7 | 3 | 4 | |
ok | 5 | 2 | 6 | 0 | |
N-I | 1 | 0 | 0 | 0 | |
BUG | 1 | 0 | 0 | 0 | |
FAIL | 0 | 0 | 0 | 5 | |
total | 9 | 9 | 9 | 9 | |
case | dash | bash | mksh | osh | description |
0 | pass | ok | pass | FAIL | set -o verbose prints unevaluated code |
details | details | ||||
1 | BUG | pass | pass | FAIL | xtrace with whitespace and quotes |
details | details | ||||
2 | N-I | ok | pass | FAIL | CASE: xtrace with newlines |
details | details | details | |||
3 | pass | pass | ok | pass | xtrace written before command executes |
details | |||||
4 | ok | pass | ok | FAIL | PS4 is scoped |
details | details | details | |||
5 | ok | pass | ok | FAIL | xtrace with variables in PS4 |
details | details | details | |||
6 | ok | pass | ok | pass | PS4 with unterminated ${ |
details | details | ||||
7 | ok | pass | ok | pass | PS4 with unterminated $( |
details | details | ||||
8 | ok | pass | ok | pass | PS4 with runtime error |
details | details |
16 passed, 13 OK, 1 not implemented, 1 BUG, 5 failed, 0 timeouts, 0 cases skipped 5 failed under osh
bash | 0 set -o verbose prints unevaluated code stdout: foo barstderr: x=foo y=bar echo $x echo $(echo $y) |
osh | 0 set -o verbose prints unevaluated code [osh stderr] Expected 'x=foo\ny=bar\necho $x\necho $(echo $y)\n', got 'Warning: set -o verbose not implemented\n' stdout: foo barstderr: Warning: set -o verbose not implemented |
dash | 1 xtrace with whitespace and quotes stdout: 1 2 ' "stderr: + echo 1 2 ' " |
osh | 1 xtrace with whitespace and quotes [osh stderr] Expected '+ echo \'1 2\' \\\' \'"\'\n', got '+ echo \'1 2\' "\'" \'"\'\n' stdout: 1 2 ' "stderr: + echo '1 2' "'" '"' |
dash | 2 CASE: xtrace with newlines stdout: $[ ]stderr: + echo $[\n] |
bash | 2 CASE: xtrace with newlines stdout: [ ]stderr: + echo '[ ]' |
osh | 2 CASE: xtrace with newlines [osh stderr] Expected u"+ echo $'[\\n]'\n", got "+ echo '[\\n]'\n" stdout: [ ]stderr: + echo '[\n]' |
mksh | 3 xtrace written before command executes stdout: stderr: + >&2 + echo one one + >&2 + echo two two |
dash | 4 PS4 is scoped stdout: one func twostderr: + echo one + f + local PS4=- - echo func + echo two |
mksh | 4 PS4 is scoped stdout: one func twostderr: + echo one + f + typeset 'PS4=- ' - echo func + echo two |
osh | 4 PS4 is scoped [osh stderr] Expected '+ echo one\n+ f\n- echo func\n+ echo two\n', got "+ echo one\n+ f\n+ 'TODO: assignment builtin'\n- echo func\n+ echo two\n" stdout: one func twostderr: + echo one + f + 'TODO: assignment builtin' - echo func + echo two |
dash | 5 xtrace with variables in PS4 stdout: one twostderr: +1:x=1 +1:echo one +2:x=2 +2:echo two |
mksh | 5 xtrace with variables in PS4 stdout: one twostderr: +:x=1 +1:echo one +1:x=2 +2:echo two |
osh | 5 xtrace with variables in PS4 [osh stderr] Expected '+1:echo one\n+2:echo two\n', got '+1:(lvalue.Named name:x spids:[11]) = (value.Str s:1)\n+1:echo one\n+2:(lvalue.Named name:x spids:[21]) = (value.Str s:2)\n+2:echo two\n' stdout: one twostderr: +1:(lvalue.Named name:x spids:[11]) = (value.Str s:1) +1:echo one +2:(lvalue.Named name:x spids:[21]) = (value.Str s:2) +2:echo two |
dash | 6 PS4 with unterminated ${ stdout: stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 1: Syntax error: Missing '}' |
mksh | 6 PS4 with unterminated ${ stdout: stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: no closing quote |
dash | 7 PS4 with unterminated $( stdout: stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 1: Syntax error: end of file unexpected (expecting ")") |
mksh | 7 PS4 with unterminated $( stdout: stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: syntax error: '(' unmatched |
dash | 8 PS4 with runtime error stdout: stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 4: arithmetic expression: division by zero: " 1 / 0 " |
mksh | 8 PS4 with runtime error stdout: stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[4]: 1 / 0 : zero divisor |