From: Pavel Raiskup Date: Thu, 2 Jun 2016 06:00:10 +0000 (+0200) Subject: * tests/xattr06.at: Test include/exclude during archive/exctract. X-Git-Tag: release_1_30~34 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c81a0853bb8c5c6d78af2e57ceaa393de6cc565b;p=thirdparty%2Ftar.git * tests/xattr06.at: Test include/exclude during archive/exctract. --- diff --git a/src/xattrs.c b/src/xattrs.c index 655dd437..d9f1f8bf 100644 --- a/src/xattrs.c +++ b/src/xattrs.c @@ -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) diff --git a/tests/xattr06.at b/tests/xattr06.at index 42204afd..691f7e70 100644 --- a/tests/xattr06.at +++ b/tests/xattr06.at @@ -34,16 +34,21 @@ mkdir dir mkdir output genfile --file dir/file -setfattr -n user.excludedxattr -v value dir/file - -# exclude the attribute we just set -tar --xattrs --xattrs-exclude=user.excludedxattr -cf archive.tar -C dir . - -tar --xattrs -xf archive.tar -C output -getfattr -d output/file | grep -v excludedxattr > without -getfattr -d output/file > with +for attr in excluded incla inclb inclc incl_excluded +do + setfattr -n user.${attr} -v value dir/file || AT_SKIP_TEST +done + +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 + +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], [])