1#!/bin/bash 2 3[ -f testing.sh ] && . testing.sh 4 5#testing "name" "command" "result" "infile" "stdin" 6 7function clean() 8{ 9 # The filesystem may include some extended attributes by default (for 10 # instance, security.selinux). Skip them. 11 grep -v "security\." 12} 13 14mkdir attrs 15touch attrs/file 16setfattr -n user.empty attrs/file 17setfattr -n user.data -v hello attrs/file 18setfattr -n user.delete-me -v hello attrs/file 19 20testing "-x" \ 21 "setfattr -x user.delete-me attrs/file && getfattr attrs/file | clean" \ 22 "# file: attrs/file\nuser.data\nuser.empty\n\n" "" "" 23testing "-n" "setfattr -n user.new attrs/file && getfattr -d attrs/file | clean" \ 24 "# file: attrs/file\nuser.data=\"hello\"\nuser.empty\nuser.new\n\n" "" "" 25testing "-n -v" "setfattr -n user.new -v data attrs/file && getfattr -d attrs/file | clean" \ 26 "# file: attrs/file\nuser.data=\"hello\"\nuser.empty\nuser.new=\"data\"\n\n" "" "" 27 28rm -rf attrs 29