summaryrefslogtreecommitdiff
path: root/test/units/modules/test_copy.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/units/modules/test_copy.py')
-rw-r--r--test/units/modules/test_copy.py23
1 files changed, 17 insertions, 6 deletions
diff --git a/test/units/modules/test_copy.py b/test/units/modules/test_copy.py
index 20c309b6..beeef6d7 100644
--- a/test/units/modules/test_copy.py
+++ b/test/units/modules/test_copy.py
@@ -128,16 +128,19 @@ def test_split_pre_existing_dir_working_dir_exists(directory, expected, mocker):
#
# Info helpful for making new test cases:
#
-# base_mode = {'dir no perms': 0o040000,
-# 'file no perms': 0o100000,
-# 'dir all perms': 0o400000 | 0o777,
-# 'file all perms': 0o100000, | 0o777}
+# base_mode = {
+# 'dir no perms': 0o040000,
+# 'file no perms': 0o100000,
+# 'dir all perms': 0o040000 | 0o777,
+# 'file all perms': 0o100000 | 0o777}
#
-# perm_bits = {'x': 0b001,
+# perm_bits = {
+# 'x': 0b001,
# 'w': 0b010,
# 'r': 0b100}
#
-# role_shift = {'u': 6,
+# role_shift = {
+# 'u': 6,
# 'g': 3,
# 'o': 0}
@@ -172,6 +175,10 @@ DATA = ( # Going from no permissions to setting all for user, group, and/or oth
# chmod a-X statfile <== removes execute from statfile
(0o100777, u'a-X', 0o0666),
+ # Verify X uses computed not original mode
+ (0o100777, u'a=,u=rX', 0o0400),
+ (0o040777, u'a=,u=rX', 0o0500),
+
# Multiple permissions
(0o040000, u'u=rw-x+X,g=r-x+X,o=r-x+X', 0o0755),
(0o100000, u'u=rw-x+X,g=r-x+X,o=r-x+X', 0o0644),
@@ -185,6 +192,10 @@ UMASK_DATA = (
INVALID_DATA = (
(0o040000, u'a=foo', "bad symbolic permission for mode: a=foo"),
(0o040000, u'f=rwx', "bad symbolic permission for mode: f=rwx"),
+ (0o100777, u'of=r', "bad symbolic permission for mode: of=r"),
+
+ (0o100777, u'ao=r', "bad symbolic permission for mode: ao=r"),
+ (0o100777, u'oa=r', "bad symbolic permission for mode: oa=r"),
)