diff options
Diffstat (limited to 'Library/Homebrew/test/formula_installer_test.rb')
| -rw-r--r-- | Library/Homebrew/test/formula_installer_test.rb | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/Library/Homebrew/test/formula_installer_test.rb b/Library/Homebrew/test/formula_installer_test.rb deleted file mode 100644 index c99b2de74..000000000 --- a/Library/Homebrew/test/formula_installer_test.rb +++ /dev/null @@ -1,131 +0,0 @@ -require "testing_env" -require "formula" -require "formula_installer" -require "keg" -require "tab" -require "test/support/fixtures/testball" -require "test/support/fixtures/testball_bottle" - -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 - Tab.clear_cache - refute_predicate Tab.for_keg(keg), :poured_from_bottle - - yield formula - ensure - Tab.clear_cache - keg.unlink - keg.uninstall - formula.clear_cache - # there will be log files when sandbox is enable. - formula.logs.rmtree if formula.logs.directory? - end - - refute_predicate keg, :exist? - refute_predicate formula, :installed? - end - - def test_a_basic_install - ARGV << "--with-invalid_flag" # added to ensure it doesn't fail install - temporary_install(Testball.new) do |f| - # Test that things made it into the Keg - assert_predicate f.prefix+"readme", :exist? - - 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? - - refute_predicate f.prefix+"license", :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 - assert_predicate f.prefix/".brew/testball.rb", :readable? - end - end - - def test_bottle_unneeded_formula_install - DevelopmentTools.stubs(:installed?).returns(false) - - formula = Testball.new - formula.stubs(:bottle_unneeded?).returns(true) - formula.stubs(:bottle_disabled?).returns(true) - - refute_predicate formula, :bottled? - assert_predicate formula, :bottle_unneeded? - assert_predicate formula, :bottle_disabled? - - temporary_install(formula) do |f| - assert_predicate f, :installed? - end - end - - def test_not_poured_from_bottle_when_compiler_specified - assert_nil ARGV.cc - - cc_arg = "--cc=clang" - ARGV << cc_arg - - temporary_install(TestballBottle.new) do |f| - tab = Tab.for_formula(f) - assert_equal "clang", tab.compiler - end - end -end - -class FormulaInstallerTests < Homebrew::TestCase - def test_check_install_sanity_pinned_dep - dep_name = "dependency" - dep_path = CoreTap.new.formula_dir/"#{dep_name}.rb" - dep_path.write <<-EOS.undent - class #{Formulary.class_s(dep_name)} < Formula - url "foo" - version "0.2" - end - EOS - - Formulary::FORMULAE.delete(dep_path) - dependency = Formulary.factory(dep_name) - - dependent = formula do - url "foo" - version "0.5" - depends_on dependency.name.to_s - end - - dependency.prefix("0.1").join("bin/a").mkpath - HOMEBREW_PINNED_KEGS.mkpath - FileUtils.ln_s dependency.prefix("0.1"), HOMEBREW_PINNED_KEGS/dep_name - - dependency_keg = Keg.new(dependency.prefix("0.1")) - dependency_keg.link - - assert_predicate dependency_keg, :linked? - assert_predicate dependency, :pinned? - - fi = FormulaInstaller.new(dependent) - assert_raises(CannotInstallFormulaError) { fi.check_install_sanity } - ensure - dependency_keg.unlink - Formulary::FORMULAE.delete(dep_path) - end -end |
