diff options
| author | Jack Nagel | 2013-01-07 17:34:56 -0600 |
|---|---|---|
| committer | Jack Nagel | 2013-01-07 17:37:28 -0600 |
| commit | 967a60a0543aab16a9a472d8150f41b6a4943359 (patch) | |
| tree | d7aae96d2164b3f8940e14cb8f92865dffee36d6 /Library | |
| parent | 429caf69a9bc3f86e510933d45c8d0cad6db7d10 (diff) | |
| download | brew-967a60a0543aab16a9a472d8150f41b6a4943359.tar.bz2 | |
Detect when tests are defined
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cmd/test.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/formula.rb | 14 |
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 |
