diff options
| author | Adam Vandenberg | 2010-03-16 22:13:18 -0700 |
|---|---|---|
| committer | Adam Vandenberg | 2010-04-06 08:27:12 -0700 |
| commit | 5cbab370e485689762230bf2a05d8c6d881175cf (patch) | |
| tree | b2a44ccb16c62cc37aa084c3244e07e0adec59dd /Library/Homebrew | |
| parent | e4766639dc00f3844e4ab18fbd36d90633549dcf (diff) | |
| download | brew-5cbab370e485689762230bf2a05d8c6d881175cf.tar.bz2 | |
Switch test_bucket over to use testing_env.
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/test/test_bucket.rb | 37 | ||||
| -rwxr-xr-x | Library/Homebrew/test/tests | 30 | ||||
| -rwxr-xr-x | Library/Homebrew/test/unittest.rb | 96 |
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' |
