| status | dash | bash | mksh | zsh | osh | |
| pass | 13 | 11 | 14 | 8 | 17 | |
| ok | 1 | 1 | 0 | 1 | 0 | |
| N-I | 3 | 8 | 3 | 8 | 0 | |
| BUG | 3 | 0 | 3 | 3 | 0 | |
| FAIL | 0 | 0 | 0 | 0 | 3 | |
| total | 20 | 20 | 20 | 20 | 20 | |
| case | dash | bash | mksh | zsh | osh | description |
| 0 | pass | pass | pass | pass | pass | get umask |
| 1 | pass | pass | pass | pass | pass | set umask in octal |
| 2 | pass | pass | pass | pass | pass | set umask symbolically |
| 3 | N-I | pass | N-I | N-I | FAIL | umask -p |
| details | details | details | details | |||
| 4 | pass | pass | pass | pass | FAIL | umask -S |
| details | ||||||
| 5 | pass | pass | pass | pass | pass | umask symbolic parsing |
| 6 | BUG | ok | BUG | ok | pass | umask symbolic parsing with spaces |
| details | details | details | details | |||
| 7 | ok | pass | pass | pass | pass | umask bad symbolic input |
| details | ||||||
| 8 | BUG | pass | BUG | BUG | FAIL | umask octal number out of range |
| details | details | details | details | |||
| 9 | pass | pass | pass | pass | pass | umask allow overwriting and duplicates |
| 10 | pass | pass | pass | pass | pass | umask a is valid who |
| 11 | BUG | N-I | BUG | N-I | pass | umask X perm |
| details | details | details | details | |||
| 12 | pass | N-I | pass | N-I | pass | umask s perm |
| details | details | |||||
| 13 | N-I | N-I | N-I | N-I | pass | umask t perm |
| details | details | details | details | |||
| 14 | pass | pass | pass | BUG | pass | umask default who |
| details | ||||||
| 15 | pass | N-I | pass | BUG | pass | umask bare op |
| details | details | |||||
| 16 | N-I | N-I | N-I | N-I | pass | umask bare op - |
| details | details | details | details | |||
| 17 | pass | N-I | pass | N-I | pass | umask permcopy |
| details | details | |||||
| 18 | pass | N-I | pass | N-I | pass | umask permcopy running value |
| details | details | |||||
| 19 | pass | N-I | pass | N-I | pass | umask sequential actions |
| details | details |
63 passed, 3 OK, 22 not implemented, 9 BUG, 3 failed, 0 timeouts, 0 cases skipped 3 failed under osh
| dash | 3 umask -p stdout: stderr: dash: 1: umask: Illegal option -p |
| mksh | 3 umask -p stdout: stderr: mksh: <stdin>[1]: umask: -p: unknown option |
| zsh | 3 umask -p stdout: stderr: zsh: bad option: -p |
| 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 | 4 umask -S [osh status] Expected 0 Got 1 stdout: stderr: oils warning: expected one of `+-=` at start of action instead of `S` |
| dash | 6 umask symbolic parsing with spaces stdout: status=0 711stderr: |
| bash | 6 umask symbolic parsing with spaces stdout: status=1 111stderr: bash: line 2: umask: ` ': invalid symbolic mode operator |
| mksh | 6 umask symbolic parsing with spaces stdout: status=0 711stderr: |
| zsh | 6 umask symbolic parsing with spaces stdout: status=1 111stderr: umask: too many arguments |
| dash | 7 umask bad symbolic input stdout: stderr: dash: 1: umask: Illegal mode: b=rwx |
| dash | 8 umask octal number out of range stdout: status=0 567stderr: |
| mksh | 8 umask octal number out of range stdout: status=0 567stderr: |
| zsh | 8 umask octal number out of range stdout: status=0 567stderr: |
| osh | 8 umask octal number out of range [osh stdout] Expected 'status=1\n022\n' Got 'status=0\n567\n' stdout: status=0 567stderr: |
| dash | 11 umask X perm stdout: ret0 = 0 666 ret1 = 0 666 ret2 = 0 357stderr: |
| bash | 11 umask X perm stdout: ret0 = 1 124 ret1 = 1 246 ret2 = 1 246stderr: bash: line 2: umask: `X': invalid symbolic mode character bash: line 7: umask: `X': invalid symbolic mode character bash: line 12: umask: `X': invalid symbolic mode character |
| mksh | 11 umask X perm stdout: ret0 = 0 666 ret1 = 0 666 ret2 = 0 357stderr: |
| zsh | 11 umask X perm stdout: ret0 = 1 124 ret1 = 1 246 ret2 = 1 246stderr: umask: bad symbolic mode permission: X umask: bad symbolic mode permission: X umask: bad symbolic mode permission: X |
| bash | 12 umask s perm stdout: ret0 = 1 124 ret1 = 1 124 ret2 = 1 124stderr: bash: line 2: umask: `s': invalid symbolic mode character bash: line 7: umask: `s': invalid symbolic mode character bash: line 12: umask: `s': invalid symbolic mode character |
| zsh | 12 umask s perm stdout: ret0 = 1 124 ret1 = 1 124 ret2 = 1 124stderr: umask: bad symbolic mode permission: s umask: bad symbolic mode permission: s umask: bad symbolic mode permission: s |
| dash | 13 umask t perm stdout: ret0 = 2 124 ret1 = 2 124 ret2 = 2 124stderr: dash: 2: umask: Illegal mode: a-t dash: 7: umask: Illegal mode: a+t dash: 12: umask: Illegal mode: a=t |
| bash | 13 umask t perm stdout: ret0 = 1 124 ret1 = 1 124 ret2 = 1 124stderr: bash: line 2: umask: `t': invalid symbolic mode character bash: line 7: umask: `t': invalid symbolic mode character bash: line 12: umask: `t': invalid symbolic mode character |
| mksh | 13 umask t perm stdout: ret0 = 1 124 ret1 = 1 124 ret2 = 1 124stderr: mksh: <stdin>[2]: umask: bad mask mksh: <stdin>[7]: umask: bad mask mksh: <stdin>[12]: umask: bad mask |
| zsh | 13 umask t perm stdout: ret0 = 1 124 ret1 = 1 124 ret2 = 1 124stderr: umask: bad symbolic mode permission: t umask: bad symbolic mode permission: t umask: bad symbolic mode permission: t |
| zsh | 14 umask default who stdout: 777stderr: zsh: rx not found |
| bash | 15 umask bare op stdout: 124 124 124stderr: bash: line 2: umask: `+': invalid symbolic mode character bash: line 6: umask: `=': invalid symbolic mode character bash: line 10: umask: `+': invalid symbolic mode character |
| zsh | 15 umask bare op stdout: stderr: zsh: += not found |
| dash | 16 umask bare op - stdout: 124 124 124stderr: dash: 2: umask: Illegal option -r dash: 6: umask: Illegal option -w dash: 10: umask: Illegal option -= |
| bash | 16 umask bare op - stdout: 124 124 124stderr: bash: line 2: umask: -r: invalid option umask: usage: umask [-p] [-S] [mode] bash: line 6: umask: -w: invalid option umask: usage: umask [-p] [-S] [mode] bash: line 10: umask: -=: invalid option umask: usage: umask [-p] [-S] [mode] |
| mksh | 16 umask bare op - stdout: 124 124 124stderr: mksh: <stdin>[2]: umask: -r: unknown option mksh: <stdin>[6]: umask: -w: unknown option mksh: <stdin>[10]: umask: -=: unknown option |
| zsh | 16 umask bare op - stdout: 124 124 124stderr: zsh: bad option: -r zsh: bad option: -w zsh: bad option: -= |
| bash | 17 umask permcopy stdout: 124 365 124stderr: bash: line 2: umask: `u': invalid symbolic mode character bash: line 6: umask: `g': invalid symbolic mode character bash: line 10: umask: `o': invalid symbolic mode character |
| zsh | 17 umask permcopy stdout: 124 365 124stderr: umask: bad symbolic mode permission: u umask: bad symbolic mode permission: g umask: bad symbolic mode permission: o |
| bash | 18 umask permcopy running value stdout: 124 777stderr: bash: line 2: umask: `u': invalid symbolic mode character bash: line 7: umask: `u': invalid symbolic mode character |
| zsh | 18 umask permcopy running value stdout: 124 777stderr: umask: bad symbolic mode permission: u umask: bad symbolic mode permission: u |
| bash | 19 umask sequential actions stdout: 124 124 124stderr: bash: line 2: umask: `+': invalid symbolic mode character bash: line 6: umask: `+': invalid symbolic mode character bash: line 10: umask: `+': invalid symbolic mode character |
| zsh | 19 umask sequential actions stdout: 124 124 124stderr: umask: bad symbolic mode permission: + umask: bad symbolic mode permission: + umask: bad symbolic mode permission: + |