* tests/xattr06.at: Test include/exclude during archive/exctract.

This commit is contained in:
Pavel Raiskup
2016-06-02 08:00:10 +02:00
committed by Sergey Poznyakoff
parent bb6ddd8e04
commit c81a0853bb
2 changed files with 13 additions and 8 deletions

View File

@@ -495,7 +495,7 @@ xattrs_xattrs_get (int parentfd, char const *file_name,
if (aret != -1)
{
if (!xattrs_masked_out(attr, true))
if (!xattrs_masked_out (attr, true))
xheader_xattr_add (st, attr, val, aret);
}
else if (errno != ENOATTR)

View File

@@ -34,16 +34,21 @@ mkdir dir
mkdir output
genfile --file dir/file
setfattr -n user.excludedxattr -v value dir/file
for attr in excluded incla inclb inclc incl_excluded
do
setfattr -n user.${attr} -v value dir/file || AT_SKIP_TEST
done
# exclude the attribute we just set
tar --xattrs --xattrs-exclude=user.excludedxattr -cf archive.tar -C dir .
tar --xattrs-include=user.incl'*' --xattrs-exclude=user.incl_excluded -cf archive.tar -C dir .
tar -xf archive.tar --xattrs-include=user.incl[[ab]] --xattrs-exclude=user.inclb -C output
tar --xattrs -xf archive.tar -C output
getfattr -d output/file | grep -v excludedxattr > without
getfattr -d output/file > with
getfattr -d output/file | grep -v \
-e excluded \
-e inclb \
-e inclc > filtered
getfattr -d output/file > full
# if they differ then the attribute is still present
diff without with
diff filtered full
],
[0],
[])