spec test index / oilshell.org
case | bash | mksh | osh | osh_ALT | description |
0 | pass | N-I | pass | pass | local -a |
details | |||||
1 | pass | N-I | pass | pass | declare -a |
details | |||||
2 | pass | pass | pass | pass | typeset -a a[1]=a a[3]=c |
3 | pass | pass | FAIL | FAIL | indexed LHS without spaces is allowed |
details | details | ||||
4 | pass | N-I | pass | pass | declare -f exit code indicates function existence |
details | |||||
5 | pass | N-I | pass | pass | declare -F prints function names |
details | |||||
6 | pass | N-I | pass | pass | declare -p |
details | |||||
7 | pass | pass | pass | pass | typeset -f |
8 | pass | BUG | pass | pass | typeset -p |
details | |||||
9 | ok | ok | pass | pass | typeset -r makes a string readonly |
details | details | ||||
10 | ok | N-I | pass | pass | typeset -ar makes it readonly |
details | details | ||||
11 | pass | pass | pass | pass | typeset -x makes it exported |
12 | pass | pass | pass | pass | Multiple assignments / array assignments on a line |
13 | ok | ok | pass | pass | Env bindings shouldn't contain array assignments |
details | details | ||||
14 | BUG | ok | pass | pass | syntax error in array assignment |
details | details | ||||
15 | pass | N-I | pass | pass | declare -g (bash-specific; bash-completion uses it) |
details |
47 passed, 6 ok, 7 known unimplemented, 2 known bugs, 1 failed, 0 skipped
mksh | 0 local -a stdout: stderr: _tmp/spec-bin/mksh: <stdin>[2]: syntax error: '(' unexpected |
mksh | 1 declare -a stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: '(' unexpected |
osh | 3 indexed LHS without spaces is allowed [osh stdout] Expected "['x', 'z']\n", got '[]\n' stdout: []stderr: a[1 * 1]=x a[ 1 + 2 ]=z ^~ [ stdin ]:1: Can't execute 'a[1': No such file or directory |
osh_ALT | 3 indexed LHS without spaces is allowed [osh_ALT stdout] Expected "['x', 'z']\n", got '[]\n' stdout: []stderr: a[1 * 1]=x a[ 1 + 2 ]=z ^~ [ stdin ]:1: Can't execute 'a[1': No such file or directory |
mksh | 4 declare -f exit code indicates function existence stdout: 127 127 127stderr: _tmp/spec-bin/mksh: <stdin>[2]: declare: not found _tmp/spec-bin/mksh: <stdin>[5]: declare: not found _tmp/spec-bin/mksh: <stdin>[8]: declare: not found |
mksh | 5 declare -F prints function names stdout: stderr: _tmp/spec-bin/mksh: <stdin>[6]: declare: not found |
mksh | 6 declare -p stdout: 127 127 127stderr: _tmp/spec-bin/mksh: <stdin>[2]: declare: not found _tmp/spec-bin/mksh: <stdin>[5]: declare: not found _tmp/spec-bin/mksh: <stdin>[8]: declare: not found |
mksh | 8 typeset -p stdout: 0 0 0stderr: |
bash | 9 typeset -r makes a string readonly stdout: status=1 status=1 status=1 status=1 status=1 status=1stderr: _tmp/spec-bin/bash: line 3: s1: readonly variable _tmp/spec-bin/bash: line 5: s2: readonly variable _tmp/spec-bin/bash: line 7: s1: readonly variable _tmp/spec-bin/bash: line 9: s2: readonly variable _tmp/spec-bin/bash: line 11: unset: s1: cannot unset: readonly variable _tmp/spec-bin/bash: line 13: unset: s2: cannot unset: readonly variable |
mksh | 9 typeset -r makes a string readonly stdout: stderr: _tmp/spec-bin/mksh: <stdin>[3]: read-only: s1 |
bash | 10 typeset -ar makes it readonly stdout: status=1 status=1 status=1 status=1 status=1 status=1stderr: _tmp/spec-bin/bash: line 3: array1: readonly variable _tmp/spec-bin/bash: line 5: array2: readonly variable _tmp/spec-bin/bash: line 7: array1: readonly variable _tmp/spec-bin/bash: line 9: array2: readonly variable _tmp/spec-bin/bash: line 11: unset: array1: cannot unset: readonly variable _tmp/spec-bin/bash: line 13: unset: array2: cannot unset: readonly variable |
mksh | 10 typeset -ar makes it readonly stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: '(' unexpected |
bash | 13 Env bindings shouldn't contain array assignments stdout: 1 None 3stderr: |
mksh | 13 Env bindings shouldn't contain array assignments stdout: 1 2 3stderr: |
bash | 14 syntax error in array assignment stdout: xstderr: _tmp/spec-bin/bash: line 1: 0+: syntax error: operand expected (error token is "+") |
mksh | 14 syntax error in array assignment stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: 0+: unexpected 'end of expression' |
mksh | 15 declare -g (bash-specific; bash-completion uses it) stdout: ['', '']stderr: _tmp/spec-bin/mksh: <stdin>[11]: declare: not found _tmp/spec-bin/mksh: <stdin>[11]: declare: not found _tmp/spec-bin/mksh: <stdin>[11]: declare: not found _tmp/spec-bin/mksh: <stdin>[11]: "foo": unexpected '"' _tmp/spec-bin/mksh: <stdin>[13]: "foo": unexpected '"' |