aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/rubygems/specification.rb6
-rw-r--r--test/rubygems/test_gem.rb1
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