aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/cmd/test.rb20
-rw-r--r--Library/Homebrew/formula.rb2
2 files changed, 15 insertions, 7 deletions
diff --git a/Library/Homebrew/cmd/test.rb b/Library/Homebrew/cmd/test.rb
index d8f1c5cee..7b6ade105 100644
--- a/Library/Homebrew/cmd/test.rb
+++ b/Library/Homebrew/cmd/test.rb
@@ -2,16 +2,23 @@ require 'extend/ENV'
require 'hardware'
require 'keg'
require 'timeout'
-require 'test/unit/assertions'
module Homebrew extend self
TEST_TIMEOUT_SECONDS = 5*60
- if Object.const_defined?(:Minitest)
- FailedAssertion = Minitest::Assertion
- elsif Object.const_defined?(:MiniTest)
- FailedAssertion = MiniTest::Assertion
+ if defined?(Gem)
+ begin
+ gem "minitest", "< 5.0.0"
+ rescue Gem::LoadError
+ require "test/unit/assertions"
+ FailedAssertion = Test::Unit::AssertionFailedError
+ else
+ require "minitest/unit"
+ require "test/unit/assertions"
+ FailedAssertion = MiniTest::Assertion
+ end
else
+ require "test/unit/assertions"
FailedAssertion = Test::Unit::AssertionFailedError
end
@@ -35,6 +42,9 @@ module Homebrew extend self
end
puts "Testing #{f.name}"
+
+ f.extend(Test::Unit::Assertions)
+
begin
# tests can also return false to indicate failure
Timeout::timeout TEST_TIMEOUT_SECONDS do
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index 9c5d6ce2d..11e1eecb7 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -491,8 +491,6 @@ class Formula
end
def test
- require 'test/unit/assertions'
- extend(Test::Unit::Assertions)
# Adding the used options allows us to use `build.with?` inside of tests
tab = Tab.for_name(name)
tab.used_options.each { |opt| build.args << opt unless build.has_opposite_of? opt }