diff options
-rw-r--r-- | lib/rubygems/specification.rb | 6 | ||||
-rw-r--r-- | test/rubygems/test_gem.rb | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb index ad988a5a1e..bcb5da52a3 100644 --- a/lib/rubygems/specification.rb +++ b/lib/rubygems/specification.rb @@ -1395,7 +1395,11 @@ class Gem::Specification < Gem::BasicSpecification raise e end - specs = spec_dep.to_specs + begin + specs = spec_dep.to_specs + rescue Gem::MissingSpecError => e + raise Gem::MissingSpecError.new(e.name, e.requirement, "at: #{self.spec_file}") + end if specs.size == 1 specs.first.activate diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index 6b18bb9eb5..430c3a6eeb 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb @@ -1275,6 +1275,7 @@ class TestGem < Gem::TestCase end assert_match %r{Could not find 'b' }, e.message + assert_match %r{at: #{a.spec_file}}, e.message end def test_self_try_activate_missing_prerelease |