15 if test "x$value" != "x<deleted>"; then
16 res=`$getattr -n $name $file 2>/dev/null | grep -v "^#" | sed 's/\"//g'`
18 if test "x$res" = "x$name=$value"; then
24 res=`$getattr -d -m ".*" $file 2>/dev/null | grep -v "^#" | sed 's/\"//g'`
26 if echo $res | grep $name > /dev/null 2>&1; then
41 `$setattr -x $name $file 2> /dev/null`
43 if test "x$?" != "x0"; then
47 check_xattr $name "<deleted>" $file && echo "done" || echo "failed"
60 `$setattr -n $name -v $value $file 2>/dev/null`
62 if test "x$?" != "x0"; then
66 check_xattr $name $value $file && echo "done" || echo "failed"
77 `$setattr -n list_name0 -v list_value0 $file 2>/dev/null` || {
82 `$setattr -n list_name1 -v list_value1 $file 2>/dev/null` || {
87 `$setattr -n list_name2 -v list_value2 $file 2>/dev/null` || {
92 values=`$getattr -d -m ".*" $file 2>/dev/null | grep -v "^#" | \
93 grep list_name | sed 's/\"//g'`
97 for chunk in $values; do
98 if test "x$chunk" != "xlist_name$i=list_value$i"; then
110 # check each function related to xattrs
115 test_set_xattr test_name0 test_value0 $file "Create new attribute" &&
116 test_set_xattr test_name0 test_value012345 $file "Expanding attribute" &&
117 test_set_xattr test_name0 test_value0123 $file "Shrinking attribute" &&
118 test_del_xattr test_name0 $file "Delete attribute"
119 test_list_xattr $file "Getting list of attributes"
122 # checking xattr code as a whole. Not implemented yet.
128 getattr=$(which getfattr 2>/dev/null)
129 setattr=$(which setfattr 2>/dev/null)
131 if test "x$getattr" = "x" -o "x$setattr" = "x"; then
132 fail "Can't find getfattr or setfattr utilities in current path."
135 if ! mount | grep tmpfs > /dev/null 2>&1; then
136 fail "tmpfs is not mounted"
139 mntpoint=$(mount | grep tmpfs | awk '{print $3}')
141 if test "x$mntpoint" = "x"; then
142 fail "Can't find tmpfs mount point"
145 rm -fr $mntpoint/test_file0 2> /dev/null
146 touch "$mntpoint/test_file0"
148 test_individual "$mntpoint/test_file0" &&
149 test_composite "$mntpoint/test_file0" && echo "All tests passed"