Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F168799952
D6802.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D6802.diff
View Options
Index: usr.sbin/extattr/tests/extattr_test.sh
===================================================================
--- usr.sbin/extattr/tests/extattr_test.sh
+++ usr.sbin/extattr/tests/extattr_test.sh
@@ -30,6 +30,7 @@
atf_set "descr" "Can't set attributes for nonexistent namespaces"
}
bad_namespace_body() {
+ check_fs
touch foo
atf_check -s not-exit:0 -e match:"Invalid argument" \
setextattr badnamespace myattr X foo
@@ -42,6 +43,7 @@
atf_set "descr" "Set and get attribute values in hexadecimal"
}
hex_body() {
+ check_fs
touch foo
atf_check -s exit:0 -o empty setextattr user myattr XYZ foo
atf_check -s exit:0 -o inline:"58 59 5a\n" \
@@ -53,6 +55,7 @@
atf_set "descr" "Get binary attribute values in hexadecimal"
}
hex_nonascii_body() {
+ check_fs
touch foo
BINSTUFF=`echo $'\x20\x30\x40\x55\x66\x70\x81\xa2\xb3\xee\xff'`
atf_check -s exit:0 -o empty setextattr user myattr "$BINSTUFF" foo
@@ -66,6 +69,7 @@
atf_set "descr" "A maximum length attribute name"
}
long_name_body() {
+ check_fs
# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208965
atf_expect_fail "BUG 208965 extattr(2) doesn't allow maxlen attr names"
@@ -84,6 +88,7 @@
atf_set "descr" "Loud (non -q) output for each command"
}
loud_body() {
+ check_fs
touch foo
# setextattr(8) and friends print hard tabs. Use printf to convert
# them to spaces before checking the output.
@@ -101,6 +106,7 @@
atf_set "descr" "A file with no extended attributes"
}
noattrs_body() {
+ check_fs
touch foo
atf_check -s exit:0 -o empty lsextattr -q user foo
}
@@ -110,6 +116,7 @@
atf_set "descr" "A file that does not exist"
}
nonexistent_file_body() {
+ check_fs
atf_check -s exit:1 -e match:"No such file or directory" \
lsextattr user foo
atf_check -s exit:1 -e match:"No such file or directory" \
@@ -125,6 +132,7 @@
atf_set "descr" "NUL-terminate an attribute value"
}
null_body() {
+ check_fs
touch foo
atf_check -s exit:0 -o empty setextattr -n user myattr myvalue foo
atf_check -s exit:0 -o inline:"myvalue\0\n" getextattr -q user myattr foo
@@ -135,6 +143,7 @@
atf_set "descr" "A file with one extended attribute"
}
one_user_attr_body() {
+ check_fs
touch foo
atf_check -s exit:0 -o empty setextattr user myattr myvalue foo
atf_check -s exit:0 -o inline:"myattr\n" lsextattr -q user foo
@@ -149,6 +158,7 @@
atf_set "require.user" "root"
}
one_system_attr_body() {
+ check_fs
touch foo
atf_check -s exit:0 -o empty setextattr system myattr myvalue foo
atf_check -s exit:0 -o inline:"myattr\n" lsextattr -q system foo
@@ -162,6 +172,7 @@
atf_set "descr" "Set attribute value from stdin"
}
stdin_body() {
+ check_fs
dd if=/dev/random of=infile bs=1k count=8
touch foo
setextattr -i user myattr foo < infile || atf_fail "setextattr failed"
@@ -175,6 +186,7 @@
atf_set "descr" "Stringify the output of getextattr"
}
stringify_body() {
+ check_fs
touch foo
atf_check -s exit:0 -o empty setextattr user myattr "my value" foo
atf_check -s exit:0 -o inline:"\"my\\\040value\"\n" \
@@ -186,6 +198,7 @@
atf_set "descr" "A symlink to an ordinary file"
}
symlink_body() {
+ check_fs
touch foo
ln -s foo foolink
atf_check -s exit:0 -o empty setextattr user myattr myvalue foolink
@@ -199,6 +212,7 @@
atf_set "descr" "Operating directly on a symlink"
}
symlink_nofollow_body() {
+ check_fs
touch foo
ln -s foo foolink
# Check that with -h we can operate directly on the link
@@ -221,6 +235,7 @@
atf_set "require.user" "root"
}
system_and_user_attrs_body() {
+ check_fs
touch foo
atf_check -s exit:0 -o empty setextattr user userattr userval foo
atf_check -s exit:0 -o empty setextattr system sysattr sysval foo
@@ -240,6 +255,7 @@
atf_set "descr" "Manipulate two files"
}
two_files_body() {
+ check_fs
touch foo bar
atf_check -s exit:0 -o empty setextattr user myattr myvalue foo bar
atf_check -s exit:0 -o inline:"foo\tmyattr\nbar\tmyattr\n" \
@@ -256,6 +272,7 @@
atf_set "descr" "Manipulate two files. The first does not exist"
}
two_files_force_body() {
+ check_fs
touch bar
atf_check -s exit:1 -e match:"No such file or directory" \
setextattr user myattr myvalue foo bar
@@ -281,6 +298,7 @@
atf_set "descr" "A file with two extended attributes"
}
two_user_attrs_body() {
+ check_fs
touch foo
atf_check -s exit:0 -o empty setextattr user myattr1 myvalue1 foo
atf_check -s exit:0 -o empty setextattr user myattr2 myvalue2 foo
@@ -305,6 +323,7 @@
atf_set "require.user" "unprivileged"
}
unprivileged_user_cannot_set_system_attr_body() {
+ check_fs
touch foo
atf_check -s exit:1 -e match:"Operation not permitted" \
setextattr system myattr myvalue foo
@@ -333,3 +352,11 @@
atf_add_test_case two_user_attrs
atf_add_test_case unprivileged_user_cannot_set_system_attr
}
+
+check_fs() {
+ case `df -T . | tail -n 1 | cut -wf 2` in
+ "ufs") ;; # UFS is fine
+ "zfs") ;; # ZFS is fine
+ "tmpfs") atf_skip "tmpfs does not support extended attributes";;
+ esac
+}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Aug 31, 5:34 AM (18 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37538330
Default Alt Text
D6802.diff (4 KB)
Attached To
Mode
D6802: usr.sbin/extattr testcases don't work on tmpfs
Attached
Detach File
Event Timeline
Log In to Comment