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
commit16a9f36aebcbc5131f2433ed3a3fe8956d782681 (patch)
treead4de0061685a2c9bba804ec004aa3686f09872f /Library
parent76d7be3a6959e973338a03310b4f880c9c342486 (diff)
downloadhomebrew-16a9f36aebcbc5131f2433ed3a3fe8956d782681.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