aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2014-06-18 20:32:51 -0500
committerJack Nagel2014-06-18 20:32:51 -0500
commit203653e821c40a68dbdfd9a9457214dfa63111ad (patch)
treee14dd3b3016e6202811e94fafc52142a89053948
parentbe6c29846b51b91254a86117e904747b2fe2a4d8 (diff)
downloadhomebrew-203653e821c40a68dbdfd9a9457214dfa63111ad.tar.bz2
Move test helpers into Homebrew::TestCase
-rw-r--r--Library/Homebrew/test/test_formula.rb2
-rw-r--r--Library/Homebrew/test/test_resource.rb2
-rw-r--r--Library/Homebrew/test/test_software_spec.rb4
-rw-r--r--Library/Homebrew/test/test_versions.rb6
-rw-r--r--Library/Homebrew/test/testing_env.rb77
5 files changed, 38 insertions, 53 deletions
diff --git a/Library/Homebrew/test/test_formula.rb b/Library/Homebrew/test/test_formula.rb
index e8a8f7f3a..eda6933fe 100644
--- a/Library/Homebrew/test/test_formula.rb
+++ b/Library/Homebrew/test/test_formula.rb
@@ -2,8 +2,6 @@ require 'testing_env'
require 'test/testball'
class FormulaTests < Homebrew::TestCase
- include VersionAssertions
-
def test_formula_instantiation
klass = Class.new(Formula) { url "http://example.com/foo-1.0.tar.gz" }
name = "formula_name"
diff --git a/Library/Homebrew/test/test_resource.rb b/Library/Homebrew/test/test_resource.rb
index 3f60c33c1..03cb11c1b 100644
--- a/Library/Homebrew/test/test_resource.rb
+++ b/Library/Homebrew/test/test_resource.rb
@@ -2,8 +2,6 @@ require 'testing_env'
require 'resource'
class ResourceTests < Homebrew::TestCase
- include VersionAssertions
-
def setup
@resource = Resource.new('test')
end
diff --git a/Library/Homebrew/test/test_software_spec.rb b/Library/Homebrew/test/test_software_spec.rb
index 11b4ed11e..669f7d5e5 100644
--- a/Library/Homebrew/test/test_software_spec.rb
+++ b/Library/Homebrew/test/test_software_spec.rb
@@ -2,8 +2,6 @@ require 'testing_env'
require 'software_spec'
class SoftwareSpecTests < Homebrew::TestCase
- include VersionAssertions
-
def setup
@spec = SoftwareSpec.new
end
@@ -88,8 +86,6 @@ class SoftwareSpecTests < Homebrew::TestCase
end
class HeadSoftwareSpecTests < Homebrew::TestCase
- include VersionAssertions
-
def setup
@spec = HeadSoftwareSpec.new
end
diff --git a/Library/Homebrew/test/test_versions.rb b/Library/Homebrew/test/test_versions.rb
index 93abb87d2..f317237e3 100644
--- a/Library/Homebrew/test/test_versions.rb
+++ b/Library/Homebrew/test/test_versions.rb
@@ -2,8 +2,6 @@ require 'testing_env'
require 'version'
class VersionTests < Homebrew::TestCase
- include VersionAssertions
-
def test_accepts_objects_responding_to_to_str
value = stub(:to_str => '0.1')
assert_equal '0.1', Version.new(value).to_s
@@ -29,8 +27,6 @@ class VersionTests < Homebrew::TestCase
end
class VersionComparisonTests < Homebrew::TestCase
- include VersionAssertions
-
def test_version_comparisons
assert_operator version('0.1'), :==, version('0.1.0')
assert_operator version('0.1'), :<, version('0.2')
@@ -96,8 +92,6 @@ class VersionComparisonTests < Homebrew::TestCase
end
class VersionParsingTests < Homebrew::TestCase
- include VersionAssertions
-
def test_pathname_version
d = HOMEBREW_CELLAR/'foo-0.1.9'
d.mkpath
diff --git a/Library/Homebrew/test/testing_env.rb b/Library/Homebrew/test/testing_env.rb
index 981be411d..76e1b19f3 100644
--- a/Library/Homebrew/test/testing_env.rb
+++ b/Library/Homebrew/test/testing_env.rb
@@ -56,23 +56,6 @@ at_exit { HOMEBREW_PREFIX.parent.rmtree }
# Test fixtures and files can be found relative to this path
TEST_DIRECTORY = File.dirname(File.expand_path(__FILE__))
-def shutup
- if ARGV.verbose?
- yield
- else
- begin
- tmperr = $stderr.clone
- tmpout = $stdout.clone
- $stderr.reopen '/dev/null', 'w'
- $stdout.reopen '/dev/null', 'w'
- yield
- ensure
- $stderr.reopen tmperr
- $stdout.reopen tmpout
- end
- end
-end
-
require 'test/unit' # must be after at_exit
require 'extend/ARGV' # needs to be after test/unit to avoid conflict with OptionsParser
ARGV.extend(HomebrewArgvExtension)
@@ -84,28 +67,6 @@ rescue LoadError
warn 'The mocha gem is required to run some tests, expect failures'
end
-module VersionAssertions
- def version v
- Version.new(v)
- end
-
- def assert_version_equal expected, actual
- assert_equal Version.new(expected), actual
- end
-
- def assert_version_detected expected, url
- assert_equal expected, Version.parse(url).to_s
- end
-
- def assert_version_nil url
- assert_nil Version.parse(url)
- end
-
- def assert_version_tokens tokens, version
- assert_equal tokens, version.send(:tokens).map(&:to_s)
- end
-end
-
module Test::Unit::Assertions
def assert_empty(obj, msg=nil)
assert_respond_to(obj, :empty?, msg)
@@ -114,12 +75,50 @@ module Test::Unit::Assertions
end
module Homebrew
+ module VersionAssertions
+ def version v
+ Version.new(v)
+ end
+
+ def assert_version_equal expected, actual
+ assert_equal Version.new(expected), actual
+ end
+
+ def assert_version_detected expected, url
+ assert_equal expected, Version.parse(url).to_s
+ end
+
+ def assert_version_nil url
+ assert_nil Version.parse(url)
+ end
+
+ def assert_version_tokens tokens, version
+ assert_equal tokens, version.send(:tokens).map(&:to_s)
+ end
+ end
+
class TestCase < ::Test::Unit::TestCase
+ include VersionAssertions
+
TEST_SHA1 = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef".freeze
TEST_SHA256 = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef".freeze
def formula(name="formula_name", path=Formula.path(name), &block)
@_f = Class.new(Formula, &block).new(name, path)
end
+
+ def shutup
+ err = $stderr.clone
+ out = $stdout.clone
+
+ begin
+ $stderr.reopen("/dev/null", "w")
+ $stdout.reopen("/dev/null", "w")
+ yield
+ ensure
+ $stderr.reopen(err)
+ $stdout.reopen(out)
+ end
+ end
end
end