diff options
| author | Jack Nagel | 2014-09-18 14:16:07 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-09-18 14:16:07 -0500 |
| commit | 79a6e59e6e7af943b98ecc58901d0a45592a139e (patch) | |
| tree | a76519b15637380db9f84d5b0c51cb555256d569 /Library/Homebrew | |
| parent | 1abcb0b348c0d0b07ee92ed274c5d97550b39ee4 (diff) | |
| download | brew-79a6e59e6e7af943b98ecc58901d0a45592a139e.tar.bz2 | |
Implement `brew test --debug`
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/cmd/test.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/debrew.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/formula.rb | 15 |
3 files changed, 15 insertions, 8 deletions
diff --git a/Library/Homebrew/cmd/test.rb b/Library/Homebrew/cmd/test.rb index b47a85ed4..630450744 100644 --- a/Library/Homebrew/cmd/test.rb +++ b/Library/Homebrew/cmd/test.rb @@ -1,5 +1,6 @@ require "extend/ENV" require "timeout" +require "debrew" module Homebrew TEST_TIMEOUT_SECONDS = 5*60 @@ -50,11 +51,12 @@ module Homebrew f.extend(Test::Unit::Assertions) f.extend(Homebrew::Assertions) + f.extend(Debrew::Formula) if ARGV.debug? begin # tests can also return false to indicate failure Timeout::timeout TEST_TIMEOUT_SECONDS do - raise if f.test == false + raise if f.run_test == false end rescue FailedAssertion => e ofail "#{f.name}: failed" diff --git a/Library/Homebrew/debrew.rb b/Library/Homebrew/debrew.rb index fbddadbd5..f3d3dffa3 100644 --- a/Library/Homebrew/debrew.rb +++ b/Library/Homebrew/debrew.rb @@ -21,6 +21,10 @@ module Debrew def install Debrew.debrew { super } end + + def test + Debrew.debrew { super } + end end module Resource diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 23087ada6..261d3c5a0 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -473,21 +473,23 @@ class Formula active_spec.verify_download_integrity(fn) end - def test + def run_test self.build = Tab.for_formula(self) - ret = nil mktemp do @testpath = Pathname.pwd - ret = instance_eval(&self.class.test) - @testpath = nil + test end - ret + ensure + @testpath = nil end def test_defined? false end + def test + end + protected # Pretty titles the command and buffers stdout/stderr @@ -769,9 +771,8 @@ class Formula end def test &block - return @test unless block_given? define_method(:test_defined?) { true } - @test = block + define_method(:test, &block) end end end |
