aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2013-04-13 17:46:11 -0500
committerJack Nagel2013-04-13 18:23:06 -0500
commitef4de70a5f6af8d292a61115a2fd491d55d5412a (patch)
tree3011c9c08380df836ee622f4337126427241daa4
parent04e2ae6d606db14f9449df284bdd68f079288a5b (diff)
downloadhomebrew-ef4de70a5f6af8d292a61115a2fd491d55d5412a.tar.bz2
Remove obsolete tests
This behavior is now tested at more appropriate levels in test_software_spec, test_formula_spec_selection, and test_formula_validation.
-rw-r--r--Library/Homebrew/test/test_formula.rb202
-rw-r--r--Library/Homebrew/test/test_formula_spec_selection.rb48
-rw-r--r--Library/Homebrew/test/test_software_spec.rb12
-rw-r--r--Library/Homebrew/test/testball.rb160
4 files changed, 83 insertions, 339 deletions
diff --git a/Library/Homebrew/test/test_formula.rb b/Library/Homebrew/test/test_formula.rb
index 434dd3ac1..22fb2f238 100644
--- a/Library/Homebrew/test/test_formula.rb
+++ b/Library/Homebrew/test/test_formula.rb
@@ -67,12 +67,34 @@ class FormulaTests < Test::Unit::TestCase
f.downloader.instance_variable_get(:@url)
end
- def test_formula_specs
- f = SpecTestBall.new
+ def test_formula_spec_integration
+ f = Class.new(Formula) do
+ homepage 'http://example.com'
+ url 'file:///foo.com/testball-0.1.tbz'
+ mirror 'file:///foo.org/testball-0.1.tbz'
+ sha1 '482e737739d946b7c8cbaf127d9ee9c148b999f5'
+
+ head 'https://github.com/mxcl/homebrew.git', :tag => 'foo'
+
+ devel do
+ url 'file:///foo.com/testball-0.2.tbz'
+ mirror 'file:///foo.org/testball-0.2.tbz'
+ sha256 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef'
+ end
+
+ bottle do
+ sha1 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' => :snow_leopard_32
+ sha1 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' => :snow_leopard
+ sha1 'baadf00dbaadf00dbaadf00dbaadf00dbaadf00d' => :lion
+ sha1 '8badf00d8badf00d8badf00d8badf00d8badf00d' => :mountain_lion
+ end
+
+ def initialize(name="spec_test_ball", path=nil)
+ super
+ end
+ end.new
assert_equal 'http://example.com', f.homepage
- assert_equal 'file:///foo.com/testball-0.1.tbz', f.url
- assert_equal 1, f.mirrors.length
assert_version_equal '0.1', f.version
assert_equal f.stable, f.active_spec
assert_equal CurlDownloadStrategy, f.download_strategy
@@ -82,178 +104,6 @@ class FormulaTests < Test::Unit::TestCase
assert_instance_of Bottle, f.bottle
assert_instance_of SoftwareSpec, f.devel
assert_instance_of HeadSoftwareSpec, f.head
-
- assert_equal 'file:///foo.com/testball-0.1.tbz', f.stable.url
- assert_equal "https://downloads.sf.net/project/machomebrew/Bottles/spec_test_ball-0.1.#{MacOS.cat}.bottle.tar.gz",
- f.bottle.url
- assert_equal 'file:///foo.com/testball-0.2.tbz', f.devel.url
- assert_equal 'https://github.com/mxcl/homebrew.git', f.head.url
-
- assert_empty f.stable.specs
- assert_empty f.bottle.specs
- assert_empty f.devel.specs
- assert_equal({ :tag => 'foo' }, f.head.specs)
-
- assert_equal CurlDownloadStrategy, f.stable.download_strategy
- assert_equal CurlBottleDownloadStrategy, f.bottle.download_strategy
- assert_equal CurlDownloadStrategy, f.devel.download_strategy
- assert_equal GitDownloadStrategy, f.head.download_strategy
-
- assert_instance_of Checksum, f.stable.checksum
- assert_instance_of Checksum, f.bottle.checksum
- assert_instance_of Checksum, f.devel.checksum
- assert !f.stable.checksum.empty?
- assert !f.bottle.checksum.empty?
- assert !f.devel.checksum.empty?
- assert_nil f.head.checksum
- assert_equal :sha1, f.stable.checksum.hash_type
- assert_equal :sha1, f.bottle.checksum.hash_type
- assert_equal :sha256, f.devel.checksum.hash_type
- assert_equal case MacOS.cat
- when :snow_leopard_32 then 'deadbeef'*5
- when :snow_leopard then 'faceb00c'*5
- when :lion then 'baadf00d'*5
- when :mountain_lion then '8badf00d'*5
- end, f.bottle.checksum.hexdigest
- assert_match(/[0-9a-fA-F]{40}/, f.stable.checksum.hexdigest)
- assert_match(/[0-9a-fA-F]{64}/, f.devel.checksum.hexdigest)
-
- assert_equal 1, f.stable.mirrors.length
- assert f.bottle.mirrors.empty?
- assert_equal 1, f.devel.mirrors.length
- assert f.head.mirrors.empty?
-
- assert f.stable.version.detected_from_url?
- assert f.bottle.version.detected_from_url?
- assert f.devel.version.detected_from_url?
- assert_version_equal '0.1', f.stable.version
- assert_version_equal '0.1', f.bottle.version
- assert_version_equal '0.2', f.devel.version
- assert_version_equal 'HEAD', f.head.version
- assert_equal 0, f.bottle.revision
- end
-
- def test_devel_active_spec
- ARGV << '--devel'
- f = SpecTestBall.new
- assert_equal f.devel, f.active_spec
- assert_version_equal '0.2', f.version
- assert_equal 'file:///foo.com/testball-0.2.tbz', f.url
- assert_equal CurlDownloadStrategy, f.download_strategy
- assert_instance_of CurlDownloadStrategy, f.downloader
- ensure
- ARGV.delete '--devel'
- end
-
- def test_head_active_spec
- ARGV << '--HEAD'
- f = SpecTestBall.new
- assert_equal f.head, f.active_spec
- assert_version_equal 'HEAD', f.version
- assert_equal 'https://github.com/mxcl/homebrew.git', f.url
- assert_equal GitDownloadStrategy, f.download_strategy
- assert_instance_of GitDownloadStrategy, f.downloader
- ensure
- ARGV.delete '--HEAD'
- end
-
- def test_explicit_version_spec
- f = ExplicitVersionSpecTestBall.new
- assert_version_equal '0.3', f.version
- assert_version_equal '0.3', f.stable.version
- assert_version_equal '0.4', f.devel.version
- assert !f.stable.version.detected_from_url?
- assert !f.devel.version.detected_from_url?
- end
-
- def test_head_only_specs
- f = HeadOnlySpecTestBall.new
-
- assert_nil f.stable
- assert_nil f.bottle
- assert_nil f.devel
-
- assert_equal f.head, f.active_spec
- assert_version_equal 'HEAD', f.version
- assert_nil f.head.checksum
- assert_equal 'https://github.com/mxcl/homebrew.git', f.url
- assert_equal GitDownloadStrategy, f.download_strategy
- assert_instance_of GitDownloadStrategy, f.downloader
- assert_instance_of HeadSoftwareSpec, f.head
- end
-
- def test_incomplete_stable_specs
- f = IncompleteStableSpecTestBall.new
-
- assert_nil f.stable
- assert_nil f.bottle
- assert_nil f.devel
-
- assert_equal f.head, f.active_spec
- assert_version_equal 'HEAD', f.version
- assert_nil f.head.checksum
- assert_equal 'https://github.com/mxcl/homebrew.git', f.url
- assert_equal GitDownloadStrategy, f.download_strategy
- assert_instance_of GitDownloadStrategy, f.downloader
- assert_instance_of HeadSoftwareSpec, f.head
- end
-
- def test_head_only_with_version_specs
- f = IncompleteStableSpecTestBall.new
-
- assert_nil f.stable
- assert_nil f.bottle
- assert_nil f.devel
-
- assert_equal f.head, f.active_spec
- assert_version_equal 'HEAD', f.version
- assert_nil f.head.checksum
- assert_equal 'https://github.com/mxcl/homebrew.git', f.url
- assert_equal GitDownloadStrategy, f.download_strategy
- assert_instance_of GitDownloadStrategy, f.downloader
- assert_instance_of HeadSoftwareSpec, f.head
- end
-
- def test_explicit_strategy_specs
- f = ExplicitStrategySpecTestBall.new
-
- assert_instance_of SoftwareSpec, f.stable
- assert_instance_of SoftwareSpec, f.devel
- assert_instance_of HeadSoftwareSpec, f.head
-
- assert_equal f.stable, f.active_spec
-
- assert_nil f.stable.checksum
- assert_nil f.devel.checksum
- assert_nil f.head.checksum
-
- assert_equal MercurialDownloadStrategy, f.stable.download_strategy
- assert_equal BazaarDownloadStrategy, f.devel.download_strategy
- assert_equal SubversionDownloadStrategy, f.head.download_strategy
-
- assert_equal({ :tag => '0.2' }, f.stable.specs)
- assert_equal({ :tag => '0.3' }, f.devel.specs)
- assert f.head.specs.empty?
- end
-
- def test_revised_bottle_specs
- f = RevisedBottleSpecTestBall.new
-
- assert_equal 1, f.bottle.revision
- assert_equal case MacOS.cat
- when :snow_leopard_32 then 'deadbeef'*5
- when :snow_leopard then 'faceb00k'*5
- when :lion then 'baadf00d'*5
- when :mountain_lion then '8badf00d'*5
- end, f.bottle.checksum.hexdigest
- end
-
- def test_custom_version_scheme
- scheme = Class.new(Version)
- f = Class.new(TestBall) { version '1.0' => scheme }.new
-
- assert_version_equal '1.0', f.version
- assert_instance_of scheme, f.version
end
def test_formula_funcs
diff --git a/Library/Homebrew/test/test_formula_spec_selection.rb b/Library/Homebrew/test/test_formula_spec_selection.rb
index 73cf97ad2..b16192ac3 100644
--- a/Library/Homebrew/test/test_formula_spec_selection.rb
+++ b/Library/Homebrew/test/test_formula_spec_selection.rb
@@ -10,6 +10,10 @@ class FormulaSpecSelectionTests < Test::Unit::TestCase
assert_equal @_f.send(spec), @_f.active_spec
end
+ def assert_spec_unset(spec)
+ assert_nil @_f.send(spec)
+ end
+
def test_selects_head_when_requested
ARGV.stubs(:build_head?).returns(true)
@@ -96,4 +100,48 @@ class FormulaSpecSelectionTests < Test::Unit::TestCase
assert_spec_selected :head
end
+
+ def test_incomplete_spec_not_selected
+ formula do
+ sha1 'deadbeef'*5
+ version '1.0'
+ head 'foo'
+ end
+
+ assert_spec_selected :head
+ end
+
+ def test_incomplete_stable_not_set
+ formula do
+ sha1 'foo'
+ devel { url 'foo-1.1a' }
+ head 'foo'
+ end
+
+ assert_spec_unset :stable
+ assert_spec_selected :devel
+ end
+
+ def test_incomplete_devel_not_set
+ formula do
+ url 'foo-1.0'
+ devel { version '1.1a' }
+ head 'foo'
+ end
+
+ assert_spec_unset :devel
+ assert_spec_selected :stable
+ end
+
+ def test_incomplete_bottle_not_set
+ formula do
+ url 'foo-1.0'
+ bottle do
+ sha1 'deadbeef'*5 => :some_nonexistent_thing
+ end
+ end
+
+ assert_spec_unset :bottle
+ assert_spec_selected :stable
+ end
end
diff --git a/Library/Homebrew/test/test_software_spec.rb b/Library/Homebrew/test/test_software_spec.rb
index 8e23bc4a1..52070bf02 100644
--- a/Library/Homebrew/test/test_software_spec.rb
+++ b/Library/Homebrew/test/test_software_spec.rb
@@ -23,7 +23,7 @@ class SoftwareSpecTests < Test::Unit::TestCase
assert_equal({ :branch => 'master' }, @spec.specs)
end
- def test_url_with_custom_download_strategy
+ def test_url_with_custom_download_strategy_class
strategy = Class.new(AbstractDownloadStrategy)
@spec.url('foo', :using => strategy)
assert_equal 'foo', @spec.url
@@ -38,14 +38,22 @@ class SoftwareSpecTests < Test::Unit::TestCase
assert_equal strategy, @spec.download_strategy
end
+ def test_url_with_custom_download_strategy_symbol
+ @spec.url('foo', :using => :git)
+ assert_equal 'foo', @spec.url
+ assert_equal GitDownloadStrategy, @spec.download_strategy
+ end
+
def test_version
@spec.version('1.0')
assert_version_equal '1.0', @spec.version
+ assert !@spec.version.detected_from_url?
end
def test_version_from_url
@spec.url('http://foo.com/bar-1.0.tar.gz')
assert_version_equal '1.0', @spec.version
+ assert @spec.version.detected_from_url?
end
def test_version_with_scheme
@@ -122,8 +130,6 @@ class HeadSoftwareSpecTests < Test::Unit::TestCase
end
class BottleTests < Test::Unit::TestCase
- include VersionAssertions
-
def setup
@spec = Bottle.new
end
diff --git a/Library/Homebrew/test/testball.rb b/Library/Homebrew/test/testball.rb
index 9516fec0b..d7479a7f7 100644
--- a/Library/Homebrew/test/testball.rb
+++ b/Library/Homebrew/test/testball.rb
@@ -29,163 +29,3 @@ class ConfigureFails < Formula
system "./configure"
end
end
-
-class SpecTestBall < Formula
- homepage 'http://example.com'
- url 'file:///foo.com/testball-0.1.tbz'
- mirror 'file:///foo.org/testball-0.1.tbz'
- sha1 '482e737739d946b7c8cbaf127d9ee9c148b999f5'
-
- head 'https://github.com/mxcl/homebrew.git', :tag => 'foo'
-
- devel do
- url 'file:///foo.com/testball-0.2.tbz'
- mirror 'file:///foo.org/testball-0.2.tbz'
- sha256 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef'
- end
-
- bottle do
- sha1 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' => :snow_leopard_32
- sha1 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' => :snow_leopard
- sha1 'baadf00dbaadf00dbaadf00dbaadf00dbaadf00d' => :lion
- sha1 '8badf00d8badf00d8badf00d8badf00d8badf00d' => :mountain_lion
- end
-
- def initialize(name="spec_test_ball", path=nil)
- super
- end
-end
-
-class ExplicitVersionSpecTestBall < Formula
- homepage 'http://example.com'
- url 'file:///foo.com/testball-stable.tbz'
- sha1 '482e737739d946b7c8cbaf127d9ee9c148b999f5'
- version '0.3'
-
- devel do
- url 'file:///foo.com/testball-devel.tbz'
- sha1 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeef'
- version '0.4'
- end
-
- bottle do
- version '1'
- sha1 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' => :snow_leopard
- sha1 'baadf00dbaadf00dbaadf00dbaadf00dbaadf00d' => :lion
- sha1 '8badf00d8badf00d8badf00d8badf00d8badf00d' => :mountain_lion
- end
-
- def initialize(name="explicit_version_spec_test_ball", path=nil)
- super
- end
-end
-
-class HeadOnlySpecTestBall < Formula
- homepage 'http://example.com'
- head 'https://github.com/mxcl/homebrew.git'
-
- def initialize(name="head_only_spec_test_ball", path=nil)
- super
- end
-end
-
-class IncompleteStableSpecTestBall < Formula
- homepage 'http://example.com'
- head 'https://github.com/mxcl/homebrew.git'
- sha1 '482e737739d946b7c8cbaf127d9ee9c148b999f5'
-
- def initialize(name="incomplete_spec_test_ball", path=nil)
- super
- end
-end
-
-class HeadOnlyWithVersionSpecTestBall < Formula
- homepage 'http://example.com'
- head 'https://github.com/mxcl/homebrew.git'
- version '0.3'
-
- def initialize(name="head_only_with_version_spec_test_ball", path=nil)
- super
- end
-end
-
-class ExplicitStrategySpecTestBall < Formula
- homepage 'http://example.com'
- url 'file:///foo.com/testball-stable', :using => :hg, :tag => '0.2'
- head 'file:///foo.com/testball-head', :using => :svn
-
- devel do
- url 'file:///foo.com/testball-devel', :using => :bzr, :tag => '0.3'
- end
-
- def initialize(name="explicit_strategy_spec_test_ball", path=nil)
- super
- end
-end
-
-class SnowLeopardBottleSpecTestBall < Formula
- homepage 'http://example.com'
- url 'file:///foo.com/testball-0.1.tbz'
- sha1 '482e737739d946b7c8cbaf127d9ee9c148b999f5'
-
- bottle do
- cellar :any
- sha1 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' => :snow_leopard
- end
-
- def initialize(name="snow_leopard_bottle_spec_test_ball", path=nil)
- super
- end
-end
-
-class LionBottleSpecTestBall < Formula
- homepage 'http://example.com'
- url 'file:///foo.com/testball-0.1.tbz'
- sha1 '482e737739d946b7c8cbaf127d9ee9c148b999f5'
-
- bottle do
- cellar :any
- sha1 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' => :lion
- end
-
- def initialize(name="lion_bottle_spec_test_ball", path=nil)
- super
- end
-end
-
-class AllCatsBottleSpecTestBall < Formula
- homepage 'http://example.com'
- url 'file:///foo.com/testball-0.1.tbz'
- sha1 '482e737739d946b7c8cbaf127d9ee9c148b999f5'
-
- bottle do
- prefix '/private/tmp/testbrew/prefix'
- cellar '/private/tmp/testbrew/cellar'
- sha1 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' => :snow_leopard_32
- sha1 'faceb00cfaceb00cfaceb00cfaceb00cfaceb00c' => :snow_leopard
- sha1 'baadf00dbaadf00dbaadf00dbaadf00dbaadf00d' => :lion
- sha1 '8badf00d8badf00d8badf00d8badf00d8badf00d' => :mountain_lion
- end
-
- def initialize(name="all_cats_bottle_spec_test_ball", path=nil)
- super
- end
-end
-
-class RevisedBottleSpecTestBall < Formula
- homepage 'http://example.com'
- url 'file:///foo.com/testball-0.1.tbz'
- sha1 '482e737739d946b7c8cbaf127d9ee9c148b999f5'
-
- bottle do
- revision 1
- sha1 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' => :snow_leopard_32
- sha1 'faceb00cfaceb00cfaceb00cfaceb00cfaceb00c' => :snow_leopard
- sha1 'baadf00dbaadf00dbaadf00dbaadf00dbaadf00d' => :lion
- sha1 '8badf00d8badf00d8badf00d8badf00d8badf00d' => :mountain_lion
- end
-
- def initialize(name="revised_bottle_spec_test_ball", path=nil)
- super
- end
-end