aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
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/Homebrew/cmd
parentea203c2aaccc466fc782fa7f2b37cec6527b0cf5 (diff)
downloadbrew-2122620d7115917120aa2c60bbc971271503053c.tar.bz2
Fix `brew test` when conflicting minitest gems are installed
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/test.rb20
1 files changed, 15 insertions, 5 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