spec test index / oilshell.org
23 passed, 57 OK, 14 not implemented, 4 BUG, 0 failed, 0 timeouts, 0 cases skipped
| zsh | 0 [bash_unset] local-unset / dynamic-unset for localvar stdout: [global,local,(unset)] v: (unset) [global,local,(unlocal)] v: (unset)stderr:  | 
| mksh | 0 [bash_unset] local-unset / dynamic-unset for localvar stdout: [global,local,(unset)] v: global [global,local,(unlocal)] v: globalstderr:  | 
| ash | 0 [bash_unset] local-unset / dynamic-unset for localvar stdout: [global,local,(unset)] v: (unset) [global,local,(unlocal)] v: (unset)stderr:  | 
| dash | 0 [bash_unset] local-unset / dynamic-unset for localvar stdout: [global,local,(unset)] v: (unset) [global,local,(unlocal)] v: (unset)stderr:  | 
| yash | 0 [bash_unset] local-unset / dynamic-unset for localvar stdout: [global,local,(unset)] v: global [global,local,(unlocal)] v: globalstderr:  | 
| osh | 0 [bash_unset] local-unset / dynamic-unset for localvar stdout: [global,local,(unset)] v: global [global,local,(unlocal)] v: globalstderr:  | 
| bash-4 | 1 [bash_unset] local-unset / dynamic-unset for localvar (mutated from tempenv) stdout: [global,tempenv,local,(unset)] v: global [global,tempenv,local,(unlocal)] v: globalstderr:  | 
| zsh | 1 [bash_unset] local-unset / dynamic-unset for localvar (mutated from tempenv) stdout: [global,tempenv,local,(unset)] v: (unset) [global,tempenv,local,(unlocal)] v: (unset)stderr:  | 
| mksh | 1 [bash_unset] local-unset / dynamic-unset for localvar (mutated from tempenv) stdout: [global,tempenv,local,(unset)] v: tempenv [global,tempenv,local,(unlocal)] v: tempenvstderr:  | 
| ash | 1 [bash_unset] local-unset / dynamic-unset for localvar (mutated from tempenv) stdout: [global,tempenv,local,(unset)] v: (unset) [global,tempenv,local,(unlocal)] v: (unset)stderr:  | 
| dash | 1 [bash_unset] local-unset / dynamic-unset for localvar (mutated from tempenv) stdout: [global,tempenv,local,(unset)] v: (unset) [global,tempenv,local,(unlocal)] v: (unset)stderr:  | 
| yash | 1 [bash_unset] local-unset / dynamic-unset for localvar (mutated from tempenv) stdout: [global,tempenv,local,(unset)] v: tempenv [global,tempenv,local,(unlocal)] v: tempenvstderr:  | 
| osh | 1 [bash_unset] local-unset / dynamic-unset for localvar (mutated from tempenv) stdout: [global,tempenv,local,(unset)] v: tempenv [global,tempenv,local,(unlocal)] v: tempenvstderr:  | 
| zsh | 2 [bash_unset] local-unset / dynamic-unset for tempenv stdout: [global,tempenv,(unset)] v: (unset) [global,tempenv,(unlocal)] v: (unset)stderr:  | 
| mksh | 2 [bash_unset] local-unset / dynamic-unset for tempenv stdout: [global,tempenv,(unset)] v: (unset) [global,tempenv,(unlocal)] v: (unset)stderr:  | 
| ash | 2 [bash_unset] local-unset / dynamic-unset for tempenv stdout: [global,tempenv,(unset)] v: (unset) [global,tempenv,(unlocal)] v: (unset)stderr:  | 
| dash | 2 [bash_unset] local-unset / dynamic-unset for tempenv stdout: [global,tempenv,(unset)] v: (unset) [global,tempenv,(unlocal)] v: (unset)stderr:  | 
| bash-4 | 3 [bash_unset] function call with tempenv vs tempenv-eval stdout: [global] v: global [global,local] v: (unset) [global,local+unset] v: (unset) [global,local+unlocal] v: global [global,tempenv] v: tempenv [global,tempenv,local] v: tempenv [global,tempenv,local+unset] v: global [global,tempenv,local+unlocal] v: global [global,tempenv,(eval)] v: tempenv [global,tempenv,(eval),local] v: tempenv [global,tempenv,(eval),local+unset] v: (unset) [global,tempenv,(eval),local+unlocal] v: tempenvstderr:  | 
| zsh | 3 [bash_unset] function call with tempenv vs tempenv-eval stdout: [global] v: global [global,local] v: [global,local+unset] v: (unset) [global,local+unlocal] v: (unset) [global,tempenv] v: tempenv [global,tempenv,local] v: [global,tempenv,local+unset] v: (unset) [global,tempenv,local+unlocal] v: (unset) [global,tempenv,(eval)] v: tempenv [global,tempenv,(eval),local] v: [global,tempenv,(eval),local+unset] v: (unset) [global,tempenv,(eval),local+unlocal] v: (unset)stderr:  | 
| mksh | 3 [bash_unset] function call with tempenv vs tempenv-eval stdout: [global] v: global [global,local] v: (unset) [global,local+unset] v: global [global,local+unlocal] v: global [global,tempenv] v: tempenv [global,tempenv,local] v: (unset) [global,tempenv,local+unset] v: tempenv [global,tempenv,local+unlocal] v: tempenv [global,tempenv,(eval)] v: tempenv [global,tempenv,(eval),local] v: (unset) [global,tempenv,(eval),local+unset] v: tempenv [global,tempenv,(eval),local+unlocal] v: tempenvstderr:  | 
| ash | 3 [bash_unset] function call with tempenv vs tempenv-eval stdout: [global] v: global [global,local] v: (unset) [global,local+unset] v: (unset) [global,local+unlocal] v: (unset) [global,tempenv] v: tempenv [global,tempenv,local] v: tempenv [global,tempenv,local+unset] v: (unset) [global,tempenv,local+unlocal] v: (unset) [global,tempenv,(eval)] v: tempenv [global,tempenv,(eval),local] v: (unset) [global,tempenv,(eval),local+unset] v: (unset) [global,tempenv,(eval),local+unlocal] v: (unset)stderr:  | 
| dash | 3 [bash_unset] function call with tempenv vs tempenv-eval stdout: [global] v: global [global,local] v: global [global,local+unset] v: (unset) [global,local+unlocal] v: (unset) [global,tempenv] v: tempenv [global,tempenv,local] v: tempenv [global,tempenv,local+unset] v: (unset) [global,tempenv,local+unlocal] v: (unset) [global,tempenv,(eval)] v: tempenv [global,tempenv,(eval),local] v: tempenv [global,tempenv,(eval),local+unset] v: (unset) [global,tempenv,(eval),local+unlocal] v: (unset)stderr:  | 
| yash | 3 [bash_unset] function call with tempenv vs tempenv-eval stdout: [global] v: global [global,local] v: (unset) [global,local+unset] v: global [global,local+unlocal] v: global [global,tempenv] v: tempenv [global,tempenv,local] v: (unset) [global,tempenv,local+unset] v: tempenv [global,tempenv,local+unlocal] v: tempenv [global,tempenv,(eval)] v: tempenv [global,tempenv,(eval),local] v: (unset) [global,tempenv,(eval),local+unset] v: tempenv [global,tempenv,(eval),local+unlocal] v: tempenvstderr:  | 
| osh | 3 [bash_unset] function call with tempenv vs tempenv-eval stdout: [global] v: global [global,local] v: (unset) [global,local+unset] v: global [global,local+unlocal] v: global [global,tempenv] v: tempenv [global,tempenv,local] v: (unset) [global,tempenv,local+unset] v: tempenv [global,tempenv,local+unlocal] v: tempenv [global,tempenv,(eval)] v: tempenv [global,tempenv,(eval),local] v: (unset) [global,tempenv,(eval),local+unset] v: tempenv [global,tempenv,(eval),local+unlocal] v: tempenvstderr:  | 
| zsh | 4 [bash_unset] localvar-inherit from tempenv stdout: [global,(local)] v: [global,tempenv,(local)] v: [xglobal,(local)] v: [global,(func),(local)] v: [global,tempenv,(func),(local)] v: [xglobal,(func),(local)] v: [global,local,(func),(local)] v:stderr:  | 
| mksh | 4 [bash_unset] localvar-inherit from tempenv stdout: [global,(local)] v: (unset) [global,tempenv,(local)] v: (unset) [xglobal,(local)] v: (unset) [global,(func),(local)] v: (unset) [global,tempenv,(func),(local)] v: (unset) [xglobal,(func),(local)] v: (unset) [global,local,(func),(local)] v: (unset)stderr:  | 
| ash | 4 [bash_unset] localvar-inherit from tempenv stdout: [global,(local)] v: (unset) [global,tempenv,(local)] v: tempenv [xglobal,(local)] v: (unset) [global,(func),(local)] v: (unset) [global,tempenv,(func),(local)] v: (unset) [xglobal,(func),(local)] v: (unset) [global,local,(func),(local)] v: (unset)stderr:  | 
| dash | 4 [bash_unset] localvar-inherit from tempenv stdout: [global,(local)] v: global [global,tempenv,(local)] v: tempenv [xglobal,(local)] v: global [global,(func),(local)] v: global [global,tempenv,(func),(local)] v: tempenv [xglobal,(func),(local)] v: global [global,local,(func),(local)] v: localstderr:  | 
| yash | 4 [bash_unset] localvar-inherit from tempenv stdout: [global,(local)] v: (unset) [global,tempenv,(local)] v: (unset) [xglobal,(local)] v: (unset) [global,(func),(local)] v: (unset) [global,tempenv,(func),(local)] v: (unset) [xglobal,(func),(local)] v: (unset) [global,local,(func),(local)] v: (unset)stderr:  | 
| osh | 4 [bash_unset] localvar-inherit from tempenv stdout: [global,(local)] v: (unset) [global,tempenv,(local)] v: (unset) [xglobal,(local)] v: (unset) [global,(func),(local)] v: (unset) [global,tempenv,(func),(local)] v: (unset) [xglobal,(func),(local)] v: (unset) [global,local,(func),(local)] v: (unset)stderr:  | 
| mksh | 5 [bash_unset] nested context by tempenv-eval stdout: [global,tempenv1,local1] v: local1 [global,tempenv1,local1,tempenv2,(eval)] v: tempenv2 [global,tempenv1,local1,tempenv2,(eval),local2] v: local2 [global,tempenv1,local1] v: local2 (after)stderr:  | 
| ash | 5 [bash_unset] nested context by tempenv-eval stdout: [global,tempenv1,local1] v: local1 [global,tempenv1,local1,tempenv2,(eval)] v: tempenv2 [global,tempenv1,local1,tempenv2,(eval),local2] v: local2 [global,tempenv1,local1] v: local2 (after)stderr:  | 
| dash | 5 [bash_unset] nested context by tempenv-eval stdout: [global,tempenv1,local1] v: local1 [global,tempenv1,local1,tempenv2,(eval)] v: tempenv2 [global,tempenv1,local1,tempenv2,(eval),local2] v: local2 [global,tempenv1,local1] v: local2 (after)stderr:  | 
| yash | 5 [bash_unset] nested context by tempenv-eval stdout: [global,tempenv1,local1] v: local1 [global,tempenv1,local1,tempenv2,(eval)] v: tempenv2 [global,tempenv1,local1,tempenv2,(eval),local2] v: local2 [global,tempenv1,local1] v: local2 (after)stderr:  | 
| bash-4 | 6 [bash_unset] local-unset / dynamic-unset for localvar on nested-context stdout: [global,tempenv1,local1,tempenv2,(eval),local2,(unset)] v: local1 [global,tempenv1,local1,tempenv2,(eval),local2,(unlocal)] v: local1stderr:  | 
| zsh | 6 [bash_unset] local-unset / dynamic-unset for localvar on nested-context stdout: [global,tempenv1,local1,tempenv2,(eval),local2,(unset)] v: (unset) [global,tempenv1,local1,tempenv2,(eval),local2,(unlocal)] v: (unset)stderr:  | 
| mksh | 6 [bash_unset] local-unset / dynamic-unset for localvar on nested-context stdout: [global,tempenv1,local1,tempenv2,(eval),local2,(unset)] v: tempenv1 [global,tempenv1,local1,tempenv2,(eval),local2,(unlocal)] v: tempenv1stderr:  | 
| ash | 6 [bash_unset] local-unset / dynamic-unset for localvar on nested-context stdout: [global,tempenv1,local1,tempenv2,(eval),local2,(unset)] v: (unset) [global,tempenv1,local1,tempenv2,(eval),local2,(unlocal)] v: (unset)stderr:  | 
| dash | 6 [bash_unset] local-unset / dynamic-unset for localvar on nested-context stdout: [global,tempenv1,local1,tempenv2,(eval),local2,(unset)] v: (unset) [global,tempenv1,local1,tempenv2,(eval),local2,(unlocal)] v: (unset)stderr:  | 
| yash | 6 [bash_unset] local-unset / dynamic-unset for localvar on nested-context stdout: [global,tempenv1,local1,tempenv2,(eval),local2,(unset)] v: tempenv1 [global,tempenv1,local1,tempenv2,(eval),local2,(unlocal)] v: tempenv1stderr:  | 
| osh | 6 [bash_unset] local-unset / dynamic-unset for localvar on nested-context stdout: [global,tempenv1,local1,tempenv2,(eval),local2,(unset)] v: local1 [global,tempenv1,local1,tempenv2,(eval),local2,(unlocal)] v: local1stderr:  | 
| zsh | 7 [bash_unset] dynamic-unset for nested localvars stdout: [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: local3 [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 1) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 2) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 3) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 4)stderr:  | 
| mksh | 7 [bash_unset] dynamic-unset for nested localvars stdout: [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: local3 [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: tempenv1 (unlocal 1) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 2) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 3) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 4)stderr:  | 
| ash | 7 [bash_unset] dynamic-unset for nested localvars stdout: [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: local3 [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 1) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 2) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 3) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 4)stderr:  | 
| dash | 7 [bash_unset] dynamic-unset for nested localvars stdout: [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: local3 [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 1) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 2) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 3) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 4)stderr:  | 
| yash | 7 [bash_unset] dynamic-unset for nested localvars stdout: [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: local3 [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: tempenv1 (unlocal 1) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: global (unlocal 2) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 3) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: (unset) (unlocal 4)stderr:  | 
| osh | 7 [bash_unset] dynamic-unset for nested localvars stdout: [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: local3 [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: local2 (unlocal 1) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: local1 (unlocal 2) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: tempenv1 (unlocal 3) [global,tempenv1/local1,tempenv2/local2,tempenv3/local3] v: global (unlocal 4)stderr:  | 
| zsh | 8 [bash_unset] dynamic-unset for nested tempenvs stdout: [global,tempenv1,tempenv2,tempenv3] v: tempenv3 [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 1) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 2) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 3) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 4)stderr:  | 
| mksh | 8 [bash_unset] dynamic-unset for nested tempenvs stdout: [global,tempenv1,tempenv2,tempenv3] v: tempenv3 [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 1) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 2) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 3) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 4)stderr:  | 
| ash | 8 [bash_unset] dynamic-unset for nested tempenvs stdout: [global,tempenv1,tempenv2,tempenv3] v: tempenv3 [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 1) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 2) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 3) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 4)stderr:  | 
| dash | 8 [bash_unset] dynamic-unset for nested tempenvs stdout: [global,tempenv1,tempenv2,tempenv3] v: tempenv3 [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 1) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 2) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 3) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 4)stderr:  | 
| yash | 8 [bash_unset] dynamic-unset for nested tempenvs stdout: [global,tempenv1,tempenv2,tempenv3] v: tempenv3 [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 1) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 2) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 3) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 4)stderr:  | 
| osh | 8 [bash_unset] dynamic-unset for nested tempenvs stdout: [global,tempenv1,tempenv2,tempenv3] v: tempenv3 [global,tempenv1,tempenv2,tempenv3] v: tempenv2 (unlocal 1) [global,tempenv1,tempenv2,tempenv3] v: tempenv1 (unlocal 2) [global,tempenv1,tempenv2,tempenv3] v: global (unlocal 3) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unlocal 4)stderr:  | 
| zsh | 9 [bash_unset] local-unset for nested tempenvs stdout: [global,tempenv1,tempenv2,tempenv3] v: tempenv3 [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 1) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 2) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 3) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 4)stderr:  | 
| mksh | 9 [bash_unset] local-unset for nested tempenvs stdout: [global,tempenv1,tempenv2,tempenv3] v: tempenv3 [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 1) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 2) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 3) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 4)stderr:  | 
| ash | 9 [bash_unset] local-unset for nested tempenvs stdout: [global,tempenv1,tempenv2,tempenv3] v: tempenv3 [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 1) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 2) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 3) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 4)stderr:  | 
| dash | 9 [bash_unset] local-unset for nested tempenvs stdout: [global,tempenv1,tempenv2,tempenv3] v: tempenv3 [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 1) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 2) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 3) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 4)stderr:  | 
| yash | 9 [bash_unset] local-unset for nested tempenvs stdout: [global,tempenv1,tempenv2,tempenv3] v: tempenv3 [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 1) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 2) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 3) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 4)stderr:  | 
| osh | 9 [bash_unset] local-unset for nested tempenvs stdout: [global,tempenv1,tempenv2,tempenv3] v: tempenv3 [global,tempenv1,tempenv2,tempenv3] v: tempenv2 (unset 1) [global,tempenv1,tempenv2,tempenv3] v: tempenv1 (unset 2) [global,tempenv1,tempenv2,tempenv3] v: global (unset 3) [global,tempenv1,tempenv2,tempenv3] v: (unset) (unset 4)stderr:  | 
| ash | 10 [compat_array] ${arr} is ${arr[0]} stdout: stderr:  | 
| dash | 10 [compat_array] ${arr} is ${arr[0]} stdout: stderr:  | 
| yash | 10 [compat_array] ${arr} is ${arr[0]} stdout: ['foo', 'bar', 'baz', 'foo', 'bar', 'baz']stderr:  | 
| ash | 11 [compat_array] scalar write to arrays stdout: stderr:  | 
| dash | 11 [compat_array] scalar write to arrays stdout: stderr:  | 
| yash | 11 [compat_array] scalar write to arrays stdout: ['1']stderr:  | 
| zsh | 12 [compat_array] scalar write to associative arrays stdout: ['1', 'hello', 'world']stderr:  | 
| mksh | 12 [compat_array] scalar write to associative arrays stdout: stderr:  | 
| ash | 12 [compat_array] scalar write to associative arrays stdout: stderr:  | 
| dash | 12 [compat_array] scalar write to associative arrays stdout: stderr:  | 
| yash | 12 [compat_array] scalar write to associative arrays stdout: stderr:  | 
| zsh | 13 [compat_array] ${alpha@a} stdout: stderr: zsh: no matches found: [1]=2 zsh: bad substitution  | 
| mksh | 13 [compat_array] ${alpha@a} stdout: stderr: mksh: <stdin>[1]: syntax error: '(' unexpected
 | 
| ash | 13 [compat_array] ${alpha@a} stdout: stderr: ash: syntax error: unexpected "("
 | 
| dash | 13 [compat_array] ${alpha@a} stdout: stderr: dash: 1: Syntax error: "(" unexpected
 | 
| yash | 13 [compat_array] ${alpha@a} stdout: stderr: syntax error: invalid use of `('
 |