| status | osh | osh-cpp | |
| pass | 20 | 20 | |
| ok | 1 | 1 | |
| total | 21 | 21 | |
| case | osh | osh-cpp | description |
| 0 | pass | pass | can continue after unknown option |
| 1 | pass | pass | set with both options and argv |
| 2 | pass | pass | nounset with "$@" |
| 3 | pass | pass | set -u -- clears argv |
| 4 | pass | pass | set -u -- x y z |
| 5 | pass | pass | reset option with long flag |
| 6 | pass | pass | reset option with short flag |
| 7 | pass | pass | set -eu (flag parsing) |
| 8 | pass | pass | set -o lists options |
| 9 | pass | pass | 'set' and 'eval' round trip |
| 10 | pass | pass | set - - and so forth |
| 11 | pass | pass | set - leading single dash is ignored, turns off xtrace verbose (#2364) |
| 12 | pass | pass | set - stops option processing like set -- |
| 13 | pass | pass | A single + is an ignored flag; not an argument |
| 14 | ok | ok | set - + and + - |
| details | details | ||
| 15 | pass | pass | set -a exports variables |
| 16 | pass | pass | set +a stops exporting |
| 17 | pass | pass | set -o allexport (long form) |
| 18 | pass | pass | variables set before set -a are not exported |
| 19 | pass | pass | set -a exports local variables |
| 20 | pass | pass | set -a exports declare variables |
40 passed, 2 OK, 0 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped
| osh | 14 set - + and + - stdout: +stderr: |
| osh-cpp | 14 set - + and + - stdout: +stderr: |