diff options
Diffstat (limited to 'Library/Homebrew')
| -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 |
