Skip to content

Commit

Permalink
Installation tests now use the actual installer
Browse files Browse the repository at this point in the history
  • Loading branch information
jacknagel committed Apr 29, 2015
1 parent 09c9855 commit b8bb0f5
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 64 deletions.
63 changes: 0 additions & 63 deletions Library/Homebrew/test/test_formula_install.rb

This file was deleted.

70 changes: 70 additions & 0 deletions Library/Homebrew/test/test_formula_installer.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
require "testing_env"
require "formula"
require "compat/formula_specialties"
require "formula_installer"
require "keg"
require "testball"

class InstallTests < Homebrew::TestCase
def temporary_install(formula)
refute_predicate formula, :installed?

installer = FormulaInstaller.new(formula)

shutup { installer.install }

keg = Keg.new(formula.prefix)

assert_predicate formula, :installed?

begin
yield formula
ensure
keg.unlink
keg.uninstall
formula.clear_cache
end

refute_predicate keg, :exist?
refute_predicate formula, :installed?
end

def test_a_basic_install
temporary_install(Testball.new) do |f|
# Test that things made it into the Keg
assert_predicate f.bin, :directory?
assert_equal 3, f.bin.children.length

assert_predicate f.libexec, :directory?
assert_equal 1, f.libexec.children.length

refute_predicate f.prefix+'main.c', :exist?

# Test that things make it into the Cellar
keg = Keg.new f.prefix
keg.link

bin = HOMEBREW_PREFIX+"bin"
assert_predicate bin, :directory?
assert_equal 3, bin.children.length
end
end

def test_script_install
mktmpdir do |dir|
name = "test_script_formula"
path = Pathname.new(dir)+"#{name}.rb"

path.write <<-EOS.undent
class #{Formulary.class_s(name)} < ScriptFileFormula
url "file://#{File.expand_path(__FILE__)}"
version "1"
end
EOS

f = Formulary.factory(path.to_s)

temporary_install(f) { assert_equal 1, f.bin.children.length }
end
end
end
2 changes: 1 addition & 1 deletion Library/Homebrew/test/testball.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
class Testball < Formula
def initialize(name="testball", path=Pathname.new(__FILE__).expand_path, spec=:stable)
self.class.instance_eval do
stable.url "file://#{TEST_DIRECTORY}/tarballs/testball-0.1.tbz"
stable.url "file://#{File.expand_path("..", __FILE__)}/tarballs/testball-0.1.tbz"
stable.sha1 "482e737739d946b7c8cbaf127d9ee9c148b999f5"
end
super
Expand Down

0 comments on commit b8bb0f5

Please sign in to comment.