spec test index / oilshell.org
130 passed, 12 ok, 3 known unimplemented, 15 known bugs, 1 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 |
zsh | 9 Env binding not allowed before compound command stdout: stderr: zsh: parse error near `for' |
zsh | 10 Trying to run keyword 'for' stdout: stderr: zsh: parse error near `for' |
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: |
zsh | 14 Env binding in readonly/declare disallowed stdout: v=Nonestderr: |
zsh | 15 assignments / array assignments not interpreted after 'echo' stdout: stderr: zsh: no matches found: b[0]=2 |
zsh | 16 dynamic local variables stdout: -y a=b- -- -y a=b- --stderr: |
osh | 16 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 |
osh_ALT | 16 dynamic local variables [osh_ALT stdout] Expected '-y a=b-\n--\n-y-\n-b-\n', got '' [osh_ALT status] Expected 0, got 2 stdout: stderr: local "$1" # Only x is assigned here ^ [ stdin ]:2: Variable names must be unquoted constants |
dash | 17 'local x' does not set variable stdout: stderr: _tmp/spec-bin/dash: 4: x: parameter not set |
zsh | 17 'local x' does not set variable stdout: stderr: |
dash | 18 'local -a x' does not set variable stdout: stderr: _tmp/spec-bin/dash: 3: local: -a: bad variable name |
zsh | 18 'local -a x' does not set variable stdout: stderr: |
dash | 19 '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 |
zsh | 19 'local x' and then array assignment stdout: ostderr: |
dash | 20 '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 | 20 '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 | 23 Reveal existence of "temp frame" (All shells disagree here!!!) stdout: x=temp-binding x=mutated-temp x=local x= x=mutated-tempstderr: |
bash | 23 Reveal existence of "temp frame" (All shells disagree here!!!) stdout: x=temp-binding x=mutated-temp x=local x=global x=globalstderr: |
mksh | 23 Reveal existence of "temp frame" (All shells disagree here!!!) stdout: x=temp-binding x=mutated-temp x=local x=mutated-temp x=mutated-tempstderr: |
dash | 24 Test above without 'local' (which is not POSIX) stdout: x=temp-binding x=mutated-temp x= x=stderr: |
bash | 24 Test above without 'local' (which is not POSIX) stdout: x=temp-binding x=mutated-temp x=global x=globalstderr: |
mksh | 24 Test above without 'local' (which is not POSIX) stdout: x=temp-binding x=mutated-temp x= x=stderr: |
mksh | 25 Using ${x-default} after unsetting local shadowing a global stdout: x=global x=local - operator = global :- operator = globalstderr: |
bash | 26 Using ${x-default} after unsetting a temp binding shadowing a global stdout: x=temp-binding x=local - operator = global :- operator = globalstderr: |
mksh | 26 Using ${x-default} after unsetting a temp binding shadowing a global stdout: x=temp-binding x=local - operator = temp-binding :- operator = temp-bindingstderr: |