case | dash | bash | mksh | osh | description |
0 | pass | pass | pass | pass | Locals don't leak |
1 | pass | pass | pass | pass | Globals leak |
2 | pass | pass | pass | pass | Return statement |
3 | N-I | N-I | N-I | pass | Return at top level is error |
details | details | details | |||
4 | pass | pass | pass | pass | Dynamic Scope |
5 | pass | pass | pass | pass | Dynamic Scope Mutation (wow this is bad) |
6 | pass | pass | pass | pass | Assign local separately |
7 | pass | pass | pass | pass | Assign a local and global on same line |
29 passed, 0 ok, 3 known unimplemented, 0 known bugs, 0 failed, 0 skipped
dash | 3 Return at top level is error stdout: stderr: |
bash | 3 Return at top level is error stdout: badstderr: /bin/bash: line 1: return: can only `return' from a function or sourced script |
mksh | 3 Return at top level is error stdout: stderr: |