Detect when tests are defined
This commit is contained in:
parent
429caf69a9
commit
967a60a054
@ -17,7 +17,7 @@ module Homebrew extend self
|
|||||||
end
|
end
|
||||||
|
|
||||||
# Cannot test formulae without a test method
|
# Cannot test formulae without a test method
|
||||||
unless f.respond_to? :test
|
unless f.test_defined?
|
||||||
ofail "#{f.name} defines no test"
|
ofail "#{f.name} defines no test"
|
||||||
next
|
next
|
||||||
end
|
end
|
||||||
|
|||||||
@ -26,6 +26,7 @@ class Formula
|
|||||||
set_instance_variable :bottle
|
set_instance_variable :bottle
|
||||||
set_instance_variable :devel
|
set_instance_variable :devel
|
||||||
set_instance_variable :head
|
set_instance_variable :head
|
||||||
|
set_instance_variable :test
|
||||||
|
|
||||||
@name = name
|
@name = name
|
||||||
validate_variable :name
|
validate_variable :name
|
||||||
@ -590,12 +591,16 @@ public
|
|||||||
ret = nil
|
ret = nil
|
||||||
mktemp do
|
mktemp do
|
||||||
@testpath = Pathname.pwd
|
@testpath = Pathname.pwd
|
||||||
ret = instance_eval(&self.class.test)
|
ret = instance_eval(&@test)
|
||||||
@testpath = nil
|
@testpath = nil
|
||||||
end
|
end
|
||||||
ret
|
ret
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_defined?
|
||||||
|
not @test.nil?
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def stage
|
def stage
|
||||||
@ -642,7 +647,12 @@ private
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.method_added method
|
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
|
end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user