summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-04-05 09:48:16 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-04-05 09:48:16 +0000
commit6bcfa84849d0764a400767ee6f66e16242127fae (patch)
tree471e0c91435ee99b9bb3e18ae83758df41af501e /lib
parentbc6e61f149deaf1f74e04af9c5e32683e6b39644 (diff)
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
Diffstat (limited to 'lib')
-rw-r--r--lib/rubygems/test_case.rb11
1 files changed, 10 insertions, 1 deletions
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