xref: /aosp_15_r20/external/toybox/tests/setfattr.test (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash
2*cf5a6c84SAndroid Build Coastguard Worker
3*cf5a6c84SAndroid Build Coastguard Worker[ -f testing.sh ] && . testing.sh
4*cf5a6c84SAndroid Build Coastguard Worker
5*cf5a6c84SAndroid Build Coastguard Worker#testing "name" "command" "result" "infile" "stdin"
6*cf5a6c84SAndroid Build Coastguard Worker
7*cf5a6c84SAndroid Build Coastguard Workerfunction clean()
8*cf5a6c84SAndroid Build Coastguard Worker{
9*cf5a6c84SAndroid Build Coastguard Worker  # The filesystem may include some extended attributes by default (for
10*cf5a6c84SAndroid Build Coastguard Worker  # instance, security.selinux). Skip them.
11*cf5a6c84SAndroid Build Coastguard Worker  grep -v "security\."
12*cf5a6c84SAndroid Build Coastguard Worker}
13*cf5a6c84SAndroid Build Coastguard Worker
14*cf5a6c84SAndroid Build Coastguard Workermkdir attrs
15*cf5a6c84SAndroid Build Coastguard Workertouch attrs/file
16*cf5a6c84SAndroid Build Coastguard Workersetfattr -n user.empty attrs/file
17*cf5a6c84SAndroid Build Coastguard Workersetfattr -n user.data -v hello attrs/file
18*cf5a6c84SAndroid Build Coastguard Workersetfattr -n user.delete-me -v hello attrs/file
19*cf5a6c84SAndroid Build Coastguard Worker
20*cf5a6c84SAndroid Build Coastguard Workertesting "-x" \
21*cf5a6c84SAndroid Build Coastguard Worker    "setfattr -x user.delete-me attrs/file && getfattr attrs/file | clean" \
22*cf5a6c84SAndroid Build Coastguard Worker    "# file: attrs/file\nuser.data\nuser.empty\n\n" "" ""
23*cf5a6c84SAndroid Build Coastguard Workertesting "-n" "setfattr -n user.new attrs/file && getfattr -d attrs/file | clean" \
24*cf5a6c84SAndroid Build Coastguard Worker    "# file: attrs/file\nuser.data=\"hello\"\nuser.empty\nuser.new\n\n" "" ""
25*cf5a6c84SAndroid Build Coastguard Workertesting "-n -v" "setfattr -n user.new -v data attrs/file && getfattr -d attrs/file | clean" \
26*cf5a6c84SAndroid Build Coastguard Worker    "# file: attrs/file\nuser.data=\"hello\"\nuser.empty\nuser.new=\"data\"\n\n" "" ""
27*cf5a6c84SAndroid Build Coastguard Worker
28*cf5a6c84SAndroid Build Coastguard Workerrm -rf attrs
29