diff --git a/lib/rubygems/exceptions.rb b/lib/rubygems/exceptions.rb index 5fadbe9bca..48964b10d9 100644 --- a/lib/rubygems/exceptions.rb +++ b/lib/rubygems/exceptions.rb @@ -221,14 +221,12 @@ class Gem::SystemExitException < SystemExit ## # The exit code for the process - attr_accessor :exit_code + alias exit_code status ## # Creates a new SystemExitException with the given +exit_code+ def initialize(exit_code) - @exit_code = exit_code - super exit_code, "Exiting RubyGems with exit_code #{exit_code}" end end diff --git a/test/rubygems/test_exit.rb b/test/rubygems/test_exit.rb index 3986daa992..707150efaa 100644 --- a/test/rubygems/test_exit.rb +++ b/test/rubygems/test_exit.rb @@ -8,4 +8,10 @@ class TestExit < Gem::TestCase system(*ruby_with_rubygems_in_load_path, "-e", "raise Gem::SystemExitException.new(2)") assert_equal 2, $?.exitstatus end + + def test_status + exc = Gem::SystemExitException.new(42) + assert_equal 42, exc.status + assert_equal 42, exc.exit_code + end end