aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2014-06-18 23:17:49 -0500
committerJack Nagel2014-06-18 23:20:56 -0500
commit2122620d7115917120aa2c60bbc971271503053c (patch)
tree4c484a2bbf3599983bd3d35c6f3d10f57c1cb595 /Library
parentea203c2aaccc466fc782fa7f2b37cec6527b0cf5 (diff)
downloadbrew-2122620d7115917120aa2c60bbc971271503053c.tar.bz2
Fix `brew test` when conflicting minitest gems are installed
Diffstat (limited to 'Library')
-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 }