aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/formula_installer_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/test/formula_installer_test.rb')
-rw-r--r--Library/Homebrew/test/formula_installer_test.rb131
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