Skip to content

Commit d13f722

Browse files
Merge pull request #4286 from kares/regression-ensure-gem-sub-dir_3.2
Swallow any system call error in `ensure_gem_subdirs` to support jruby embed paths
2 parents ba867ae + f96e7d2 commit d13f722

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

lib/rubygems.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ def self.ensure_subdirectories(dir, mode, subdirs) # :nodoc:
469469
next if File.exist? subdir
470470
begin
471471
FileUtils.mkdir_p subdir, **options
472-
rescue Errno::EACCES
472+
rescue SystemCallError
473473
end
474474
end
475475
ensure

test/rubygems/test_gem.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -692,6 +692,11 @@ def test_self_ensure_gem_directories_write_protected_parents
692692
ensure
693693
FileUtils.chmod 0600, parent
694694
end
695+
696+
def test_self_ensure_gem_directories_non_existent_paths
697+
Gem.ensure_gem_subdirectories '/proc/0123456789/bogus' # should not raise
698+
Gem.ensure_gem_subdirectories 'classpath:/bogus/x' # JRuby embed scenario
699+
end
695700
end
696701

697702
def test_self_extension_dir_shared

0 commit comments

Comments
 (0)