summaryrefslogtreecommitdiff
path: root/test/fileutils/test_fileutils.rb
diff options
context:
space:
mode:
authorhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-05-25 00:58:52 +0000
committerhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-05-25 00:58:52 +0000
commitd76340fa68f36918b3c6eaff05bde74177f95c62 (patch)
treebd08d00e07ad0f710b6b1970935db3f9380f3fc4 /test/fileutils/test_fileutils.rb
parent10e7f389e26f3903e89d8d67aa5d8522c7da460a (diff)
* test/fileutils/test_fileutils.rb: Added recursively chmod tests.
[Feature #9303][ruby-core:59325] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/fileutils/test_fileutils.rb')
-rw-r--r--test/fileutils/test_fileutils.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/fileutils/test_fileutils.rb b/test/fileutils/test_fileutils.rb
index 0834187b95..2e997a716c 100644
--- a/test/fileutils/test_fileutils.rb
+++ b/test/fileutils/test_fileutils.rb
@@ -1145,6 +1145,24 @@ class TestFileUtils < Test::Unit::TestCase
}
end
+ def test_chown_dir_group_ownership_not_recursive
+ return unless @groups[1]
+
+ input_group_1 = @groups[0]
+ input_group_2 = @groups[1]
+ assert_output_lines([]) {
+ mkdir 'tmp/dir'
+ touch 'tmp/dir/a'
+ chown nil, input_group_1, ['tmp/dir', 'tmp/dir/a']
+ assert_ownership_group @groups[0], 'tmp/dir'
+ assert_ownership_group @groups[0], 'tmp/dir/a'
+ chown nil, input_group_2, 'tmp/dir'
+ assert_ownership_group @groups[1], 'tmp/dir'
+ # Make sure FileUtils.chmod does not chmod recursively
+ assert_ownership_group @groups[0], 'tmp/dir/a'
+ }
+ end
+
if root_in_posix?
def test_chown_with_root
uid_1, uid_2 = distinct_uids(2)
@@ -1164,6 +1182,23 @@ class TestFileUtils < Test::Unit::TestCase
}
}
end
+
+ def test_chown_dir_user_ownership_not_recursive_with_root
+ uid_1, uid_2 = distinct_uids(2)
+ return unless uid_1 and uid_2
+
+ assert_output_lines([]) {
+ mkdir 'tmp/dir'
+ touch 'tmp/dir/a'
+ chown uid_1, nil, ['tmp/dir', 'tmp/dir/a']
+ assert_ownership_user uid_1, 'tmp/dir'
+ assert_ownership_user uid_1, 'tmp/dir/a'
+ chown uid_2, nil, 'tmp/dir'
+ assert_ownership_user uid_2, 'tmp/dir'
+ # Make sure FileUtils.chmod does not chmod recursively
+ assert_ownership_user uid_1, 'tmp/dir/a'
+ }
+ end
else
def test_chown_without_permission
uid_1, uid_2 = distinct_uids(2)