From 003a9e7fd7d0edee68b61873fe1e38e95626407a Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Wed, 9 Jan 2013 18:30:33 -0600 Subject: [PATCH] Don't store test Proc if we might need to marshall the formula Procs cannot be marshalled, but formula objects may be as part of the BuildError exception. If the formula object has a reference to a Proc, this will fail. Work around it by not storing the test Procs during installations. --- Library/Homebrew/formula.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 2a9e4e704e..f8a21ab364 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -800,7 +800,11 @@ private def test &block return @test unless block_given? - @test = block + # If this formula is the executing script, we are performing an + # install. Since it may be marshalled back to the main process as + # part of an exception, don't store this Proc because Procs can't + # be marshalled. + @test = block unless $0 != HOMEBREW_BREW_FILE.to_s end end end