| status | osh | osh-cpp | |
| pass | 17 | 17 | |
| FAIL | 3 | 3 | |
| total | 20 | 20 | |
| case | osh | osh-cpp | description |
| 0 | pass | pass | get umask |
| 1 | pass | pass | set umask in octal |
| 2 | pass | pass | set umask symbolically |
| 3 | FAIL | FAIL | umask -p |
| details | details | ||
| 4 | FAIL | FAIL | umask -S |
| details | details | ||
| 5 | pass | pass | umask symbolic parsing |
| 6 | pass | pass | umask symbolic parsing with spaces |
| 7 | pass | pass | umask bad symbolic input |
| 8 | FAIL | FAIL | umask octal number out of range |
| details | details | ||
| 9 | pass | pass | umask allow overwriting and duplicates |
| 10 | pass | pass | umask a is valid who |
| 11 | pass | pass | umask X perm |
| 12 | pass | pass | umask s perm |
| 13 | pass | pass | umask t perm |
| 14 | pass | pass | umask default who |
| 15 | pass | pass | umask bare op |
| 16 | pass | pass | umask bare op - |
| 17 | pass | pass | umask permcopy |
| 18 | pass | pass | umask permcopy running value |
| 19 | pass | pass | umask sequential actions |
34 passed, 0 OK, 0 not implemented, 0 BUG, 3 failed, 0 timeouts, 0 cases skipped 3 failed under osh
| osh | 3 umask -p [osh status] Expected 0 Got 1 stdout: stderr: oils warning: expected one of `+-=` at start of action instead of `p` |
| osh-cpp | 3 umask -p [osh-cpp status] Expected 0 Got 1 stdout: stderr: oils warning: expected one of `+-=` at start of action instead of `p` |
| osh | 4 umask -S [osh status] Expected 0 Got 1 stdout: stderr: oils warning: expected one of `+-=` at start of action instead of `S` |
| osh-cpp | 4 umask -S [osh-cpp status] Expected 0 Got 1 stdout: stderr: oils warning: expected one of `+-=` at start of action instead of `S` |
| osh | 8 umask octal number out of range [osh stdout] Expected 'status=1\n022\n' Got 'status=0\n567\n' stdout: status=0 567stderr: |
| osh-cpp | 8 umask octal number out of range [osh-cpp stdout] Expected 'status=1\n022\n' Got 'status=0\n567\n' stdout: status=0 567stderr: |