brew/Library/Homebrew/test/test_formula_install.rb

94 lines
1.9 KiB
Ruby
Raw Normal View History

2010-02-18 11:40:59 -08:00
require 'testing_env'
require 'formula'
require 'test/testball'
2010-02-18 11:40:59 -08:00
require 'keg'
class TestScriptFileFormula < ScriptFileFormula
2014-04-06 15:52:04 -05:00
url "file:///#{__FILE__}"
2010-02-18 11:40:59 -08:00
version "1"
2014-04-06 15:52:04 -05:00
def initialize(name="test_script_formula", path=nil)
2010-02-18 11:40:59 -08:00
super
end
end
class ConfigureTests < Test::Unit::TestCase
def teardown
HOMEBREW_CACHE.rmtree
end
def test_detect_failed_configure
f = ConfigureFails.new
2013-04-07 18:40:40 -05:00
shutup { f.brew { f.install } }
rescue BuildError => e
assert e.was_running_configure?
end
end
2010-02-18 11:40:59 -08:00
class InstallTests < Test::Unit::TestCase
def teardown
HOMEBREW_CACHE.rmtree
end
2010-02-18 11:40:59 -08:00
def temporary_install f
# Brew and install the given formula
2013-04-01 12:15:29 -05:00
shutup do
2010-02-18 11:40:59 -08:00
f.brew { f.install }
end
# Allow the test to do some processing
yield
2010-02-18 11:40:59 -08:00
# Remove the brewed formula and double check
# that it did get removed. This lets multiple
# tests use the same formula name without
# stepping on each other.
keg=Keg.new f.prefix
keg.unlink
2010-02-18 11:40:59 -08:00
keg.uninstall
assert !keg.exist?
assert !f.installed?
end
def test_a_basic_install
f=TestBall.new
2010-02-18 11:40:59 -08:00
assert !f.installed?
2010-02-18 11:40:59 -08:00
temporary_install f do
2010-02-18 11:40:59 -08:00
# Test that things made it into the Keg
assert f.bin.directory?
assert_equal 3, f.bin.children.length
libexec=f.prefix+'libexec'
assert libexec.directory?
assert_equal 1, libexec.children.length
assert !(f.prefix+'main.c').exist?
assert f.installed?
2010-02-18 11:40:59 -08:00
# Test that things make it into the Cellar
keg=Keg.new f.prefix
keg.link
assert_equal 3, HOMEBREW_PREFIX.children.length
assert((HOMEBREW_PREFIX+'bin').directory?)
2010-02-18 11:40:59 -08:00
assert_equal 3, (HOMEBREW_PREFIX+'bin').children.length
end
end
2010-02-18 11:40:59 -08:00
def test_script_install
f=TestScriptFileFormula.new
2010-02-18 11:40:59 -08:00
temporary_install f do
2013-04-01 12:15:29 -05:00
shutup do
2010-02-18 11:40:59 -08:00
f.brew { f.install }
end
2010-02-18 11:40:59 -08:00
assert_equal 1, f.bin.children.length
end
end
end