mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-12 13:08:49 +00:00
b8df9648f2
If base directories (e.g. $HOME/.config/fish) need to be created, create them with mode 0700 (i.e. restricted to the owner). This both keeps the behavior of old fish versions (e.g. 3.7.1) and is compliant with the XDG Base Directory Specification. See: https://specifications.freedesktop.org/basedir-spec/0.8/#referencing
16 lines
554 B
Fish
16 lines
554 B
Fish
#RUN: %fish -C 'set -l fish %fish' %s
|
|
|
|
# Set a XDG_CONFIG_HOME with both pre-existing and non-existing directories.
|
|
set -l dir (mktemp -d)
|
|
mkdir -m 0755 $dir/old
|
|
set -gx XDG_CONFIG_HOME $dir/old/new
|
|
|
|
# Launch fish so it will create all missing directories.
|
|
$fish -c ''
|
|
|
|
# Check that existing directories kept their permissions, and new directories
|
|
# have the right permissions according to the XDG Base Directory Specification.
|
|
ls -ld $dir/old $dir/old/new $dir/old/new/fish | awk '{print $1}'
|
|
# CHECK: drwxr-xr-x
|
|
# CHECK: drwx------
|
|
# CHECK: drwx------
|