| status | osh | osh-cpp | |
| pass | 10 | 10 | |
| N-I | 2 | 2 | |
| total | 12 | 12 | |
| case | osh | osh-cpp | description |
| 0 | pass | pass | true is not special; prefix assignments don't persist, it can be redefined |
| 1 | pass | pass | Prefix assignments persist after special builtins, like : (set -o posix) |
| 2 | pass | pass | Prefix assignments persist after readonly, but NOT exported (set -o posix) |
| 3 | pass | pass | Prefix binding for exec is a special case (versus e.g. readonly) |
| 4 | pass | pass | exec without args is a special case of the special case in some shells |
| 5 | pass | pass | Which shells allow special builtins to be redefined? |
| 6 | pass | pass | Special builtins can't be redefined as shell functions (set -o posix) |
| 7 | pass | pass | Non-special builtins CAN be redefined as functions |
| 8 | N-I | N-I | Shift is special and fails whole script |
| details | details | ||
| 9 | N-I | N-I | set is special and fails whole script, even if using || true |
| details | details | ||
| 10 | pass | pass | bash 'type' gets confused - says 'function', but runs builtin |
| 11 | pass | pass | command, builtin - both can be redefined, not special (regression) |
20 passed, 0 OK, 4 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped
| osh | 8 Shift is special and fails whole script stdout: status=1stderr: |
| osh-cpp | 8 Shift is special and fails whole script stdout: status=1stderr: |
| osh | 9 set is special and fails whole script, even if using || true 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_' |
| osh-cpp | 9 set is special and fails whole script, even if using || true 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_' |