cp: Improve -p flag tests.
In addition to verifying that ACLs and flags are copied with the -p flag, verify that they are not copied without it. Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D50714
This commit is contained in:
+32
-24
@@ -188,18 +188,22 @@ pflag_acls_body()
|
||||
! setfacl -m g:staff:d::allow dir/file ; then
|
||||
atf_skip "file system does not support ACLs"
|
||||
fi
|
||||
atf_check cp -p dir/file dst
|
||||
atf_check -o match:"group:staff:-+d-+" getfacl dst
|
||||
rm dst
|
||||
mkdir dst
|
||||
atf_check cp -rp dir dst
|
||||
atf_check -o not-match:"group:staff:-+D-+" getfacl dst
|
||||
atf_check -o match:"group:staff:-+D-+" getfacl dst/dir
|
||||
atf_check -o match:"group:staff:-+d-+" getfacl dst/dir/file
|
||||
rm -rf dst
|
||||
atf_check cp -rp dir dst
|
||||
atf_check -o match:"group:staff:-+D-+" getfacl dst/
|
||||
atf_check -o match:"group:staff:-+d-+" getfacl dst/file
|
||||
atf_check -o match:"group:staff:-+D-+" getfacl dir
|
||||
atf_check -o match:"group:staff:-+d-+" getfacl dir/file
|
||||
# file-to-file copy without -p
|
||||
atf_check cp dir/file dst1
|
||||
atf_check -o not-match:"group:staff:-+d-+" getfacl dst1
|
||||
# file-to-file copy with -p
|
||||
atf_check cp -p dir/file dst2
|
||||
atf_check -o match:"group:staff:-+d-+" getfacl dst2
|
||||
# recursive copy without -p
|
||||
atf_check cp -r dir dst3
|
||||
atf_check -o not-match:"group:staff:-+D-+" getfacl dst3
|
||||
atf_check -o not-match:"group:staff:-+d-+" getfacl dst3/file
|
||||
# recursive copy with -p
|
||||
atf_check cp -rp dir dst4
|
||||
atf_check -o match:"group:staff:-+D-+" getfacl dst4
|
||||
atf_check -o match:"group:staff:-+d-+" getfacl dst4/file
|
||||
}
|
||||
|
||||
atf_test_case pflag_flags
|
||||
@@ -211,18 +215,22 @@ pflag_flags_body()
|
||||
! chflags nodump dir/file ; then
|
||||
atf_skip "file system does not support flags"
|
||||
fi
|
||||
atf_check cp -p dir/file dst
|
||||
atf_check -o match:"nodump" stat -f%Sf dst
|
||||
rm dst
|
||||
mkdir dst
|
||||
atf_check cp -rp dir dst
|
||||
atf_check -o not-match:"nodump" stat -f%Sf dst
|
||||
atf_check -o match:"nodump" stat -f%Sf dst/dir
|
||||
atf_check -o match:"nodump" stat -f%Sf dst/dir/file
|
||||
rm -rf dst
|
||||
atf_check cp -rp dir dst
|
||||
atf_check -o match:"nodump" stat -f%Sf dst
|
||||
atf_check -o match:"nodump" stat -f%Sf dst/file
|
||||
atf_check -o match:"nodump" stat -f%Sf dir
|
||||
atf_check -o match:"nodump" stat -f%Sf dir/file
|
||||
# file-to-file copy without -p
|
||||
atf_check cp dir/file dst1
|
||||
atf_check -o not-match:"nodump" stat -f%Sf dst1
|
||||
# file-to-file copy with -p
|
||||
atf_check cp -p dir/file dst2
|
||||
atf_check -o match:"nodump" stat -f%Sf dst2
|
||||
# recursive copy without -p
|
||||
atf_check cp -r dir dst3
|
||||
atf_check -o not-match:"nodump" stat -f%Sf dst3
|
||||
atf_check -o not-match:"nodump" stat -f%Sf dst3/file
|
||||
# recursive copy with -p
|
||||
atf_check cp -rp dir dst4
|
||||
atf_check -o match:"nodump" stat -f%Sf dst4
|
||||
atf_check -o match:"nodump" stat -f%Sf dst4/file
|
||||
}
|
||||
|
||||
recursive_link_setup()
|
||||
|
||||
Reference in New Issue
Block a user