aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorAdam Vandenberg2010-03-16 22:13:18 -0700
committerAdam Vandenberg2010-04-06 08:27:12 -0700
commit5cbab370e485689762230bf2a05d8c6d881175cf (patch)
treeb2a44ccb16c62cc37aa084c3244e07e0adec59dd /Library/Homebrew
parente4766639dc00f3844e4ab18fbd36d90633549dcf (diff)
downloadbrew-5cbab370e485689762230bf2a05d8c6d881175cf.tar.bz2
Switch test_bucket over to use testing_env.
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/test/test_bucket.rb37
-rwxr-xr-xLibrary/Homebrew/test/tests30
-rwxr-xr-xLibrary/Homebrew/test/unittest.rb96
3 files changed, 46 insertions, 117 deletions
diff --git a/Library/Homebrew/test/test_bucket.rb b/Library/Homebrew/test/test_bucket.rb
index 131edacaa..9f5ebdb09 100644
--- a/Library/Homebrew/test/test_bucket.rb
+++ b/Library/Homebrew/test/test_bucket.rb
@@ -1,6 +1,43 @@
+require 'testing_env'
+
require 'extend/ARGV' # needs to be after test/unit to avoid conflict with OptionsParser
ARGV.extend(HomebrewArgvExtension)
+require 'test/testball'
+require 'utils'
+require 'brew.h'
+
+class MockFormula <Formula
+ def initialize url
+ @url=url
+ @homepage = 'http://example.com/'
+ super 'test'
+ end
+end
+
+class MostlyAbstractFormula <Formula
+ @url=''
+ @homepage = 'http://example.com/'
+end
+
+class TestZip <Formula
+ def initialize
+ zip=HOMEBREW_CACHE.parent+'test-0.1.zip'
+ Kernel.system '/usr/bin/zip', '-0', zip, ABS__FILE__
+ @url="file://#{zip}"
+ @homepage = 'http://example.com/'
+ super 'testzip'
+ end
+end
+
+class TestBallOverrideBrew <Formula
+ def initialize
+ super "foo"
+ end
+ def brew
+ end
+end
+
# All other tests so far -- feel free to break them out into
# separate TestCase classes.
diff --git a/Library/Homebrew/test/tests b/Library/Homebrew/test/tests
index 10cedae1e..d439f17d1 100755
--- a/Library/Homebrew/test/tests
+++ b/Library/Homebrew/test/tests
@@ -5,36 +5,24 @@
# Note: "formula_test" is omitted; these aren't unit tests but sanity checks
# on the real formulae.
#
+# Run as:
+# ./tests -- --skip-update
+# to omit the update tests which only seem to work for mxcl
+#
-# Bulk of the tests
-ruby unittest.rb $*
+# Feel free to split out test_bucket
+ruby test_bucket.rb $*
ruby test_versions.rb $*
-
ruby test_checksums.rb $*
-
ruby test_inreplace.rb $*
-
-# Test hardware sniffers
ruby test_hardware.rb $*
-
-# Test formula installs
ruby test_formula_install.rb $*
-
-# Update tests (only seem to work for mxcl)
-ruby test_updater.rb $*
-
-# Patching tests
ruby test_patching.rb $*
-
-# External dependency tests
ruby test_external_deps.rb $*
-
-# Test Pathname.install
ruby test_pathname_install.rb $*
-
-# Test utility functions
ruby test_utils.rb $*
-
-# Test ARGV extensions
ruby test_ARGV.rb $*
+
+# Update tests (only seem to work for mxcl)
+ruby test_updater.rb $*
diff --git a/Library/Homebrew/test/unittest.rb b/Library/Homebrew/test/unittest.rb
deleted file mode 100755
index 546872954..000000000
--- a/Library/Homebrew/test/unittest.rb
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/ruby
-# This software is in the public domain, furnished "as is", without technical
-# support, and with no warranty, express or implied, as to its usefulness for
-# any purpose.
-
-ABS__FILE__=File.expand_path(__FILE__)
-
-$:.push(File.expand_path(__FILE__+'/../..'))
-require 'extend/pathname'
-
-# these are defined in global.rb, but we don't want to break our actual
-# homebrew tree, and we do want to test everything :)
-HOMEBREW_PREFIX=Pathname.new '/private/tmp/testbrew/prefix'
-HOMEBREW_REPOSITORY=HOMEBREW_PREFIX
-HOMEBREW_CACHE=HOMEBREW_PREFIX.parent+"cache"
-HOMEBREW_CELLAR=HOMEBREW_PREFIX.parent+"cellar"
-HOMEBREW_USER_AGENT="Homebrew"
-HOMEBREW_WWW='http://example.com'
-MACOS_VERSION=10.6
-
-(HOMEBREW_PREFIX+'Library'+'Formula').mkpath
-Dir.chdir HOMEBREW_PREFIX
-at_exit { HOMEBREW_PREFIX.parent.rmtree }
-
-require 'utils'
-require 'formula'
-require 'keg'
-require 'brew.h'
-
-# for some reason our utils.rb safe_system behaves completely differently
-# during these tests. This is worrying for sure.
-def safe_system *args
- Kernel.system *args
-end
-
-class ExecutionError <RuntimeError
- attr :status
-
- def initialize cmd, args=[], status=nil
- super "Failure while executing: #{cmd} #{args*' '}"
- @status = status
- end
-end
-
-class BuildError <ExecutionError; 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)
-
-
-class MockFormula <Formula
- def initialize url
- @url=url
- @homepage = 'http://example.com/'
- super 'test'
- end
-end
-
-class MostlyAbstractFormula <Formula
- @url=''
- @homepage = 'http://example.com/'
-end
-
-class TestBall <Formula
- # name parameter required for some Formula::factory
- def initialize name=nil
- @url="file:///#{Pathname.new(ABS__FILE__).parent.realpath}/testball-0.1.tbz"
- @homepage = 'http://example.com/'
- super "testball"
- end
- def install
- prefix.install "bin"
- prefix.install "libexec"
- end
-end
-
-class TestZip <Formula
- def initialize
- zip=HOMEBREW_CACHE.parent+'test-0.1.zip'
- Kernel.system '/usr/bin/zip', '-0', zip, ABS__FILE__
- @url="file://#{zip}"
- @homepage = 'http://example.com/'
- super 'testzip'
- end
-end
-
-class TestBallOverrideBrew <Formula
- def initialize
- super "foo"
- end
- def brew
- end
-end
-
-require 'test/test_bucket'