37 passed, 5 OK, 8 not implemented, 17 BUG, 3 failed, 0 timeouts, 0 cases skipped 3 failed under osh
| mksh | 0 true is not special; prefix assignments don't persist, it can be redefined stdout: foo= true func foo=barstderr: |
| zsh | 1 Prefix assignments persist after special builtins, like : (set -o posix) stdout: foo= z=stderr: |
| bash | 2 readonly is special and prefix assignments persist (set -o posix) stdout: foo=bar spam=eggs bar Nonestderr: |
| yash | 2 readonly is special and prefix assignments persist (set -o posix) stdout: foo=bar spam=eggs bar Nonestderr: |
| osh | 2 readonly is special and prefix assignments persist (set -o posix) stdout: foo=bar spam=eggs bar Nonestderr: |
| bash | 3 Which shells allow special builtins to be redefined? stdout: eval func echo histderr: |
| mksh | 3 Which shells allow special builtins to be redefined? stdout: histderr: |
| zsh | 3 Which shells allow special builtins to be redefined? stdout: eval func echo histderr: |
| yash | 3 Which shells allow special builtins to be redefined? stdout: histderr: |
| osh | 3 Which shells allow special builtins to be redefined? stdout: histderr: |
| mksh | 4 Special builtins can't be redefined as shell functions (set -o posix) stdout: hi histderr: |
| zsh | 4 Special builtins can't be redefined as shell functions (set -o posix) stdout: hi sh func echo histderr: |
| yash | 4 Special builtins can't be redefined as shell functions (set -o posix) stdout: hi histderr: |
| osh | 4 Special builtins can't be redefined as shell functions (set -o posix) [osh stdout] Expected 'hi\n', got 'hi\nhi\n' [osh status] Expected 2, got 0 stdout: hi histderr: |
| bash | 6 Shift is special and fails whole script stdout: status=1stderr: bash: line 6: shift: 3: shift count out of range |
| zsh | 6 Shift is special and fails whole script stdout: status=1stderr: zsh:shift:6: shift count must be <= $# |
| ash | 6 Shift is special and fails whole script stdout: status=1stderr: |
| yash | 6 Shift is special and fails whole script stdout: status=1stderr: shift: 3: cannot shift so many (there are only 2 positional parameters) |
| osh | 6 Shift is special and fails whole script [osh stdout] Expected 'non-zero status\n', got 'status=1\n' stdout: status=1stderr: |
| bash | 7 set is special and fails whole script, even if using || true stdout: ok should not get herestderr: bash: line 6: shopt: invalid_: invalid shell option name bash: line 8: set: invalid_: invalid option name |
| ash | 7 set is special and fails whole script, even if using || true stdout: ok should not get herestderr: ash: shopt: not found ash: set: line 7: illegal option -o invalid_ |
| yash | 7 set is special and fails whole script, even if using || true stdout: ok should not get herestderr: yash: no such command `shopt' set: `invalid_' is not a valid option |
| osh | 7 set is special and fails whole script, even if using || true [osh stdout] Expected 'ok\nnon-zero status\n', got 'ok\nshould not get here\n' stdout: ok should not get herestderr: shopt -s invalid_ || true ^~~~~ [ -c flag ]:6: 'shopt' got invalid option 'invalid_' set -o invalid_ || true ^~~ [ -c flag ]:8: 'set' got invalid option 'invalid_' |
| bash | 8 bash 'type' gets confused - says 'function', but runs builtin stdout: TRUE builtin function --- EVAL builtin echo before posix after posix functionstderr: |
| dash | 8 bash 'type' gets confused - says 'function', but runs builtin stdout: stderr: |
| mksh | 8 bash 'type' gets confused - says 'function', but runs builtin stdout: stderr: |
| zsh | 8 bash 'type' gets confused - says 'function', but runs builtin stdout: stderr: |
| ash | 8 bash 'type' gets confused - says 'function', but runs builtin stdout: stderr: |
| yash | 8 bash 'type' gets confused - says 'function', but runs builtin stdout: stderr: |
| osh | 8 bash 'type' gets confused - says 'function', but runs builtin stdout: TRUE builtin function --- EVAL builtin before posix after posix functionstderr: |
| dash | 9 command, builtin - both can be redefined, not special (regression) stdout: stderr: |
| ash | 9 command, builtin - both can be redefined, not special (regression) stdout: stderr: |
| yash | 9 command, builtin - both can be redefined, not special (regression) stdout: stderr: |