[ruby/fileutils] Fix mkdir_p hanging on Windows when trying to create a file on a offline drive

https://github.com/ruby/fileutils/commit/9cc6a082d7
This commit is contained in:
David Rodríguez 2022-08-01 20:35:37 +02:00 коммит произвёл git
Родитель 9f3140a42e
Коммит 70f69f8539
2 изменённых файлов: 9 добавлений и 1 удалений

Просмотреть файл

@ -374,7 +374,7 @@ module FileUtils
path = remove_trailing_slash(item)
stack = []
until File.directory?(path)
until File.directory?(path) || File.dirname(path) == path
stack.push path
path = File.dirname(path)
end

Просмотреть файл

@ -1098,6 +1098,14 @@ class TestFileUtils < Test::Unit::TestCase
ensure
Dir.rmdir(drive) if drive and File.directory?(drive)
end
def test_mkdir_p_offline_drive
offline_drive = ("A".."Z").to_a.reverse.find {|d| !File.exist?("#{d}:/") }
assert_raise(Errno::ENOENT) {
mkdir_p "#{offline_drive}:/new_dir"
}
end
end
def test_mkdir_p_file_perm