diff --git a/lib/rubygems.rb b/lib/rubygems.rb index 9b563f21ee..9e8776b027 100644 --- a/lib/rubygems.rb +++ b/lib/rubygems.rb @@ -1332,7 +1332,7 @@ begin require 'rubygems/defaults/operating_system' rescue LoadError # Ignored -rescue Exception => e +rescue StandardError => e msg = "#{e.message}\n" \ "Loading the rubygems/defaults/operating_system.rb file caused an error. " \ "This file is owned by your OS, not by rubygems upstream. " \ diff --git a/test/rubygems/test_rubygems.rb b/test/rubygems/test_rubygems.rb index f94481dc24..493b9fdf4a 100644 --- a/test/rubygems/test_rubygems.rb +++ b/test/rubygems/test_rubygems.rb @@ -10,12 +10,12 @@ class GemTest < Gem::TestCase pend "does not apply to truffleruby" if RUBY_ENGINE == 'truffleruby' path = util_install_operating_system_rb <<-RUBY - intentional synt'ax error + intentionally_not_implemented_method RUBY output = Gem::Util.popen(*ruby_with_rubygems_and_fake_operating_system_in_load_path(path), '-e', "'require \"rubygems\"'", {:err => [:child, :out]}).strip assert !$?.success? - assert_includes output, "unterminated string meets end of file (SyntaxError)" + assert_includes output, "undefined local variable or method `intentionally_not_implemented_method'" assert_includes output, "Loading the rubygems/defaults/operating_system.rb file caused an error. " \ "This file is owned by your OS, not by rubygems upstream. " \ "Please find out which OS package this file belongs to and follow the guidelines from your OS to report " \