diff options
-rw-r--r-- | test/rubygems/test_gem_gem_runner.rb | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/test/rubygems/test_gem_gem_runner.rb b/test/rubygems/test_gem_gem_runner.rb index b5d8581bea..0a1faa404a 100644 --- a/test/rubygems/test_gem_gem_runner.rb +++ b/test/rubygems/test_gem_gem_runner.rb @@ -1,17 +1,36 @@ # frozen_string_literal: true require 'rubygems/test_case' begin - require 'rubygems/gem_runner' -ensure - if $! + gem_home_files = lambda{ if Dir.exist?(ENV["GEM_HOME"]) require "find" ary = Find.find(ENV["GEM_HOME"]).to_a - raise <<eom -GEM_HOME: #{ENV["GEM_HOME"]} -contant: #{ary.inspect} -eom + else + [] end + } + prev_gem_home = ENV["GEM_HOME"] + prev_gem_home_files = gem_home_files.call + prev_threads = Thread.list.map{|e| e.inspect} + + require 'rubygems/gem_runner' +ensure + if $! + msg = <<eom +*************** +PREV + GEM_HOME: #{prev_gem_home} + Files in GEM_HOME: #{prev_gem_home_files.inspect} + Threads: #{prev_threads.inspect} +Current: + GEM_HOME: #{ENV["GEM_HOME"]} + Files in GEM_HOME: #{gem_home_files.call} + Threads: #{Thread.list.map{|e| e.inspect}.inspect} +Exception: #{$!.message} +eom + p $!.class + p $!.message.frozen? + raise $!.class, msg, $!.backtrace end end |