From 6bcfa84849d0764a400767ee6f66e16242127fae Mon Sep 17 00:00:00 2001 From: mame Date: Thu, 5 Apr 2018 09:48:16 +0000 Subject: lib/rubygems/test_case.rb: take over @gem_prelude_index Gem::TestCase normalizes each path in $LOAD_PATH, which deleted the flag of @gem_prelude_index. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rubygems/test_case.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'lib/rubygems') diff --git a/lib/rubygems/test_case.rb b/lib/rubygems/test_case.rb index bb6f4fde88..aa6df267f2 100644 --- a/lib/rubygems/test_case.rb +++ b/lib/rubygems/test_case.rb @@ -295,7 +295,16 @@ class Gem::TestCase < MiniTest::Unit::TestCase @orig_LOAD_PATH = $LOAD_PATH.dup $LOAD_PATH.map! { |s| - (expand_path = File.expand_path(s)) == s ? s : expand_path.untaint + expand_path = File.expand_path(s) + if expand_path != s + expand_path.untaint + if s.instance_variable_defined?(:@gem_prelude_index) + expand_path.instance_variable_set(:@gem_prelude_index, expand_path) + end + expand_path.freeze if s.frozen? + s = expand_path + end + s } Dir.chdir @tempdir -- cgit v1.2.3