summaryrefslogtreecommitdiff
path: root/test/fileutils
diff options
context:
space:
mode:
Diffstat (limited to 'test/fileutils')
-rw-r--r--test/fileutils/test_fileutils.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/fileutils/test_fileutils.rb b/test/fileutils/test_fileutils.rb
index 05ba8d184a..bce7271a3b 100644
--- a/test/fileutils/test_fileutils.rb
+++ b/test/fileutils/test_fileutils.rb
@@ -1822,6 +1822,26 @@ cd -
assert_file_not_exist 'tmpdatadir'
end
+ def test_rm_rf_no_permissions
+ check_singleton :rm_rf
+
+ return if /mswin|mingw/ =~ RUBY_PLATFORM
+
+ mkdir 'tmpdatadir'
+ touch 'tmpdatadir/tmpdata'
+ chmod "-x", 'tmpdatadir'
+
+ begin
+ assert_raise Errno::EACCES do
+ rm_rf 'tmpdatadir'
+ end
+
+ assert_file_exist 'tmpdatadir'
+ ensure
+ chmod "+x", 'tmpdatadir'
+ end
+ end
+
def test_rmdir
check_singleton :rmdir