aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2013-01-07 17:34:56 -0600
committerJack Nagel2013-01-07 17:37:28 -0600
commit967a60a0543aab16a9a472d8150f41b6a4943359 (patch)
treed7aae96d2164b3f8940e14cb8f92865dffee36d6 /Library
parent429caf69a9bc3f86e510933d45c8d0cad6db7d10 (diff)
downloadbrew-967a60a0543aab16a9a472d8150f41b6a4943359.tar.bz2
Detect when tests are defined
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/test.rb2
-rw-r--r--Library/Homebrew/formula.rb14
2 files changed, 13 insertions, 3 deletions
diff --git a/Library/Homebrew/cmd/test.rb b/Library/Homebrew/cmd/test.rb
index 4a966d2ff..355072791 100644
--- a/Library/Homebrew/cmd/test.rb
+++ b/Library/Homebrew/cmd/test.rb
@@ -17,7 +17,7 @@ module Homebrew extend self
end
# Cannot test formulae without a test method
- unless f.respond_to? :test
+ unless f.test_defined?
ofail "#{f.name} defines no test"
next
end
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index 740577ba7..2a9e4e704 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -26,6 +26,7 @@ class Formula
set_instance_variable :bottle
set_instance_variable :devel
set_instance_variable :head
+ set_instance_variable :test
@name = name
validate_variable :name
@@ -590,12 +591,16 @@ public
ret = nil
mktemp do
@testpath = Pathname.pwd
- ret = instance_eval(&self.class.test)
+ ret = instance_eval(&@test)
@testpath = nil
end
ret
end
+ def test_defined?
+ not @test.nil?
+ end
+
private
def stage
@@ -642,7 +647,12 @@ private
end
def self.method_added method
- raise 'You cannot override Formula.brew' if method == :brew
+ case method
+ when :brew
+ raise "You cannot override Formula#brew"
+ when :test
+ @test = method
+ end
end
class << self