Detect when tests are defined

This commit is contained in:
Jack Nagel 2013-01-07 17:34:56 -06:00
parent 429caf69a9
commit 967a60a054
2 changed files with 13 additions and 3 deletions

View File

@ -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

View File

@ -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