From a05bb488073cc8974d263576ca61706c76e110d0 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Sat, 13 Apr 2013 17:40:14 -0500 Subject: [PATCH] Raise a useful exception for incomplete formulae --- Library/Homebrew/formula.rb | 4 +++- Library/Homebrew/test/test_formula_validation.rb | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index cf7b50e555..420203167b 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -73,9 +73,11 @@ class Formula when @head && ARGV.build_head? then @head # --HEAD when @devel && ARGV.build_devel? then @devel # --devel when @bottle && install_bottle?(self) then @bottle # bottle available + when @stable then @stable when @devel && @stable.nil? then @devel # devel-only when @head && @stable.nil? then @head # head-only - else @stable + else + raise "Formulae require at least a URL" end end diff --git a/Library/Homebrew/test/test_formula_validation.rb b/Library/Homebrew/test/test_formula_validation.rb index 5c6bf28884..22b0eb06cf 100644 --- a/Library/Homebrew/test/test_formula_validation.rb +++ b/Library/Homebrew/test/test_formula_validation.rb @@ -77,4 +77,9 @@ class FormulaValidationTests < Test::Unit::TestCase end end end + + def test_empty_formula_invalid + e = assert_raises(RuntimeError) { formula {} } + assert_equal "Formulae require at least a URL", e.message + end end