xref: /aosp_15_r20/external/toybox/tests/setfattr.test (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
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