spec test index / oilshell.org
106 passed, 13 ok, 26 known unimplemented, 5 known bugs, 2 failed, 0 skipped
mksh | 2 Env binding can use preceding bindings, but not subsequent ones stdout: foo [][] bazstderr: |
dash | 7 Multiple temporary envs on the stack stdout: f [] [A] --- g() --- None None None None p --- f() --- None None None None Nonestderr: |
mksh | 7 Multiple temporary envs on the stack stdout: f [] [A] --- g() --- f [] [A] None p --- f() --- f [] [A] None Nonestderr: |
dash | 9 Env binding not allowed before compound command stdout: stderr: _tmp/spec-bin/dash: 1: for: not found |
mksh | 9 Env binding not allowed before compound command stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: 'do' unexpected |
dash | 14 Env binding in readonly/declare disallowed stdout: v=Nonestderr: |
bash | 14 Env binding in readonly/declare disallowed stdout: v=Nonestderr: |
mksh | 14 Env binding in readonly/declare disallowed stdout: v=Nonestderr: |
dash | 15 local -a stdout: stderr: _tmp/spec-bin/dash: 2: Syntax error: "(" unexpected (expecting "}") |
mksh | 15 local -a stdout: stderr: _tmp/spec-bin/mksh: <stdin>[2]: syntax error: '(' unexpected |
dash | 16 declare -a stdout: stderr: _tmp/spec-bin/dash: 1: Syntax error: "(" unexpected |
mksh | 16 declare -a stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: '(' unexpected |
dash | 17 typeset -a a[1]=a a[3]=c stdout: stderr: _tmp/spec-bin/dash: 1: typeset: not found _tmp/spec-bin/dash: 2: Bad substitution |
dash | 18 indexed LHS without spaces is allowed stdout: stderr: _tmp/spec-bin/dash: 1: a[1: not found _tmp/spec-bin/dash: 2: Bad substitution |
osh | 18 indexed LHS without spaces is allowed [osh stdout] Expected "['x', 'z']\n", got '[]\n' stdout: []stderr: osh error: 'a[1': No such file or directory |
dash | 19 declare -f exit code indicates function existence stdout: 127 127 127stderr: _tmp/spec-bin/dash: 2: declare: not found _tmp/spec-bin/dash: 5: declare: not found _tmp/spec-bin/dash: 8: declare: not found |
mksh | 19 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 |
dash | 20 declare -F prints function names stdout: stderr: _tmp/spec-bin/dash: 6: declare: not found |
mksh | 20 declare -F prints function names stdout: stderr: _tmp/spec-bin/mksh: <stdin>[6]: declare: not found |
dash | 21 declare -p stdout: 127 127 127stderr: _tmp/spec-bin/dash: 2: declare: not found _tmp/spec-bin/dash: 5: declare: not found _tmp/spec-bin/dash: 8: declare: not found |
mksh | 21 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 |
dash | 22 typeset -f stdout: 127 127 127stderr: _tmp/spec-bin/dash: 1: typeset: not found _tmp/spec-bin/dash: 4: typeset: not found _tmp/spec-bin/dash: 7: typeset: not found |
dash | 23 typeset -p stdout: 127 127 127stderr: _tmp/spec-bin/dash: 2: typeset: not found _tmp/spec-bin/dash: 5: typeset: not found _tmp/spec-bin/dash: 8: typeset: not found |
mksh | 23 typeset -p stdout: 0 0 0stderr: |
dash | 24 typeset -r makes a string readonly stdout: status=0 status=0 status=127 status=127 status=0 status=0stderr: _tmp/spec-bin/dash: 1: typeset: not found _tmp/spec-bin/dash: 2: typeset: not found _tmp/spec-bin/dash: 7: s1+=e: not found _tmp/spec-bin/dash: 9: s2+=f: not found |
bash | 24 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 | 24 typeset -r makes a string readonly stdout: stderr: _tmp/spec-bin/mksh: <stdin>[3]: read-only: s1 |
dash | 25 typeset -ar makes it readonly stdout: stderr: _tmp/spec-bin/dash: 1: Syntax error: "(" unexpected |
bash | 25 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 | 25 typeset -ar makes it readonly stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: syntax error: '(' unexpected |
dash | 26 typeset -x makes it exported stdout: Nonestderr: _tmp/spec-bin/dash: 1: typeset: not found |
dash | 27 Multiple assignments / array assignments on a line stdout: stderr: _tmp/spec-bin/dash: 1: b[0+0]=2: not found |
dash | 29 Env bindings shouldn't contain array assignments stdout: stderr: _tmp/spec-bin/dash: 1: b[0]=2: not found |
bash | 29 Env bindings shouldn't contain array assignments stdout: 1 None 3stderr: |
mksh | 29 Env bindings shouldn't contain array assignments stdout: 1 2 3stderr: |
dash | 30 syntax error in array assignment stdout: stderr: _tmp/spec-bin/dash: 1: b[0+]=y: not found |
bash | 30 syntax error in array assignment stdout: xstderr: _tmp/spec-bin/bash: line 1: 0+: syntax error: operand expected (error token is "+") |
mksh | 30 syntax error in array assignment stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: 0+: unexpected 'end of expression' |
osh | 31 dynamic local variables [osh stdout] Expected '[y a=b]\n[]\n[y]\n[b]\n', got '' [osh status] Expected 0, got 2 stdout: stderr: local "$1" # Only x is assigned here ^ [ stdin ]:2: Variable names must be unquoted constants |
dash | 32 'local x' does not set variable stdout: stderr: _tmp/spec-bin/dash: 4: x: parameter not set |
dash | 33 'local -a x' does not set variable stdout: stderr: _tmp/spec-bin/dash: 3: local: -a: bad variable name |
dash | 34 'local x' and then array assignment stdout: stderr: _tmp/spec-bin/dash: 3: x[3]=foo: not found _tmp/spec-bin/dash: 4: Bad substitution |
dash | 35 'declare -A' and then dict assignment stdout: stderr: _tmp/spec-bin/dash: 1: declare: not found _tmp/spec-bin/dash: 3: foo[bar]=value: not found _tmp/spec-bin/dash: 4: Bad substitution |
mksh | 35 'declare -A' and then dict assignment stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: declare: not found _tmp/spec-bin/mksh: <stdin>[3]: "bar": unexpected '"' |
dash | 36 declare -g (bash-specific; bash-completion uses it) stdout: ['', '']stderr: _tmp/spec-bin/dash: 2: declare: not found _tmp/spec-bin/dash: 3: declare: not found _tmp/spec-bin/dash: 4: declare: not found _tmp/spec-bin/dash: 5: dict[foo]=bar: not found _tmp/spec-bin/dash: 6: declare: not found _tmp/spec-bin/dash: 7: localdict[spam]=Eggs: not found _tmp/spec-bin/dash: 1: eval: declare: not found _tmp/spec-bin/dash: 9: ev[ev1]=ev2: not found _tmp/spec-bin/dash: 13: Bad substitution |
mksh | 36 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 '"' |