Rename requirements named *Dependency.
Dependency is another similar, related class and it's super confusing to have some Requirements that are named *Dependency. Closes Homebrew/homebrew#38891. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
This commit is contained in:
parent
f13ac9b0c8
commit
1e86730289
@ -81,7 +81,7 @@ class Build
|
|||||||
if superenv?
|
if superenv?
|
||||||
ENV.keg_only_deps = keg_only_deps.map(&:name)
|
ENV.keg_only_deps = keg_only_deps.map(&:name)
|
||||||
ENV.deps = deps.map { |d| d.to_formula.name }
|
ENV.deps = deps.map { |d| d.to_formula.name }
|
||||||
ENV.x11 = reqs.any? { |rq| rq.kind_of?(X11Dependency) }
|
ENV.x11 = reqs.any? { |rq| rq.kind_of?(X11Requirement) }
|
||||||
ENV.setup_build_environment(formula)
|
ENV.setup_build_environment(formula)
|
||||||
post_superenv_hacks
|
post_superenv_hacks
|
||||||
reqs.each(&:modify_build_environment)
|
reqs.each(&:modify_build_environment)
|
||||||
|
|||||||
@ -275,7 +275,7 @@ class FormulaAuditor
|
|||||||
problem "Use `depends_on :fortran` instead of `depends_on 'gfortran'`"
|
problem "Use `depends_on :fortran` instead of `depends_on 'gfortran'`"
|
||||||
when "open-mpi", "mpich2"
|
when "open-mpi", "mpich2"
|
||||||
problem <<-EOS.undent
|
problem <<-EOS.undent
|
||||||
There are multiple conflicting ways to install MPI. Use an MPIDependency:
|
There are multiple conflicting ways to install MPI. Use an MPIRequirement:
|
||||||
depends_on :mpi => [<lang list>]
|
depends_on :mpi => [<lang list>]
|
||||||
Where <lang list> is a comma delimited list that can include:
|
Where <lang list> is a comma delimited list that can include:
|
||||||
:cc, :cxx, :f77, :f90
|
:cc, :cxx, :f77, :f90
|
||||||
@ -698,11 +698,11 @@ class FormulaAuditor
|
|||||||
problem "Define method #{$1.inspect} in the class body, not at the top-level"
|
problem "Define method #{$1.inspect} in the class body, not at the top-level"
|
||||||
end
|
end
|
||||||
|
|
||||||
if line =~ /ENV.fortran/ && !formula.requirements.map(&:class).include?(FortranDependency)
|
if line =~ /ENV.fortran/ && !formula.requirements.map(&:class).include?(FortranRequirement)
|
||||||
problem "Use `depends_on :fortran` instead of `ENV.fortran`"
|
problem "Use `depends_on :fortran` instead of `ENV.fortran`"
|
||||||
end
|
end
|
||||||
|
|
||||||
if line =~ /JAVA_HOME/i && !formula.requirements.map(&:class).include?(JavaDependency)
|
if line =~ /JAVA_HOME/i && !formula.requirements.map(&:class).include?(JavaRequirement)
|
||||||
problem "Use `depends_on :java` to set JAVA_HOME"
|
problem "Use `depends_on :java` to set JAVA_HOME"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -4,4 +4,5 @@ require 'compat/formula_specialties'
|
|||||||
require 'compat/hardware'
|
require 'compat/hardware'
|
||||||
require 'compat/macos'
|
require 'compat/macos'
|
||||||
require 'compat/md5'
|
require 'compat/md5'
|
||||||
|
require 'compat/requirements'
|
||||||
require 'compat/version'
|
require 'compat/version'
|
||||||
|
|||||||
20
Library/Homebrew/compat/requirements.rb
Normal file
20
Library/Homebrew/compat/requirements.rb
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
require "requirements"
|
||||||
|
|
||||||
|
XcodeDependency = XcodeRequirement
|
||||||
|
MysqlDependency = MysqlRequirement
|
||||||
|
PostgresqlDependency = PostgresqlRequirement
|
||||||
|
GPGDependency = GPGRequirement
|
||||||
|
TeXDependency = TeXRequirement
|
||||||
|
MercurialDependency = MercurialRequirement
|
||||||
|
GitDependency = GitRequirement
|
||||||
|
AprDependency = AprRequirement
|
||||||
|
FortranDependency = FortranRequirement
|
||||||
|
JavaDependency = JavaRequirement
|
||||||
|
JavaRequirement = JavaRequirement
|
||||||
|
LanguageModuleDependency = LanguageModuleRequirement
|
||||||
|
MPIDependency = MPIRequirement
|
||||||
|
OsxfuseDependency = OsxfuseRequirement
|
||||||
|
PythonDependency = PythonRequirement
|
||||||
|
TuntapDependency = TuntapRequirement
|
||||||
|
X11Dependency = X11Requirement
|
||||||
|
ConflictsWithBinaryOsxfuse = NonBinaryOsxfuseRequirement
|
||||||
@ -1,8 +1,8 @@
|
|||||||
require 'dependency'
|
require 'dependency'
|
||||||
require 'dependencies'
|
require 'dependencies'
|
||||||
|
require 'ld64_dependency'
|
||||||
require 'requirement'
|
require 'requirement'
|
||||||
require 'requirements'
|
require 'requirements'
|
||||||
require 'requirements/ld64_dependency'
|
|
||||||
require 'set'
|
require 'set'
|
||||||
|
|
||||||
## A dependency is a formula that another formula needs to install.
|
## A dependency is a formula that another formula needs to install.
|
||||||
@ -94,7 +94,7 @@ class DependencyCollector
|
|||||||
elsif tags.empty?
|
elsif tags.empty?
|
||||||
Dependency.new(spec, tags)
|
Dependency.new(spec, tags)
|
||||||
elsif (tag = tags.first) && LANGUAGE_MODULES.include?(tag)
|
elsif (tag = tags.first) && LANGUAGE_MODULES.include?(tag)
|
||||||
LanguageModuleDependency.new(tag, spec, tags[1])
|
LanguageModuleRequirement.new(tag, spec, tags[1])
|
||||||
else
|
else
|
||||||
Dependency.new(spec, tags)
|
Dependency.new(spec, tags)
|
||||||
end
|
end
|
||||||
@ -102,25 +102,25 @@ class DependencyCollector
|
|||||||
|
|
||||||
def parse_symbol_spec(spec, tags)
|
def parse_symbol_spec(spec, tags)
|
||||||
case spec
|
case spec
|
||||||
when :x11 then X11Dependency.new(spec.to_s, tags)
|
when :x11 then X11Requirement.new(spec.to_s, tags)
|
||||||
when :xcode then XcodeDependency.new(tags)
|
when :xcode then XcodeRequirement.new(tags)
|
||||||
when :macos then MinimumMacOSRequirement.new(tags)
|
when :macos then MinimumMacOSRequirement.new(tags)
|
||||||
when :mysql then MysqlDependency.new(tags)
|
when :mysql then MysqlRequirement.new(tags)
|
||||||
when :postgresql then PostgresqlDependency.new(tags)
|
when :postgresql then PostgresqlRequirement.new(tags)
|
||||||
when :gpg then GPGDependency.new(tags)
|
when :gpg then GPGRequirement.new(tags)
|
||||||
when :fortran then FortranDependency.new(tags)
|
when :fortran then FortranRequirement.new(tags)
|
||||||
when :mpi then MPIDependency.new(*tags)
|
when :mpi then MPIRequirement.new(*tags)
|
||||||
when :tex then TeXDependency.new(tags)
|
when :tex then TeXRequirement.new(tags)
|
||||||
when :arch then ArchRequirement.new(tags)
|
when :arch then ArchRequirement.new(tags)
|
||||||
when :hg then MercurialDependency.new(tags)
|
when :hg then MercurialRequirement.new(tags)
|
||||||
when :python then PythonDependency.new(tags)
|
when :python then PythonRequirement.new(tags)
|
||||||
when :python3 then Python3Dependency.new(tags)
|
when :python3 then Python3Requirement.new(tags)
|
||||||
when :java then JavaDependency.new(tags)
|
when :java then JavaRequirement.new(tags)
|
||||||
when :ruby then RubyRequirement.new(tags)
|
when :ruby then RubyRequirement.new(tags)
|
||||||
when :osxfuse then OsxfuseDependency.new(tags)
|
when :osxfuse then OsxfuseRequirement.new(tags)
|
||||||
when :tuntap then TuntapDependency.new(tags)
|
when :tuntap then TuntapRequirement.new(tags)
|
||||||
when :ant then ant_dep(spec, tags)
|
when :ant then ant_dep(spec, tags)
|
||||||
when :apr then AprDependency.new(tags)
|
when :apr then AprRequirement.new(tags)
|
||||||
when :emacs then EmacsRequirement.new(tags)
|
when :emacs then EmacsRequirement.new(tags)
|
||||||
# Tiger's ld is too old to properly link some software
|
# Tiger's ld is too old to properly link some software
|
||||||
when :ld64 then LD64Dependency.new if MacOS.version < :leopard
|
when :ld64 then LD64Dependency.new if MacOS.version < :leopard
|
||||||
@ -133,7 +133,7 @@ class DependencyCollector
|
|||||||
tags << :run
|
tags << :run
|
||||||
Dependency.new("libtool", tags)
|
Dependency.new("libtool", tags)
|
||||||
when :python2
|
when :python2
|
||||||
PythonDependency.new(tags)
|
PythonRequirement.new(tags)
|
||||||
else
|
else
|
||||||
raise ArgumentError, "Unsupported special dependency #{spec.inspect}"
|
raise ArgumentError, "Unsupported special dependency #{spec.inspect}"
|
||||||
end
|
end
|
||||||
@ -166,9 +166,9 @@ class DependencyCollector
|
|||||||
when strategy <= CurlDownloadStrategy
|
when strategy <= CurlDownloadStrategy
|
||||||
parse_url_spec(spec.url, tags)
|
parse_url_spec(spec.url, tags)
|
||||||
when strategy <= GitDownloadStrategy
|
when strategy <= GitDownloadStrategy
|
||||||
GitDependency.new(tags)
|
GitRequirement.new(tags)
|
||||||
when strategy <= MercurialDownloadStrategy
|
when strategy <= MercurialDownloadStrategy
|
||||||
MercurialDependency.new(tags)
|
MercurialRequirement.new(tags)
|
||||||
when strategy <= FossilDownloadStrategy
|
when strategy <= FossilDownloadStrategy
|
||||||
Dependency.new("fossil", tags)
|
Dependency.new("fossil", tags)
|
||||||
when strategy <= BazaarDownloadStrategy
|
when strategy <= BazaarDownloadStrategy
|
||||||
|
|||||||
@ -616,7 +616,7 @@ class Formula
|
|||||||
def python(options={}, &block)
|
def python(options={}, &block)
|
||||||
opoo 'Formula#python is deprecated and will go away shortly.'
|
opoo 'Formula#python is deprecated and will go away shortly.'
|
||||||
block.call if block_given?
|
block.call if block_given?
|
||||||
PythonDependency.new
|
PythonRequirement.new
|
||||||
end
|
end
|
||||||
alias_method :python2, :python
|
alias_method :python2, :python
|
||||||
alias_method :python3, :python
|
alias_method :python3, :python
|
||||||
|
|||||||
@ -1,20 +1,20 @@
|
|||||||
require 'requirement'
|
require 'requirement'
|
||||||
require 'requirements/apr_dependency'
|
require 'requirements/apr_requirement'
|
||||||
require 'requirements/fortran_dependency'
|
require 'requirements/fortran_requirement'
|
||||||
require 'requirements/language_module_dependency'
|
require 'requirements/language_module_requirement'
|
||||||
require 'requirements/minimum_macos_requirement'
|
require 'requirements/minimum_macos_requirement'
|
||||||
require 'requirements/maximum_macos_requirement'
|
require 'requirements/maximum_macos_requirement'
|
||||||
require 'requirements/mpi_dependency'
|
require 'requirements/mpi_requirement'
|
||||||
require 'requirements/osxfuse_dependency'
|
require 'requirements/osxfuse_requirement'
|
||||||
require 'requirements/python_dependency'
|
require 'requirements/python_requirement'
|
||||||
require 'requirements/java_dependency'
|
require 'requirements/java_requirement'
|
||||||
require 'requirements/ruby_requirement'
|
require 'requirements/ruby_requirement'
|
||||||
require 'requirements/tuntap_dependency'
|
require 'requirements/tuntap_requirement'
|
||||||
require 'requirements/unsigned_kext_requirement'
|
require 'requirements/unsigned_kext_requirement'
|
||||||
require 'requirements/x11_dependency'
|
require 'requirements/x11_requirement'
|
||||||
require 'requirements/emacs_requirement'
|
require 'requirements/emacs_requirement'
|
||||||
|
|
||||||
class XcodeDependency < Requirement
|
class XcodeRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
|
|
||||||
satisfy(:build_env => false) { xcode_installed_version }
|
satisfy(:build_env => false) { xcode_installed_version }
|
||||||
@ -52,28 +52,28 @@ class XcodeDependency < Requirement
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class MysqlDependency < Requirement
|
class MysqlRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
default_formula 'mysql'
|
default_formula 'mysql'
|
||||||
|
|
||||||
satisfy { which 'mysql_config' }
|
satisfy { which 'mysql_config' }
|
||||||
end
|
end
|
||||||
|
|
||||||
class PostgresqlDependency < Requirement
|
class PostgresqlRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
default_formula 'postgresql'
|
default_formula 'postgresql'
|
||||||
|
|
||||||
satisfy { which 'pg_config' }
|
satisfy { which 'pg_config' }
|
||||||
end
|
end
|
||||||
|
|
||||||
class GPGDependency < Requirement
|
class GPGRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
default_formula "gpg"
|
default_formula "gpg"
|
||||||
|
|
||||||
satisfy { which("gpg") || which("gpg2") }
|
satisfy { which("gpg") || which("gpg2") }
|
||||||
end
|
end
|
||||||
|
|
||||||
class TeXDependency < Requirement
|
class TeXRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
cask "mactex"
|
cask "mactex"
|
||||||
download "https://www.tug.org/mactex/"
|
download "https://www.tug.org/mactex/"
|
||||||
@ -112,14 +112,14 @@ class ArchRequirement < Requirement
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class MercurialDependency < Requirement
|
class MercurialRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
default_formula 'mercurial'
|
default_formula 'mercurial'
|
||||||
|
|
||||||
satisfy { which('hg') }
|
satisfy { which('hg') }
|
||||||
end
|
end
|
||||||
|
|
||||||
class GitDependency < Requirement
|
class GitRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
default_formula 'git'
|
default_formula 'git'
|
||||||
satisfy { !!which('git') }
|
satisfy { !!which('git') }
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
require "requirement"
|
require "requirement"
|
||||||
|
|
||||||
class AprDependency < Requirement
|
class AprRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
default_formula "apr-util"
|
default_formula "apr-util"
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
require 'requirement'
|
require 'requirement'
|
||||||
|
|
||||||
class FortranDependency < Requirement
|
class FortranRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
|
|
||||||
default_formula 'gcc'
|
default_formula 'gcc'
|
||||||
@ -1,6 +1,6 @@
|
|||||||
require "language/java"
|
require "language/java"
|
||||||
|
|
||||||
class JavaDependency < Requirement
|
class JavaRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
cask "java"
|
cask "java"
|
||||||
download "http://www.oracle.com/technetwork/java/javase/downloads/index.html"
|
download "http://www.oracle.com/technetwork/java/javase/downloads/index.html"
|
||||||
@ -1,6 +1,6 @@
|
|||||||
require 'requirement'
|
require 'requirement'
|
||||||
|
|
||||||
class LanguageModuleDependency < Requirement
|
class LanguageModuleRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
|
|
||||||
def initialize language, module_name, import_name=nil
|
def initialize language, module_name, import_name=nil
|
||||||
@ -3,7 +3,7 @@ require 'requirement'
|
|||||||
# There are multiple implementations of MPI-2 available.
|
# There are multiple implementations of MPI-2 available.
|
||||||
# http://www.mpi-forum.org/
|
# http://www.mpi-forum.org/
|
||||||
# This requirement is used to find an appropriate one.
|
# This requirement is used to find an appropriate one.
|
||||||
class MPIDependency < Requirement
|
class MPIRequirement < Requirement
|
||||||
|
|
||||||
attr_reader :lang_list
|
attr_reader :lang_list
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
require "requirement"
|
require "requirement"
|
||||||
|
|
||||||
class OsxfuseDependency < Requirement
|
class OsxfuseRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
default_formula "osxfuse"
|
default_formula "osxfuse"
|
||||||
cask "osxfuse"
|
cask "osxfuse"
|
||||||
@ -17,9 +17,9 @@ class OsxfuseDependency < Requirement
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class ConflictsWithBinaryOsxfuse < Requirement
|
class NonBinaryOsxfuseRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
satisfy { HOMEBREW_PREFIX.to_s != "/usr/local" || !OsxfuseDependency.binary_osxfuse_installed? }
|
satisfy { HOMEBREW_PREFIX.to_s != "/usr/local" || !OsxfuseRequirement.binary_osxfuse_installed? }
|
||||||
|
|
||||||
def message
|
def message
|
||||||
<<-EOS.undent
|
<<-EOS.undent
|
||||||
@ -1,6 +1,6 @@
|
|||||||
require "language/python"
|
require "language/python"
|
||||||
|
|
||||||
class PythonDependency < Requirement
|
class PythonRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
default_formula "python"
|
default_formula "python"
|
||||||
cask "python"
|
cask "python"
|
||||||
@ -47,7 +47,7 @@ class PythonDependency < Requirement
|
|||||||
alias_method :to_s, :python_binary
|
alias_method :to_s, :python_binary
|
||||||
end
|
end
|
||||||
|
|
||||||
class Python3Dependency < PythonDependency
|
class Python3Requirement < PythonRequirement
|
||||||
fatal true
|
fatal true
|
||||||
default_formula "python3"
|
default_formula "python3"
|
||||||
cask "python3"
|
cask "python3"
|
||||||
@ -1,6 +1,6 @@
|
|||||||
require "requirement"
|
require "requirement"
|
||||||
|
|
||||||
class TuntapDependency < Requirement
|
class TuntapRequirement < Requirement
|
||||||
fatal true
|
fatal true
|
||||||
default_formula "tuntap"
|
default_formula "tuntap"
|
||||||
cask "tuntap"
|
cask "tuntap"
|
||||||
@ -1,6 +1,6 @@
|
|||||||
require "requirement"
|
require "requirement"
|
||||||
|
|
||||||
class X11Dependency < Requirement
|
class X11Requirement < Requirement
|
||||||
include Comparable
|
include Comparable
|
||||||
attr_reader :min_version
|
attr_reader :min_version
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ class X11Dependency < Requirement
|
|||||||
end
|
end
|
||||||
|
|
||||||
def <=> other
|
def <=> other
|
||||||
return unless X11Dependency === other
|
return unless X11Requirement === other
|
||||||
min_version <=> other.min_version
|
min_version <=> other.min_version
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -83,19 +83,19 @@ class RequirementsTests < Homebrew::TestCase
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_merging_multiple_dependencies
|
def test_merging_multiple_dependencies
|
||||||
@reqs << X11Dependency.new << X11Dependency.new
|
@reqs << X11Requirement.new << X11Requirement.new
|
||||||
assert_equal 1, @reqs.count
|
assert_equal 1, @reqs.count
|
||||||
@reqs << Requirement.new
|
@reqs << Requirement.new
|
||||||
assert_equal 2, @reqs.count
|
assert_equal 2, @reqs.count
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_comparison_prefers_larger
|
def test_comparison_prefers_larger
|
||||||
@reqs << X11Dependency.new << X11Dependency.new("x11", %w[2.6])
|
@reqs << X11Requirement.new << X11Requirement.new("x11", %w[2.6])
|
||||||
assert_equal [X11Dependency.new("x11", %w[2.6])], @reqs.to_a
|
assert_equal [X11Requirement.new("x11", %w[2.6])], @reqs.to_a
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_comparison_does_not_merge_smaller
|
def test_comparison_does_not_merge_smaller
|
||||||
@reqs << X11Dependency.new("x11", %w{2.6}) << X11Dependency.new
|
@reqs << X11Requirement.new("x11", %w{2.6}) << X11Requirement.new
|
||||||
assert_equal [X11Dependency.new("x11", %w[2.6])], @reqs.to_a
|
assert_equal [X11Requirement.new("x11", %w[2.6])], @reqs.to_a
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -39,7 +39,7 @@ class DependencyCollectorTests < Homebrew::TestCase
|
|||||||
|
|
||||||
def test_requirement_creation
|
def test_requirement_creation
|
||||||
@d.add :x11
|
@d.add :x11
|
||||||
assert_instance_of X11Dependency, find_requirement(X11Dependency)
|
assert_instance_of X11Requirement, find_requirement(X11Requirement)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_no_duplicate_requirements
|
def test_no_duplicate_requirements
|
||||||
@ -50,28 +50,28 @@ class DependencyCollectorTests < Homebrew::TestCase
|
|||||||
def test_requirement_tags
|
def test_requirement_tags
|
||||||
@d.add :x11 => '2.5.1'
|
@d.add :x11 => '2.5.1'
|
||||||
@d.add :xcode => :build
|
@d.add :xcode => :build
|
||||||
assert_empty find_requirement(X11Dependency).tags
|
assert_empty find_requirement(X11Requirement).tags
|
||||||
assert_predicate find_requirement(XcodeDependency), :build?
|
assert_predicate find_requirement(XcodeRequirement), :build?
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_x11_no_tag
|
def test_x11_no_tag
|
||||||
@d.add :x11
|
@d.add :x11
|
||||||
assert_empty find_requirement(X11Dependency).tags
|
assert_empty find_requirement(X11Requirement).tags
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_x11_min_version
|
def test_x11_min_version
|
||||||
@d.add :x11 => '2.5.1'
|
@d.add :x11 => '2.5.1'
|
||||||
assert_equal "2.5.1", find_requirement(X11Dependency).min_version.to_s
|
assert_equal "2.5.1", find_requirement(X11Requirement).min_version.to_s
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_x11_tag
|
def test_x11_tag
|
||||||
@d.add :x11 => :optional
|
@d.add :x11 => :optional
|
||||||
assert_predicate find_requirement(X11Dependency), :optional?
|
assert_predicate find_requirement(X11Requirement), :optional?
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_x11_min_version_and_tag
|
def test_x11_min_version_and_tag
|
||||||
@d.add :x11 => ['2.5.1', :optional]
|
@d.add :x11 => ['2.5.1', :optional]
|
||||||
dep = find_requirement(X11Dependency)
|
dep = find_requirement(X11Requirement)
|
||||||
assert_equal '2.5.1', dep.min_version.to_s
|
assert_equal '2.5.1', dep.min_version.to_s
|
||||||
assert_predicate dep, :optional?
|
assert_predicate dep, :optional?
|
||||||
end
|
end
|
||||||
@ -104,7 +104,7 @@ class DependencyCollectorTests < Homebrew::TestCase
|
|||||||
def test_resource_dep_git_url
|
def test_resource_dep_git_url
|
||||||
resource = Resource.new
|
resource = Resource.new
|
||||||
resource.url("git://example.com/foo/bar.git")
|
resource.url("git://example.com/foo/bar.git")
|
||||||
assert_instance_of GitDependency, @d.add(resource)
|
assert_instance_of GitRequirement, @d.add(resource)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_resource_dep_gzip_url
|
def test_resource_dep_gzip_url
|
||||||
|
|||||||
@ -1,20 +1,20 @@
|
|||||||
require 'testing_env'
|
require 'testing_env'
|
||||||
require 'requirements/language_module_dependency'
|
require 'requirements/language_module_requirement'
|
||||||
|
|
||||||
class LanguageModuleDependencyTests < Homebrew::TestCase
|
class LanguageModuleRequirementTests < Homebrew::TestCase
|
||||||
parallelize_me!
|
parallelize_me!
|
||||||
|
|
||||||
def assert_deps_fail(spec)
|
def assert_deps_fail(spec)
|
||||||
refute_predicate LanguageModuleDependency.new(*spec.shift.reverse), :satisfied?
|
refute_predicate LanguageModuleRequirement.new(*spec.shift.reverse), :satisfied?
|
||||||
end
|
end
|
||||||
|
|
||||||
def assert_deps_pass(spec)
|
def assert_deps_pass(spec)
|
||||||
assert_predicate LanguageModuleDependency.new(*spec.shift.reverse), :satisfied?
|
assert_predicate LanguageModuleRequirement.new(*spec.shift.reverse), :satisfied?
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_unique_deps_are_not_eql
|
def test_unique_deps_are_not_eql
|
||||||
x = LanguageModuleDependency.new(:node, "less")
|
x = LanguageModuleRequirement.new(:node, "less")
|
||||||
y = LanguageModuleDependency.new(:node, "coffee-script")
|
y = LanguageModuleRequirement.new(:node, "coffee-script")
|
||||||
refute_eql x, y
|
refute_eql x, y
|
||||||
refute_equal x.hash, y.hash
|
refute_equal x.hash, y.hash
|
||||||
end
|
end
|
||||||
@ -22,7 +22,7 @@ class LanguageModuleDependencyTests < Homebrew::TestCase
|
|||||||
def test_differing_module_and_import_name
|
def test_differing_module_and_import_name
|
||||||
mod_name = "foo"
|
mod_name = "foo"
|
||||||
import_name = "bar"
|
import_name = "bar"
|
||||||
l = LanguageModuleDependency.new(:python, mod_name, import_name)
|
l = LanguageModuleRequirement.new(:python, mod_name, import_name)
|
||||||
assert_includes l.message, mod_name
|
assert_includes l.message, mod_name
|
||||||
assert_includes l.the_test, "import #{import_name}"
|
assert_includes l.the_test, "import #{import_name}"
|
||||||
end
|
end
|
||||||
@ -1,11 +1,11 @@
|
|||||||
require 'testing_env'
|
require 'testing_env'
|
||||||
require 'requirements/mpi_dependency'
|
require 'requirements/mpi_requirement'
|
||||||
|
|
||||||
class MPIDependencyTests < Homebrew::TestCase
|
class MPIRequirementTests < Homebrew::TestCase
|
||||||
def test_initialize_untangles_tags_and_wrapper_symbols
|
def test_initialize_untangles_tags_and_wrapper_symbols
|
||||||
wrappers = [:cc, :cxx, :f77]
|
wrappers = [:cc, :cxx, :f77]
|
||||||
tags = [:optional, 'some-other-tag']
|
tags = [:optional, 'some-other-tag']
|
||||||
dep = MPIDependency.new(*wrappers + tags)
|
dep = MPIRequirement.new(*wrappers + tags)
|
||||||
assert_equal wrappers, dep.lang_list
|
assert_equal wrappers, dep.lang_list
|
||||||
assert_equal tags, dep.tags
|
assert_equal tags, dep.tags
|
||||||
end
|
end
|
||||||
@ -1,29 +1,29 @@
|
|||||||
require 'testing_env'
|
require 'testing_env'
|
||||||
require 'requirements/x11_dependency'
|
require 'requirements/x11_requirement'
|
||||||
|
|
||||||
class X11DependencyTests < Homebrew::TestCase
|
class X11RequirementTests < Homebrew::TestCase
|
||||||
def test_eql_instances_are_eql
|
def test_eql_instances_are_eql
|
||||||
x = X11Dependency.new
|
x = X11Requirement.new
|
||||||
y = X11Dependency.new
|
y = X11Requirement.new
|
||||||
assert_eql x, y
|
assert_eql x, y
|
||||||
assert_equal x.hash, y.hash
|
assert_equal x.hash, y.hash
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_not_eql_when_hashes_differ
|
def test_not_eql_when_hashes_differ
|
||||||
x = X11Dependency.new("foo")
|
x = X11Requirement.new("foo")
|
||||||
y = X11Dependency.new
|
y = X11Requirement.new
|
||||||
refute_eql x, y
|
refute_eql x, y
|
||||||
refute_equal x.hash, y.hash
|
refute_equal x.hash, y.hash
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_different_min_version
|
def test_different_min_version
|
||||||
x = X11Dependency.new
|
x = X11Requirement.new
|
||||||
y = X11Dependency.new("x11", %w[2.5])
|
y = X11Requirement.new("x11", %w[2.5])
|
||||||
refute_eql x, y
|
refute_eql x, y
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_x_env
|
def test_x_env
|
||||||
x = X11Dependency.new
|
x = X11Requirement.new
|
||||||
x.stubs(:satisfied?).returns(true)
|
x.stubs(:satisfied?).returns(true)
|
||||||
ENV.expects(:x11)
|
ENV.expects(:x11)
|
||||||
x.modify_build_environment
|
x.modify_build_environment
|
||||||
@ -32,9 +32,9 @@ class X11DependencyTests < Homebrew::TestCase
|
|||||||
def test_satisfied
|
def test_satisfied
|
||||||
MacOS::XQuartz.stubs(:version).returns("2.7.5")
|
MacOS::XQuartz.stubs(:version).returns("2.7.5")
|
||||||
MacOS::XQuartz.stubs(:installed?).returns(true)
|
MacOS::XQuartz.stubs(:installed?).returns(true)
|
||||||
assert_predicate X11Dependency.new, :satisfied?
|
assert_predicate X11Requirement.new, :satisfied?
|
||||||
|
|
||||||
MacOS::XQuartz.stubs(:installed?).returns(false)
|
MacOS::XQuartz.stubs(:installed?).returns(false)
|
||||||
refute_predicate X11Dependency.new, :satisfied?
|
refute_predicate X11Requirement.new, :satisfied?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
Loading…
x
Reference in New Issue
Block a user