Detect when tests are defined
This commit is contained in:
parent
429caf69a9
commit
967a60a054
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user