40 lines
1.1 KiB
YAML
40 lines
1.1 KiB
YAML
name: "Builtins: umask"
|
|
cases:
|
|
- name: "umask with an out-of-range mode fails with status 1"
|
|
known_failure: true # TODO(umask): fails as unimplemented (99) or with status 2, where bash fails with 1
|
|
ignore_stderr: true
|
|
stdin: |
|
|
umask 999
|
|
echo "umask: $?"
|
|
|
|
- name: "umask in a subshell stays there"
|
|
known_failure: true # TODO(umask): a subshell runs in the shell's own process, so its umask is the shell's
|
|
stdin: |
|
|
umask 022
|
|
( umask 077 )
|
|
echo "after a subshell: $(umask)"
|
|
umask 077 | true
|
|
echo "after a pipeline stage: $(umask)"
|
|
|
|
- name: "umask -S, -p and --"
|
|
stdin: |
|
|
umask 022
|
|
umask -S
|
|
umask -p
|
|
umask -- 077
|
|
umask
|
|
|
|
- name: "umask -p -S prints a reusable symbolic command"
|
|
known_failure: true # TODO(umask): prints `umask u=...`, without `-S`
|
|
stdin: |
|
|
umask 022
|
|
umask -p -S
|
|
|
|
- name: "umask takes a symbolic mode"
|
|
known_failure: true # TODO(umask): a symbolic mode is not implemented
|
|
ignore_stderr: true
|
|
stdin: |
|
|
umask 022
|
|
umask u=rwx,g=rx,o=; umask
|
|
umask g-r; umask
|