diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2020-01-08 14:47:27 -0500 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2020-01-08 15:11:36 -0500 |
commit | 2215f7a5d902764755673cc15a317982f0f15592 (patch) | |
tree | c164da27ad2bfbaa3e45439abd5c3c623f348250 /tests.sh | |
parent | 82dd2eb052aea282de099c2a26fd36f94649a5ae (diff) | |
download | bfs-2215f7a5d902764755673cc15a317982f0f15592.tar.xz |
fsade: Support checking for xattrs (extattrs) on FreeBSD
Diffstat (limited to 'tests.sh')
-rwxr-xr-x | tests.sh | 56 |
1 files changed, 33 insertions, 23 deletions
@@ -652,9 +652,6 @@ sudo_tests=( test_capable test_L_capable - test_xattr - test_L_xattr - test_mount test_L_mount test_xdev @@ -666,6 +663,18 @@ sudo_tests=( test_xtype_bind_mount ) +if [ "$UNAME" = "Linux" ]; then + sudo_tests+=( + test_xattr + test_L_xattr + ) +else + bsd_tests+=( + test_xattr + test_L_xattr + ) +fi + if [ "$DEFAULT" ]; then POSIX=yes BSD=yes @@ -2462,6 +2471,25 @@ function test_L_capable() { bfs_diff -L scratch -capable } +function set_xattr() { + case "$UNAME" in + Darwin) + xattr -w bfs_test true "$1" + xattr -s -w bfs_test true "$2" + ;; + FreeBSD) + setextattr user bfs_test true "$1" + setextattr -h user bfs_test true "$2" + ;; + *) + # Linux tmpfs doesn't support the user.* namespace, so we use the security.* + # namespace, which is writable by root and readable by others + sudo setfattr -n security.bfs_test "$1" + sudo setfattr -h -n security.bfs_test "$2" + ;; + esac +} + function test_xattr() { rm -rf scratch/* @@ -2472,16 +2500,7 @@ function test_xattr() { touch scratch/{normal,xattr} ln -s xattr scratch/link ln -s normal scratch/xattr_link - - if [ "$(uname)" = "Darwin" ]; then - xattr -w bfs_test true scratch/xattr - xattr -s -w bfs_test true scratch/xattr_link - else - # Linux tmpfs doesn't support the user.* namespace, so we use the security.* - # namespace, which is writable by root and readable by others - sudo setfattr -n security.bfs_test scratch/xattr - sudo setfattr -h -n security.bfs_test scratch/xattr_link - fi + set_xattr scratch/xattr scratch/xattr_link bfs_diff scratch -xattr } @@ -2496,16 +2515,7 @@ function test_L_xattr() { touch scratch/{normal,xattr} ln -s xattr scratch/link ln -s normal scratch/xattr_link - - if [ "$(uname)" = "Darwin" ]; then - xattr -w bfs_test true scratch/xattr - xattr -s -w bfs_test true scratch/xattr_link - else - # Linux tmpfs doesn't support the user.* namespace, so we use the security.* - # namespace, which is writable by root and readable by others - sudo setfattr -n security.bfs_test scratch/xattr - sudo setfattr -h -n security.bfs_test scratch/xattr_link - fi + set_xattr scratch/xattr scratch/xattr_link bfs_diff -L scratch -xattr } |