Skip to content
Snippets Groups Projects
Commit 5cbab370 authored by Adam Vandenberg's avatar Adam Vandenberg
Browse files

Switch test_bucket over to use testing_env.

parent e4766639
No related branches found
No related tags found
No related merge requests found
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.
......
......@@ -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 $*
#!/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'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment