Refactor and clean up code

This commit is contained in:
Max Howell 2009-08-01 17:54:44 +01:00
parent e2bc3c510e
commit a5ca752658
3 changed files with 34 additions and 57 deletions

View File

@ -41,7 +41,7 @@ case hw_model
#ENV['CFLAGS']="#{ENV['CFLAGS']} -march=nocona -msse3 -mmmx -m64"
#ENV['LDFLAGS']="-arch x86_64"
when :xeon, :macpro
when :xeon
# TODO what optimisations for xeon?
when :ppc then abort "Sorry, Homebrew does not support PowerPC architectures"

View File

@ -13,66 +13,44 @@ def hw_model
when "iMac"
if major <=4
:core1
elsif major <=8
:core2
else
$unknown_hw_model=true
$unknown_hw_model=true if major >8
:core2
end
when "MacBookAir"
if major <= 1
:core2
else
$unknown_hw_model=true
:core2
end
$unknown_hw_model=true if major > 1
:core2
when "MacBook"
if major <= 1
:core1
elsif major <= 4
:core2
else
$unknown_hw_model=true
$unknown_hw_model=true if major > 4
:core2
end
when "MacBookPro"
if major <= 1
:core1
elsif major <= 5
:core2
else
$unknown_hw_model=true
$unknown_hw_model=true if major > 5
:core2
end
when "Macmini" # Mac mini (Core Duo/Solo)
if major <= 1
:core
else
$unknown_hw_model=true
:core
end
$unknown_hw_model=true if major > 1
:core
when "MacPro"
if major <= 3
:xeon
else
$unknown_hw_model=true
:xeon
end
$unknown_hw_model=true if major > 3
:xeon
when "PowerBook", "PowerMac", "RackMac" then :ppc
when "Xserve"
if major <=2
:xeon
else
$unknown_hw_model=true
:xeon
end
$unknown_hw_model=true if major > 2
:xeon
when "ADP" then :dunno # Developer Transition Kit
when "M43ADP" then :dunno # Development Mac Pro

View File

@ -19,10 +19,9 @@ at_exit { Pathname.new(HOMEBREW_CACHE).rmtree }
require 'test/unit' # must be after at_exit
class TestFormula <Formula
def initialize url, md5='nomd5'
class MockFormula <Formula
def initialize url
@url=url
@md5=md5
super 'test'
end
end
@ -67,87 +66,87 @@ end
class BeerTasting <Test::Unit::TestCase
def test_version_all_dots
r=TestFormula.new "http://example.com/foo.bar.la.1.14.zip"
r=MockFormula.new "http://example.com/foo.bar.la.1.14.zip"
assert_equal '1.14', r.version
end
def test_version_underscore_separator
r=TestFormula.new "http://example.com/grc_1.1.tar.gz"
r=MockFormula.new "http://example.com/grc_1.1.tar.gz"
assert_equal '1.1', r.version
end
def test_boost_version_style
r=TestFormula.new "http://example.com/boost_1_39_0.tar.bz2"
r=MockFormula.new "http://example.com/boost_1_39_0.tar.bz2"
assert_equal '1.39.0', r.version
end
def test_erlang_version_style
r=TestFormula.new "http://erlang.org/download/otp_src_R13B.tar.gz"
r=MockFormula.new "http://erlang.org/download/otp_src_R13B.tar.gz"
assert_equal 'R13B', r.version
end
def test_p7zip_version_style
r=TestFormula.new "http://kent.dl.sourceforge.net/sourceforge/p7zip/p7zip_9.04_src_all.tar.bz2"
r=MockFormula.new "http://kent.dl.sourceforge.net/sourceforge/p7zip/p7zip_9.04_src_all.tar.bz2"
assert_equal '9.04', r.version
end
def test_gloox_beta_style
r=TestFormula.new "http://camaya.net/download/gloox-1.0-beta7.tar.bz2"
r=MockFormula.new "http://camaya.net/download/gloox-1.0-beta7.tar.bz2"
assert_equal '1.0-beta7', r.version
end
def test_astyle_verson_style
r=TestFormula.new "http://kent.dl.sourceforge.net/sourceforge/astyle/astyle_1.23_macosx.tar.gz"
r=MockFormula.new "http://kent.dl.sourceforge.net/sourceforge/astyle/astyle_1.23_macosx.tar.gz"
assert_equal '1.23', r.version
end
def test_version_libvorbis
r=TestFormula.new "http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.2rc1.tar.bz2"
r=MockFormula.new "http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.2rc1.tar.bz2"
assert_equal '1.2.2rc1', r.version
end
def test_dos2unix
r=TestFormula.new "http://www.sfr-fresh.com/linux/misc/dos2unix-3.1.tar.gz"
r=MockFormula.new "http://www.sfr-fresh.com/linux/misc/dos2unix-3.1.tar.gz"
assert_equal '3.1', r.version
end
def test_version_internal_dash
r=TestFormula.new "http://example.com/foo-arse-1.1-2.tar.gz"
r=MockFormula.new "http://example.com/foo-arse-1.1-2.tar.gz"
assert_equal '1.1-2', r.version
end
def test_version_single_digit
r=TestFormula.new "http://example.com/foo_bar.45.tar.gz"
r=MockFormula.new "http://example.com/foo_bar.45.tar.gz"
assert_equal '45', r.version
end
def test_noseparator_single_digit
r=TestFormula.new "http://example.com/foo_bar45.tar.gz"
r=MockFormula.new "http://example.com/foo_bar45.tar.gz"
assert_equal '45', r.version
end
def test_version_developer_that_hates_us_format
r=TestFormula.new "http://example.com/foo-bar-la.1.2.3.tar.gz"
r=MockFormula.new "http://example.com/foo-bar-la.1.2.3.tar.gz"
assert_equal '1.2.3', r.version
end
def test_version_regular
r=TestFormula.new "http://example.com/foo_bar-1.21.tar.gz"
r=MockFormula.new "http://example.com/foo_bar-1.21.tar.gz"
assert_equal '1.21', r.version
end
def test_yet_another_version
r=TestFormula.new "http://example.com/mad-0.15.1b.tar.gz"
r=MockFormula.new "http://example.com/mad-0.15.1b.tar.gz"
assert_equal '0.15.1b', r.version
end
def test_supported_compressed_types
assert_nothing_raised do
TestFormula.new 'test-0.1.tar.gz'
TestFormula.new 'test-0.1.tar.bz2'
TestFormula.new 'test-0.1.tgz'
TestFormula.new 'test-0.1.bgz'
TestFormula.new 'test-0.1.zip'
MockFormula.new 'test-0.1.tar.gz'
MockFormula.new 'test-0.1.tar.bz2'
MockFormula.new 'test-0.1.tgz'
MockFormula.new 'test-0.1.bgz'
MockFormula.new 'test-0.1.zip'
end
end