diff options
Diffstat (limited to 'Library/Homebrew/test')
| -rw-r--r-- | Library/Homebrew/test/formula_test.rb | 38 | ||||
| -rw-r--r-- | Library/Homebrew/test/hardware_test.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/keg_test.rb | 22 | ||||
| -rw-r--r-- | Library/Homebrew/test/utils_test.rb | 2 | 
4 files changed, 52 insertions, 12 deletions
diff --git a/Library/Homebrew/test/formula_test.rb b/Library/Homebrew/test/formula_test.rb index a6db1b57f..81022d220 100644 --- a/Library/Homebrew/test/formula_test.rb +++ b/Library/Homebrew/test/formula_test.rb @@ -651,12 +651,42 @@ class FormulaTests < Homebrew::TestCase      f4 = formula("f4") do        url "f4-1.0" -      depends_on "f3" +      depends_on "f1"      end +    stub_formula_loader f4 -    assert_equal %w[f3], f4.deps.map(&:name) -    assert_equal %w[f1 f2 f3], f4.recursive_dependencies.map(&:name) -    assert_equal %w[f2 f3], f4.runtime_dependencies.map(&:name) +    f5 = formula("f5") do +      url "f5-1.0" +      depends_on "f3" => :build +      depends_on "f4" +    end + +    assert_equal %w[f3 f4], f5.deps.map(&:name) +    assert_equal %w[f1 f2 f3 f4], f5.recursive_dependencies.map(&:name) +    assert_equal %w[f1 f4], f5.runtime_dependencies.map(&:name) +  end + +  def test_runtime_dependencies_with_optional_deps_from_tap +    tap_loader = mock +    tap_loader.stubs(:get_formula).raises(RuntimeError, "tried resolving tap formula") +    Formulary.stubs(:loader_for).with("foo/bar/f1", from: nil).returns(tap_loader) + +    stub_formula_loader formula("f2") { url "f2-1.0" }, "baz/qux/f2" + +    f3 = formula("f3") do +      url "f3-1.0" +      depends_on "foo/bar/f1" => :optional +      depends_on "baz/qux/f2" +    end + +    # f1 shouldn't be loaded by default. +    # If it is, an exception will be raised. +    assert_equal %w[baz/qux/f2], f3.runtime_dependencies.map(&:name) + +    # If --with-f1, f1 should be loaded. +    stub_formula_loader formula("f1") { url "f1-1.0" }, "foo/bar/f1" +    f3.build = BuildOptions.new(Options.create(%w[--with-f1]), f3.options) +    assert_equal %w[foo/bar/f1 baz/qux/f2], f3.runtime_dependencies.map(&:name)    end    def test_to_hash diff --git a/Library/Homebrew/test/hardware_test.rb b/Library/Homebrew/test/hardware_test.rb index 2bea5387d..69f881a60 100644 --- a/Library/Homebrew/test/hardware_test.rb +++ b/Library/Homebrew/test/hardware_test.rb @@ -8,7 +8,7 @@ class HardwareTests < Homebrew::TestCase    if Hardware::CPU.intel?      def test_hardware_intel_family -      families = [:core, :core2, :penryn, :nehalem, :arrandale, :sandybridge, :ivybridge, :haswell, :broadwell, :skylake, :dunno] +      families = [:core, :core2, :penryn, :nehalem, :arrandale, :sandybridge, :ivybridge, :haswell, :broadwell, :skylake, :kabylake, :dunno]        assert_includes families, Hardware::CPU.family      end    end diff --git a/Library/Homebrew/test/keg_test.rb b/Library/Homebrew/test/keg_test.rb index 2c91027e5..4fe7c6a3c 100644 --- a/Library/Homebrew/test/keg_test.rb +++ b/Library/Homebrew/test/keg_test.rb @@ -2,7 +2,7 @@ require "testing_env"  require "keg"  require "stringio" -class LinkTests < Homebrew::TestCase +class LinkTestCase < Homebrew::TestCase    include FileUtils    def setup_test_keg(name, version) @@ -44,6 +44,13 @@ class LinkTests < Homebrew::TestCase      rmtree HOMEBREW_PREFIX/"bin"      rmtree HOMEBREW_PREFIX/"lib"    end +end + +class LinkTests < LinkTestCase +  def test_all +    Formula.clear_racks_cache +    assert_equal [@keg], Keg.all +  end    def test_empty_installation      %w[.DS_Store INSTALL_RECEIPT.json LICENSE.txt].each do |file| @@ -315,7 +322,7 @@ class LinkTests < Homebrew::TestCase    end  end -class InstalledDependantsTests < LinkTests +class InstalledDependantsTests < LinkTestCase    def stub_formula_name(name)      f = formula(name) { url "foo-1.0" }      stub_formula_loader f @@ -353,10 +360,13 @@ class InstalledDependantsTests < LinkTests    # from a file path or URL.    def test_unknown_formula      Formulary.unstub(:loader_for) -    dependencies [] -    alter_tab { |t| t.source["path"] = nil } -    assert_empty @keg.installed_dependents -    assert_nil Keg.find_some_installed_dependents([@keg]) +    alter_tab(@keg) do |t| +      t.source["tap"] = "some/tap" +      t.source["path"] = nil +    end +    dependencies [{ "full_name" => "some/tap/foo", "version" => "1.0" }] +    assert_equal [@dependent], @keg.installed_dependents +    assert_equal [[@keg], ["bar 1.0"]], Keg.find_some_installed_dependents([@keg])    end    def test_no_dependencies_anywhere diff --git a/Library/Homebrew/test/utils_test.rb b/Library/Homebrew/test/utils_test.rb index 146f57b49..d7c25683d 100644 --- a/Library/Homebrew/test/utils_test.rb +++ b/Library/Homebrew/test/utils_test.rb @@ -216,7 +216,7 @@ class UtilTests < Homebrew::TestCase      e = assert_raises(MethodDeprecatedError) do        odeprecated("method", "replacement",          caller: ["#{HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core/"], -        die: true) +        disable: true)      end      assert_match "method", e.message      assert_match "replacement", e.message  | 
