From d76340fa68f36918b3c6eaff05bde74177f95c62 Mon Sep 17 00:00:00 2001 From: hsbt Date: Sun, 25 May 2014 00:58:52 +0000 Subject: * 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 --- test/fileutils/test_fileutils.rb | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'test/fileutils/test_fileutils.rb') 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) -- cgit v1.2.3