diff options
| author | Misty De Meo | 2017-06-29 17:38:44 -0700 | 
|---|---|---|
| committer | Misty De Meo | 2017-06-29 17:40:04 -0700 | 
| commit | 5b464babf8982acbb6e6d193c9b6016820c69b9b (patch) | |
| tree | 7df7f40cc69789c0cbda7c82e8d09364e05c8156 /Library | |
| parent | 1503c9fcb2509d099dea8fa0f1ae36b9044152f5 (diff) | |
| download | brew-5b464babf8982acbb6e6d193c9b6016820c69b9b.tar.bz2 | |
Define a custom assertion failure error for cross-version compat
Fixes #2840.
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/dev-cmd/test.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/formula_assertions.rb | 13 | 
2 files changed, 14 insertions, 1 deletions
| diff --git a/Library/Homebrew/dev-cmd/test.rb b/Library/Homebrew/dev-cmd/test.rb index a8661179f..94cf1e331 100644 --- a/Library/Homebrew/dev-cmd/test.rb +++ b/Library/Homebrew/dev-cmd/test.rb @@ -83,7 +83,7 @@ module Homebrew              exec(*args)            end          end -      rescue MiniTest::Assertion => e +      rescue Homebrew::Assertions::AssertionFailed => e          ofail "#{f.full_name}: failed"          puts e.message        rescue Exception => e diff --git a/Library/Homebrew/formula_assertions.rb b/Library/Homebrew/formula_assertions.rb index f81087a3d..49198cf43 100644 --- a/Library/Homebrew/formula_assertions.rb +++ b/Library/Homebrew/formula_assertions.rb @@ -3,6 +3,19 @@ module Homebrew      require "test/unit/assertions"      include ::Test::Unit::Assertions +    # Custom name here for cross-version compatibility. +    # In Ruby 2.0, Test::Unit::Assertions raise a MiniTest::Assertion, +    # but they raise Test::Unit::AssertionFailedError in 2.3. +    # If neither is defined, this might be a completely different +    # version of Ruby. +    if defined?(MiniTest::Assertion) +      AssertionFailed = MiniTest::Assertion +    elsif defined?(Test::Unit::AssertionFailedError) +      AssertionFailed = Test::Unit::AssertionFailedError +    else +      raise NameError, "Unable to find an assertion class for this version of Ruby (#{RUBY_VERSION})" +    end +      # Returns the output of running cmd, and asserts the exit status      def shell_output(cmd, result = 0)        ohai cmd | 
