aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
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