mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Fix style violations under newer RuboCop
This commit is contained in:
parent
2e9d7fbcf8
commit
5692c8ecbf
@ -253,6 +253,8 @@ RSpec/DescribeClass:
|
||||
Enabled: false
|
||||
RSpec/FilePath:
|
||||
Enabled: false
|
||||
# RSpec/SpecFilePathFormat:
|
||||
# Enabled: false
|
||||
RSpec/StubbedMock:
|
||||
Enabled: false
|
||||
RSpec/SubjectStub:
|
||||
@ -381,6 +383,8 @@ Style/InvertibleUnlessCondition:
|
||||
:==: :!=
|
||||
# Unset this (prefer `unless a.zero?` over `if a.nonzero?`)
|
||||
:zero?:
|
||||
# Don't require non-standard `exclude?` (for now at least) - it's not available in every file
|
||||
# :include?:
|
||||
|
||||
# would rather freeze too much than too little
|
||||
Style/MutableConstant:
|
||||
@ -436,6 +440,10 @@ Style/StringLiteralsInInterpolation:
|
||||
Style/StringMethods:
|
||||
Enabled: true
|
||||
|
||||
# Treating this the same as Style/MethodCallWithArgsParentheses
|
||||
# Style/SuperWithArgsParentheses:
|
||||
# Enabled: false
|
||||
|
||||
# An array of symbols is more readable than a symbol array
|
||||
# and also allows for easier grepping.
|
||||
Style/SymbolArray:
|
||||
|
@ -28,7 +28,7 @@ module Cask
|
||||
end
|
||||
|
||||
def self.dirmethod
|
||||
@dirmethod ||= "#{dsl_key}dir".to_sym
|
||||
@dirmethod ||= :"#{dsl_key}dir"
|
||||
end
|
||||
|
||||
sig { abstract.returns(String) }
|
||||
|
@ -25,7 +25,7 @@ module Cask
|
||||
# Return all tokens for installed casks.
|
||||
sig { returns(T::Array[String]) }
|
||||
def self.tokens
|
||||
paths.map(&:basename).map(&:to_s)
|
||||
paths.map { |path| path.basename.to_s }
|
||||
end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
|
@ -13,7 +13,7 @@ module Cask
|
||||
"_" => :underscores,
|
||||
}.freeze
|
||||
|
||||
DIVIDER_REGEX = /(#{DIVIDERS.keys.map { |v| Regexp.quote(v) }.join('|')})/.freeze
|
||||
DIVIDER_REGEX = /(#{DIVIDERS.keys.map { |v| Regexp.quote(v) }.join("|")})/.freeze
|
||||
|
||||
MAJOR_MINOR_PATCH_REGEX = /^([^.,:]+)(?:.([^.,:]+)(?:.([^.,:]+))?)?/.freeze
|
||||
|
||||
|
@ -97,8 +97,11 @@ module Homebrew
|
||||
end
|
||||
|
||||
def only_formula_or_cask
|
||||
return :formula if formula? && !cask?
|
||||
return :cask if cask? && !formula?
|
||||
if formula? && !cask?
|
||||
:formula
|
||||
elsif cask? && !formula?
|
||||
:cask
|
||||
end
|
||||
end
|
||||
|
||||
sig { returns(T::Array[[Symbol, Symbol]]) }
|
||||
@ -149,7 +152,7 @@ module Homebrew
|
||||
@cli_args = []
|
||||
@processed_options.each do |short, long|
|
||||
option = long || short
|
||||
switch = "#{option_to_name(option)}?".to_sym
|
||||
switch = :"#{option_to_name(option)}?"
|
||||
flag = option_to_name(option).to_sym
|
||||
if @table[switch] == true || @table[flag] == true
|
||||
@cli_args << option
|
||||
|
@ -178,12 +178,12 @@ module Homebrew
|
||||
set_constraints(name, depends_on: depends_on)
|
||||
end
|
||||
|
||||
env_value = env?(env)
|
||||
env_value = value_for_env(env)
|
||||
set_switch(*names, value: env_value, from: :env) unless env_value.nil?
|
||||
end
|
||||
alias switch_option switch
|
||||
|
||||
def env?(env)
|
||||
def value_for_env(env)
|
||||
return if env.blank?
|
||||
|
||||
method_name = :"#{env}?"
|
||||
@ -193,6 +193,7 @@ module Homebrew
|
||||
ENV.fetch("HOMEBREW_#{env.upcase}", nil)
|
||||
end
|
||||
end
|
||||
private :value_for_env
|
||||
|
||||
def description(text = nil)
|
||||
return @description if text.blank?
|
||||
@ -527,7 +528,7 @@ module Homebrew
|
||||
end
|
||||
|
||||
def option_passed?(name)
|
||||
@args[name.to_sym] || @args["#{name}?".to_sym]
|
||||
@args[name.to_sym] || @args[:"#{name}?"]
|
||||
end
|
||||
|
||||
def wrap_option_desc(desc)
|
||||
|
@ -55,7 +55,7 @@ module Commands
|
||||
def self.args_method_name(cmd_path)
|
||||
cmd_path_basename = basename_without_extension(cmd_path)
|
||||
cmd_method_prefix = method_name(cmd_path_basename)
|
||||
"#{cmd_method_prefix}_args".to_sym
|
||||
:"#{cmd_method_prefix}_args"
|
||||
end
|
||||
|
||||
def self.internal_cmd_path(cmd)
|
||||
@ -217,12 +217,12 @@ module Commands
|
||||
# skip the comment's initial usage summary lines
|
||||
comment_lines.slice(2..-1)&.each do |line|
|
||||
match_data = /^#: (?<desc>\w.*+)$/.match(line)
|
||||
if match_data
|
||||
desc = match_data[:desc]
|
||||
return T.must(desc).split(DESCRIPTION_SPLITTING_PATTERN).first if short
|
||||
next unless match_data
|
||||
|
||||
return desc
|
||||
end
|
||||
desc = match_data[:desc]
|
||||
return T.must(desc).split(DESCRIPTION_SPLITTING_PATTERN).first if short
|
||||
|
||||
return desc
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -46,7 +46,7 @@ module Dependable
|
||||
end
|
||||
|
||||
def prune_from_option?(build)
|
||||
return if !optional? && !recommended?
|
||||
return false if !optional? && !recommended?
|
||||
|
||||
build.without?(self)
|
||||
end
|
||||
|
@ -260,14 +260,14 @@ module Homebrew
|
||||
# For switches, we add `|| nil` so that `nil` will be passed
|
||||
# instead of `false` if they aren't set.
|
||||
# This way, we can distinguish between "not set" and "set to false".
|
||||
audit_online: (args.online? || nil),
|
||||
audit_strict: (args.strict? || nil),
|
||||
audit_online: args.online? || nil,
|
||||
audit_strict: args.strict? || nil,
|
||||
|
||||
# No need for `|| nil` for `--[no-]signing`
|
||||
# because boolean switches are already `nil` if not passed
|
||||
audit_signing: args.signing?,
|
||||
audit_new_cask: (new_cask || nil),
|
||||
audit_token_conflicts: (args.token_conflicts? || nil),
|
||||
audit_new_cask: new_cask || nil,
|
||||
audit_token_conflicts: args.token_conflicts? || nil,
|
||||
quarantine: true,
|
||||
any_named_args: !no_named_args,
|
||||
only: args.only,
|
||||
|
@ -116,7 +116,7 @@ module Homebrew
|
||||
|
||||
@put_filenames ||= []
|
||||
|
||||
return if @put_filenames.include?(filename)
|
||||
return false if @put_filenames.include?(filename)
|
||||
|
||||
puts Formatter.error(filename.to_s)
|
||||
@put_filenames << filename
|
||||
|
@ -64,8 +64,8 @@ module Homebrew
|
||||
|
||||
contribution_types = [:author, :committer, :coauthorship, :review]
|
||||
|
||||
users = args.user.presence || GitHub.members_by_team("Homebrew", "maintainers")
|
||||
users.each do |username, _|
|
||||
users = args.user.presence || GitHub.members_by_team("Homebrew", "maintainers").keys
|
||||
users.each do |username|
|
||||
# TODO: Using the GitHub username to scan the `git log` undercounts some
|
||||
# contributions as people might not always have configured their Git
|
||||
# committer details to match the ones on GitHub.
|
||||
|
@ -24,8 +24,7 @@ module Homebrew
|
||||
formula_paths = args.named.to_paths(only: :formula).select(&:exist?)
|
||||
if formula_paths.blank? && args.named
|
||||
.to_paths(only: :cask)
|
||||
.select(&:exist?)
|
||||
.present?
|
||||
.any?(&:exist?)
|
||||
odie "Found casks but did not find formulae!"
|
||||
end
|
||||
formula_paths.each(&method(:puts))
|
||||
|
@ -313,7 +313,7 @@ module Homebrew
|
||||
end
|
||||
|
||||
def self.formulae_need_bottles?(tap, original_commit, labels, args:)
|
||||
return if args.dry_run?
|
||||
return false if args.dry_run?
|
||||
|
||||
return false if labels.include?("CI-syntax-only") || labels.include?("CI-no-bottles")
|
||||
|
||||
|
@ -67,8 +67,11 @@ module OnSystem
|
||||
base.define_method(:on_arch_conditional) do |arm: nil, intel: nil|
|
||||
@on_system_blocks_exist = true
|
||||
|
||||
return arm if OnSystem.arch_condition_met? :arm
|
||||
return intel if OnSystem.arch_condition_met? :intel
|
||||
if OnSystem.arch_condition_met? :arm
|
||||
arm
|
||||
elsif OnSystem.arch_condition_met? :intel
|
||||
intel
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -110,8 +113,11 @@ module OnSystem
|
||||
base.define_method(:on_system_conditional) do |macos: nil, linux: nil|
|
||||
@on_system_blocks_exist = true
|
||||
|
||||
return macos if OnSystem.os_condition_met?(:macos) && macos.present?
|
||||
return linux if OnSystem.os_condition_met?(:linux) && linux.present?
|
||||
if OnSystem.os_condition_met?(:macos) && macos.present?
|
||||
macos
|
||||
elsif OnSystem.os_condition_met?(:linux) && linux.present?
|
||||
linux
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -1954,7 +1954,7 @@ class Formula
|
||||
# @private
|
||||
sig { returns(T::Array[String]) }
|
||||
def self.installed_formula_names
|
||||
racks.map(&:basename).map(&:to_s)
|
||||
racks.map { |rack| rack.basename.to_s }
|
||||
end
|
||||
|
||||
# An array of all installed {Formula}
|
||||
|
@ -875,7 +875,7 @@ module Homebrew
|
||||
[formula.bin, formula.sbin].each do |dir|
|
||||
next unless dir.exist?
|
||||
|
||||
bin_names += dir.children.map(&:basename).map(&:to_s)
|
||||
bin_names += dir.children.map { |child| child.basename.to_s }
|
||||
end
|
||||
shell_commands = ["system", "shell_output", "pipe_output"]
|
||||
bin_names.each do |name|
|
||||
|
@ -30,8 +30,7 @@ class FormulaInstaller
|
||||
include FormulaCellarChecks
|
||||
extend Predicable
|
||||
|
||||
attr_reader :formula
|
||||
attr_reader :bottle_tab_runtime_dependencies
|
||||
attr_reader :formula, :bottle_tab_runtime_dependencies
|
||||
|
||||
attr_accessor :options, :link_keg
|
||||
|
||||
@ -530,7 +529,7 @@ on_request: installed_on_request?, options: options)
|
||||
end
|
||||
|
||||
def unbottled_dependencies(deps)
|
||||
deps.map(&:first).map(&:to_formula).reject do |dep_f|
|
||||
deps.map { |(dep, _options)| dep.to_formula }.reject do |dep_f|
|
||||
next false unless dep_f.pour_bottle?
|
||||
|
||||
dep_f.bottled?
|
||||
@ -1184,7 +1183,7 @@ on_request: installed_on_request?, options: options)
|
||||
return if ignore_deps?
|
||||
|
||||
# Don't output dependencies if we're explicitly installing them.
|
||||
deps = compute_dependencies.reject do |dep, _options|
|
||||
deps = compute_dependencies.reject do |(dep, _options)|
|
||||
self.class.fetched.include?(dep.to_formula)
|
||||
end
|
||||
|
||||
@ -1194,7 +1193,7 @@ on_request: installed_on_request?, options: options)
|
||||
"#{deps.map(&:first).map(&Formatter.method(:identifier)).to_sentence}",
|
||||
truncate: false
|
||||
|
||||
deps.each { |dep, _options| fetch_dependency(dep) }
|
||||
deps.each { |(dep, _options)| fetch_dependency(dep) }
|
||||
end
|
||||
|
||||
sig { returns(T.nilable(Formula)) }
|
||||
@ -1369,7 +1368,7 @@ on_request: installed_on_request?, options: options)
|
||||
return if forbidden_licenses.blank?
|
||||
return if ignore_deps?
|
||||
|
||||
compute_dependencies.each do |dep, _|
|
||||
compute_dependencies.each do |(dep, _options)|
|
||||
dep_f = dep.to_formula
|
||||
next unless SPDX.licenses_forbid_installation? dep_f.license, forbidden_licenses
|
||||
|
||||
|
@ -305,12 +305,12 @@ module Homebrew
|
||||
end
|
||||
end
|
||||
|
||||
def print_dry_run_dependencies(formula, dependencies, &block)
|
||||
def print_dry_run_dependencies(formula, dependencies)
|
||||
return if dependencies.empty?
|
||||
|
||||
ohai "Would install #{Utils.pluralize("dependenc", dependencies.count, plural: "ies", singular: "y",
|
||||
include_count: true)} for #{formula.name}:"
|
||||
formula_names = dependencies.map(&:first).map(&:to_formula).map(&block)
|
||||
formula_names = dependencies.map { |(dep, _options)| yield dep.to_formula }
|
||||
puts formula_names.join(" ")
|
||||
end
|
||||
|
||||
|
@ -46,8 +46,8 @@ module Language
|
||||
end
|
||||
|
||||
def self.reads_brewed_pth_files?(python)
|
||||
return unless homebrew_site_packages(python).directory?
|
||||
return unless homebrew_site_packages(python).writable_real?
|
||||
return false unless homebrew_site_packages(python).directory?
|
||||
return false unless homebrew_site_packages(python).writable_real?
|
||||
|
||||
probe_file = homebrew_site_packages(python)/"homebrew-pth-probe.pth"
|
||||
begin
|
||||
|
@ -1020,7 +1020,6 @@ module Homebrew
|
||||
end
|
||||
resource_version_info[:meta][:regex] = regex.inspect if regex.present?
|
||||
resource_version_info[:meta][:cached] = true if strategy_data[:cached] == true
|
||||
|
||||
rescue => e
|
||||
Homebrew.failed = true
|
||||
if json
|
||||
|
@ -41,12 +41,12 @@ class Locale
|
||||
scanner = StringScanner.new(string)
|
||||
|
||||
if (language = scanner.scan(LANGUAGE_REGEX))
|
||||
sep = scanner.scan(/-/)
|
||||
sep = scanner.scan("-")
|
||||
return if (sep && scanner.eos?) || (sep.nil? && !scanner.eos?)
|
||||
end
|
||||
|
||||
if (script = scanner.scan(SCRIPT_REGEX))
|
||||
sep = scanner.scan(/-/)
|
||||
sep = scanner.scan("-")
|
||||
return if (sep && scanner.eos?) || (sep.nil? && !scanner.eos?)
|
||||
end
|
||||
|
||||
|
@ -89,7 +89,7 @@ module MachOShim
|
||||
|
||||
def dynamically_linked_libraries(except: :none, resolve_variable_references: true)
|
||||
lcs = macho.dylib_load_commands.reject { |lc| lc.type == except }
|
||||
names = lcs.map(&:name).map(&:to_s).uniq
|
||||
names = lcs.map { |lc| lc.name.to_s }.uniq
|
||||
names.map!(&method(:resolve_variable_name)) if resolve_variable_references
|
||||
|
||||
names
|
||||
|
@ -155,7 +155,7 @@ module RuboCop
|
||||
|
||||
def build_with_dependency_name(node)
|
||||
match_nodes = build_with_dependency_node(node)
|
||||
match_nodes = match_nodes.to_a.delete_if(&:nil?)
|
||||
match_nodes = match_nodes.to_a.compact
|
||||
match_nodes.map { |n| string_content(n) } unless match_nodes.empty?
|
||||
end
|
||||
|
||||
|
@ -59,20 +59,22 @@ module RuboCop
|
||||
end
|
||||
end
|
||||
|
||||
# Returns nil if does not depend on dependency_name.
|
||||
# Returns if the formula depends on dependency_name.
|
||||
#
|
||||
# @param dependency_name dependency's name
|
||||
def depends_on?(dependency_name, *types)
|
||||
return if @body.nil?
|
||||
return false if @body.nil?
|
||||
|
||||
types = [:any] if types.empty?
|
||||
dependency_nodes = find_every_method_call_by_name(@body, :depends_on)
|
||||
idx = dependency_nodes.index do |n|
|
||||
types.any? { |type| depends_on_name_type?(n, dependency_name, type) }
|
||||
end
|
||||
return if idx.nil?
|
||||
return false if idx.nil?
|
||||
|
||||
@offensive_node = dependency_nodes[idx]
|
||||
|
||||
true
|
||||
end
|
||||
|
||||
# Returns true if given dependency name and dependency type exist in given dependency method call node.
|
||||
|
@ -42,6 +42,6 @@ unless ENV["HOMEBREW_SORBET_RUNTIME"]
|
||||
end
|
||||
|
||||
# For any cases the above doesn't handle: make sure we don't let TypeError slip through.
|
||||
T::Configuration.call_validation_error_handler = ->(signature, opts) do end
|
||||
T::Configuration.inline_type_error_handler = ->(error, opts) do end
|
||||
T::Configuration.call_validation_error_handler = ->(signature, opts) {}
|
||||
T::Configuration.inline_type_error_handler = ->(error, opts) {}
|
||||
end
|
||||
|
@ -23,8 +23,7 @@ describe CacheStoreDatabase do
|
||||
|
||||
it "sets the value in the `CacheStoreDatabase`" do
|
||||
allow(File).to receive(:write)
|
||||
allow(sample_db).to receive(:created?).and_return(true)
|
||||
allow(sample_db).to receive(:db).and_return(db)
|
||||
allow(sample_db).to receive_messages(created?: true, db: db)
|
||||
|
||||
expect(db).to receive(:has_key?).with(:foo).and_return(false)
|
||||
expect(db).not_to have_key(:foo)
|
||||
@ -37,9 +36,8 @@ describe CacheStoreDatabase do
|
||||
let(:db) { instance_double(Hash, "db", :[] => "bar") }
|
||||
|
||||
it "gets value in the `CacheStoreDatabase` corresponding to the key" do
|
||||
allow(sample_db).to receive(:created?).and_return(true)
|
||||
expect(db).to receive(:has_key?).with(:foo).and_return(true)
|
||||
allow(sample_db).to receive(:db).and_return(db)
|
||||
allow(sample_db).to receive_messages(created?: true, db: db)
|
||||
expect(db).to have_key(:foo)
|
||||
expect(sample_db.get(:foo)).to eq("bar")
|
||||
end
|
||||
@ -49,8 +47,7 @@ describe CacheStoreDatabase do
|
||||
let(:db) { instance_double(Hash, "db", :[] => nil) }
|
||||
|
||||
before do
|
||||
allow(sample_db).to receive(:created?).and_return(false)
|
||||
allow(sample_db).to receive(:db).and_return(db)
|
||||
allow(sample_db).to receive_messages(created?: false, db: db)
|
||||
end
|
||||
|
||||
it "does not get value in the `CacheStoreDatabase` corresponding to key" do
|
||||
@ -69,8 +66,7 @@ describe CacheStoreDatabase do
|
||||
let(:db) { instance_double(Hash, "db", :[] => { foo: "bar" }) }
|
||||
|
||||
before do
|
||||
allow(sample_db).to receive(:created?).and_return(true)
|
||||
allow(sample_db).to receive(:db).and_return(db)
|
||||
allow(sample_db).to receive_messages(created?: true, db: db)
|
||||
end
|
||||
|
||||
it "deletes value in the `CacheStoreDatabase` corresponding to the key" do
|
||||
@ -83,8 +79,7 @@ describe CacheStoreDatabase do
|
||||
let(:db) { instance_double(Hash, "db", delete: nil) }
|
||||
|
||||
before do
|
||||
allow(sample_db).to receive(:created?).and_return(false)
|
||||
allow(sample_db).to receive(:db).and_return(db)
|
||||
allow(sample_db).to receive_messages(created?: false, db: db)
|
||||
end
|
||||
|
||||
it "does not call `db.delete` if `CacheStoreDatabase.created?` is `false`" do
|
||||
|
@ -345,8 +345,7 @@ describe Cask::Artifact::App, :cask do
|
||||
|
||||
describe "when the directory is owned by root" do
|
||||
before do
|
||||
allow(app.target).to receive(:writable?).and_return false
|
||||
allow(app.target).to receive(:owned?).and_return false
|
||||
allow(app.target).to receive_messages(writable?: false, owned?: false)
|
||||
end
|
||||
|
||||
it "reuses the same directory" do
|
||||
|
@ -471,8 +471,7 @@ describe Cask::Audit, :cask do
|
||||
let(:unpack_double) { instance_double(UnpackStrategy::Zip) }
|
||||
|
||||
before do
|
||||
allow(audit).to receive(:download).and_return(download_double)
|
||||
allow(audit).to receive(:signing?).and_return(true)
|
||||
allow(audit).to receive_messages(download: download_double, signing?: true)
|
||||
allow(audit).to receive(:check_https_availability)
|
||||
end
|
||||
|
||||
|
@ -107,8 +107,8 @@ describe Cask::Cask, :cask do
|
||||
expectations.each do |installed_version, expected_output|
|
||||
context "when version #{installed_version.inspect} is installed and the tap version is #{tap_version}" do
|
||||
it {
|
||||
allow(cask).to receive(:installed_version).and_return(installed_version)
|
||||
allow(cask).to receive(:version).and_return(Cask::DSL::Version.new(tap_version))
|
||||
allow(cask).to receive_messages(installed_version: installed_version,
|
||||
version: Cask::DSL::Version.new(tap_version))
|
||||
expect(cask).to receive(:outdated_version).and_call_original
|
||||
expect(subject).to eq expected_output
|
||||
}
|
||||
@ -139,9 +139,9 @@ describe Cask::Cask, :cask do
|
||||
subject { cask.outdated_version(greedy: greedy) }
|
||||
|
||||
it {
|
||||
allow(cask).to receive(:installed_version).and_return(installed_version)
|
||||
allow(cask).to receive(:version).and_return(Cask::DSL::Version.new(tap_version))
|
||||
allow(cask).to receive(:outdated_download_sha?).and_return(outdated_sha)
|
||||
allow(cask).to receive_messages(installed_version: installed_version,
|
||||
version: Cask::DSL::Version.new(tap_version),
|
||||
outdated_download_sha?: outdated_sha)
|
||||
expect(cask).to receive(:outdated_version).and_call_original
|
||||
expect(subject).to eq expected_output
|
||||
}
|
||||
|
@ -12,8 +12,7 @@ module Cask
|
||||
let(:downloaded_path) { Pathname.new("cask.zip") }
|
||||
|
||||
before do
|
||||
allow(downloaded_path).to receive(:file?).and_return(true)
|
||||
allow(downloaded_path).to receive(:sha256).and_return(computed_sha256)
|
||||
allow(downloaded_path).to receive_messages(file?: true, sha256: computed_sha256)
|
||||
end
|
||||
|
||||
context "when the expected checksum is :no_check" do
|
||||
|
@ -549,7 +549,7 @@ describe Cask::DSL, :cask do
|
||||
app "App.app"
|
||||
end
|
||||
|
||||
expect(cask.artifacts.map(&:class).map(&:dsl_key)).to eq [
|
||||
expect(cask.artifacts.map { |artifact| artifact.class.dsl_key }).to eq [
|
||||
:preflight,
|
||||
:app,
|
||||
:binary,
|
||||
|
@ -14,16 +14,14 @@ describe Cask::Pkg, :cask do
|
||||
|
||||
it "removes files and dirs referenced by the pkg" do
|
||||
some_files = Array.new(3) { Pathname.new(Tempfile.new("plain_file").path) }
|
||||
allow(pkg).to receive(:pkgutil_bom_files).and_return(some_files)
|
||||
|
||||
some_specials = Array.new(3) { Pathname.new(Tempfile.new("special_file").path) }
|
||||
allow(pkg).to receive(:pkgutil_bom_specials).and_return(some_specials)
|
||||
|
||||
some_dirs = Array.new(3) { mktmpdir }
|
||||
allow(pkg).to receive(:pkgutil_bom_dirs).and_return(some_dirs)
|
||||
|
||||
root_dir = Pathname.new(mktmpdir)
|
||||
allow(pkg).to receive(:root).and_return(root_dir)
|
||||
allow(pkg).to receive_messages(pkgutil_bom_files: some_files, pkgutil_bom_specials: some_specials,
|
||||
pkgutil_bom_dirs: some_dirs, root: root_dir)
|
||||
|
||||
allow(pkg).to receive(:forget)
|
||||
|
||||
@ -82,10 +80,8 @@ describe Cask::Pkg, :cask do
|
||||
intact_symlink = fake_dir.join("intact_symlink").tap { |path| path.make_symlink(fake_file) }
|
||||
broken_symlink = fake_dir.join("broken_symlink").tap { |path| path.make_symlink("im_nota_file") }
|
||||
|
||||
allow(pkg).to receive(:pkgutil_bom_specials).and_return([])
|
||||
allow(pkg).to receive(:pkgutil_bom_files).and_return([])
|
||||
allow(pkg).to receive(:pkgutil_bom_dirs).and_return([fake_dir])
|
||||
allow(pkg).to receive(:root).and_return(fake_root)
|
||||
allow(pkg).to receive_messages(pkgutil_bom_specials: [], pkgutil_bom_files: [], pkgutil_bom_dirs: [fake_dir],
|
||||
root: fake_root)
|
||||
allow(pkg).to receive(:forget)
|
||||
|
||||
pkg.uninstall
|
||||
@ -105,10 +101,8 @@ describe Cask::Pkg, :cask do
|
||||
fake_file = fake_dir.join("ima_unrelated_file").tap { |path| FileUtils.touch(path) }
|
||||
fake_dir.chmod(0000)
|
||||
|
||||
allow(pkg).to receive(:pkgutil_bom_specials).and_return([])
|
||||
allow(pkg).to receive(:pkgutil_bom_files).and_return([])
|
||||
allow(pkg).to receive(:pkgutil_bom_dirs).and_return([fake_dir])
|
||||
allow(pkg).to receive(:root).and_return(fake_root)
|
||||
allow(pkg).to receive_messages(pkgutil_bom_specials: [], pkgutil_bom_files: [], pkgutil_bom_dirs: [fake_dir],
|
||||
root: fake_root)
|
||||
allow(pkg).to receive(:forget)
|
||||
|
||||
# This is expected to fail in tests since we don't use `sudo`.
|
||||
|
@ -103,8 +103,7 @@ describe Caveats do
|
||||
|
||||
context "when service block is defined" do
|
||||
before do
|
||||
allow(Utils::Service).to receive(:launchctl?).and_return(true)
|
||||
allow(Utils::Service).to receive(:systemctl?).and_return(true)
|
||||
allow(Utils::Service).to receive_messages(launchctl?: true, systemctl?: true)
|
||||
end
|
||||
|
||||
it "prints warning when no service daemon is found" do
|
||||
@ -304,13 +303,11 @@ describe Caveats do
|
||||
|
||||
before do
|
||||
# don't try to load/fetch gcc/glibc
|
||||
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
|
||||
|
||||
allow_any_instance_of(Pathname).to receive(:children).and_return([Pathname.new("child")])
|
||||
allow_any_instance_of(Object).to receive(:which).with(any_args).and_return(Pathname.new("shell"))
|
||||
allow(Utils::Shell).to receive(:preferred).and_return(nil)
|
||||
allow(Utils::Shell).to receive(:parent).and_return(nil)
|
||||
allow(Utils::Shell).to receive_messages(preferred: nil, parent: nil)
|
||||
end
|
||||
|
||||
it "gives dir where Bash completions have been installed" do
|
||||
|
@ -181,8 +181,8 @@ describe Homebrew::Cleanup do
|
||||
it "removes the download for the latest version after 30 days" do
|
||||
download = Cask::Cache.path/"#{cask.token}--#{cask.version}"
|
||||
|
||||
allow(download).to receive(:ctime).and_return((DateTime.now - 30).to_time - (60 * 60))
|
||||
allow(download).to receive(:mtime).and_return((DateTime.now - 30).to_time - (60 * 60))
|
||||
allow(download).to receive_messages(ctime: (DateTime.now - 30).to_time - (60 * 60),
|
||||
mtime: (DateTime.now - 30).to_time - (60 * 60))
|
||||
|
||||
cleanup.cleanup_cask(cask)
|
||||
|
||||
|
@ -235,16 +235,14 @@ describe Homebrew::CLI::Parser do
|
||||
end
|
||||
|
||||
it "prioritizes cli arguments over env vars when they conflict" do
|
||||
allow(Homebrew::EnvConfig).to receive(:switch_a?).and_return(true)
|
||||
allow(Homebrew::EnvConfig).to receive(:switch_b?).and_return(false)
|
||||
allow(Homebrew::EnvConfig).to receive_messages(switch_a?: true, switch_b?: false)
|
||||
args = parser.parse(["--switch-b"])
|
||||
expect(args.switch_a?).to be false
|
||||
expect(args).to be_switch_b
|
||||
end
|
||||
|
||||
it "raises an exception on constraint violation when both are env vars" do
|
||||
allow(Homebrew::EnvConfig).to receive(:switch_a?).and_return(true)
|
||||
allow(Homebrew::EnvConfig).to receive(:switch_b?).and_return(true)
|
||||
allow(Homebrew::EnvConfig).to receive_messages(switch_a?: true, switch_b?: true)
|
||||
expect { parser.parse([]) }.to raise_error(Homebrew::CLI::OptionConflictError)
|
||||
end
|
||||
end
|
||||
|
@ -40,7 +40,7 @@ describe "brew extract" do
|
||||
.and not_to_output.to_stderr
|
||||
.and be_a_success
|
||||
expect(path).to exist
|
||||
expect(Formulary.factory(path).version).to be == "0.2"
|
||||
expect(Formulary.factory(path).version).to eq "0.2"
|
||||
end
|
||||
|
||||
it "retrieves the specified version of formula", :integration_test do
|
||||
@ -50,7 +50,7 @@ describe "brew extract" do
|
||||
.and not_to_output.to_stderr
|
||||
.and be_a_success
|
||||
expect(path).to exist
|
||||
expect(Formulary.factory(path).version).to be == "0.1"
|
||||
expect(Formulary.factory(path).version).to eq "0.1"
|
||||
end
|
||||
|
||||
it "retrieves the compatible version of formula", :integration_test do
|
||||
@ -60,7 +60,7 @@ describe "brew extract" do
|
||||
.and not_to_output.to_stderr
|
||||
.and be_a_success
|
||||
expect(path).to exist
|
||||
expect(Formulary.factory(path).version).to be == "0.2"
|
||||
expect(Formulary.factory(path).version).to eq "0.2"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -13,7 +13,7 @@ describe Object do
|
||||
let(:empty_false) do
|
||||
Class.new(described_class) do
|
||||
def empty?
|
||||
nil
|
||||
false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -151,8 +151,7 @@ describe Formula do
|
||||
|
||||
before do
|
||||
# don't try to load/fetch gcc/glibc
|
||||
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
|
||||
|
||||
allow(Formulary).to receive(:load_formula_from_path).with(f2.name, f2.path).and_return(f2)
|
||||
allow(Formulary).to receive(:factory).with(f2.name).and_return(f2)
|
||||
@ -798,8 +797,7 @@ describe Formula do
|
||||
|
||||
specify "dependencies" do
|
||||
# don't try to load/fetch gcc/glibc
|
||||
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
|
||||
|
||||
f1 = formula "f1" do
|
||||
url "f1-1.0"
|
||||
@ -844,8 +842,7 @@ describe Formula do
|
||||
tap_loader = double
|
||||
|
||||
# don't try to load/fetch gcc/glibc
|
||||
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
|
||||
|
||||
allow(tap_loader).to receive(:get_formula).and_raise(RuntimeError, "tried resolving tap formula")
|
||||
allow(Formulary).to receive(:loader_for).with("foo/bar/f1", from: nil).and_return(tap_loader)
|
||||
@ -901,8 +898,7 @@ describe Formula do
|
||||
|
||||
specify "requirements" do
|
||||
# don't try to load/fetch gcc/glibc
|
||||
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
|
||||
|
||||
f1 = formula "f1" do
|
||||
url "f1-1"
|
||||
|
@ -161,8 +161,7 @@ describe Formulary do
|
||||
allow(described_class).to receive(:loader_for).and_call_original
|
||||
|
||||
# don't try to load/fetch gcc/glibc
|
||||
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
|
||||
end
|
||||
|
||||
let(:installed_formula) { described_class.factory(formula_path) }
|
||||
@ -375,8 +374,7 @@ describe Formulary do
|
||||
allow(described_class).to receive(:loader_for).and_return(described_class::FormulaAPILoader.new(formula_name))
|
||||
|
||||
# don't try to load/fetch gcc/glibc
|
||||
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
|
||||
end
|
||||
|
||||
it "returns a Formula when given a name" do
|
||||
|
@ -293,8 +293,7 @@ describe GitHubRunnerMatrix do
|
||||
def get_runner_names(runner_matrix, predicate = :active)
|
||||
runner_matrix.runners
|
||||
.select(&predicate)
|
||||
.map(&:spec)
|
||||
.map(&:name)
|
||||
.map { |runner| runner.spec.name }
|
||||
end
|
||||
|
||||
def setup_test_runner_formula(name, dependencies = [], **kwargs)
|
||||
|
@ -78,15 +78,13 @@ describe Hardware::CPU do
|
||||
end
|
||||
|
||||
it "returns :arm_firestorm_icestorm on ARM" do
|
||||
allow(described_class).to receive(:arm?).and_return(true)
|
||||
allow(described_class).to receive(:intel?).and_return(false)
|
||||
allow(described_class).to receive_messages(arm?: true, intel?: false)
|
||||
|
||||
expect(described_class.family).to eq(:arm_firestorm_icestorm)
|
||||
end
|
||||
|
||||
it "returns :westmere on Intel" do
|
||||
allow(described_class).to receive(:arm?).and_return(false)
|
||||
allow(described_class).to receive(:intel?).and_return(true)
|
||||
allow(described_class).to receive_messages(arm?: false, intel?: true)
|
||||
|
||||
expect(described_class.family).to eq(:westmere)
|
||||
end
|
||||
|
@ -20,8 +20,7 @@ describe Language::Java do
|
||||
|
||||
before do
|
||||
allow(Formula).to receive(:[]).and_return(f)
|
||||
allow(f).to receive(:any_version_installed?).and_return(true)
|
||||
allow(f).to receive(:any_installed_version).and_return(f.version)
|
||||
allow(f).to receive_messages(any_version_installed?: true, any_installed_version: f.version)
|
||||
end
|
||||
|
||||
describe "::java_home" do
|
||||
|
@ -9,7 +9,7 @@ describe MacOSVersion do
|
||||
|
||||
specify "comparison with Symbol" do
|
||||
expect(version).to be > :high_sierra
|
||||
expect(version).to be == :mojave
|
||||
expect(version).to eq :mojave
|
||||
expect(version).to be === :mojave # rubocop:disable Style/CaseEquality
|
||||
expect(version).to be < :catalina
|
||||
end
|
||||
@ -21,14 +21,14 @@ describe MacOSVersion do
|
||||
|
||||
specify "comparison with String" do
|
||||
expect(version).to be > "10.3"
|
||||
expect(version).to be == "10.14"
|
||||
expect(version).to eq "10.14"
|
||||
expect(version).to be === "10.14" # rubocop:disable Style/CaseEquality
|
||||
expect(version).to be < "10.15"
|
||||
end
|
||||
|
||||
specify "comparison with Version" do
|
||||
expect(version).to be > Version.new("10.3")
|
||||
expect(version).to be == Version.new("10.14")
|
||||
expect(version).to eq Version.new("10.14")
|
||||
expect(version).to be === Version.new("10.14") # rubocop:disable Style/CaseEquality
|
||||
expect(version).to be < Version.new("10.15")
|
||||
end
|
||||
|
@ -9,10 +9,8 @@ describe Homebrew::Diagnostic::Checks do
|
||||
ENV.delete("HOMEBREW_DEVELOPER")
|
||||
|
||||
macos_version = MacOSVersion.new("10.14")
|
||||
allow(OS::Mac).to receive(:version).and_return(macos_version)
|
||||
allow(OS::Mac).to receive(:full_version).and_return(macos_version)
|
||||
allow(OS::Mac.version).to receive(:outdated_release?).and_return(false)
|
||||
allow(OS::Mac.version).to receive(:prerelease?).and_return(true)
|
||||
allow(OS::Mac).to receive_messages(version: macos_version, full_version: macos_version)
|
||||
allow(OS::Mac.version).to receive_messages(outdated_release?: false, prerelease?: true)
|
||||
|
||||
expect(checks.check_for_unsupported_macos)
|
||||
.to match("We do not provide support for this pre-release version.")
|
||||
@ -20,11 +18,8 @@ describe Homebrew::Diagnostic::Checks do
|
||||
|
||||
specify "#check_if_xcode_needs_clt_installed" do
|
||||
macos_version = MacOSVersion.new("10.11")
|
||||
allow(OS::Mac).to receive(:version).and_return(macos_version)
|
||||
allow(OS::Mac).to receive(:full_version).and_return(macos_version)
|
||||
allow(OS::Mac::Xcode).to receive(:installed?).and_return(true)
|
||||
allow(OS::Mac::Xcode).to receive(:version).and_return("8.0")
|
||||
allow(OS::Mac::Xcode).to receive(:without_clt?).and_return(true)
|
||||
allow(OS::Mac).to receive_messages(version: macos_version, full_version: macos_version)
|
||||
allow(OS::Mac::Xcode).to receive_messages(installed?: true, version: "8.0", without_clt?: true)
|
||||
|
||||
expect(checks.check_if_xcode_needs_clt_installed)
|
||||
.to match("Xcode alone is not sufficient on El Capitan")
|
||||
@ -41,32 +36,29 @@ describe Homebrew::Diagnostic::Checks do
|
||||
end
|
||||
|
||||
it "doesn't trigger when SDK root is not needed" do
|
||||
allow(OS::Mac).to receive(:sdk_root_needed?).and_return(false)
|
||||
allow(OS::Mac).to receive(:sdk).and_return(nil)
|
||||
allow(OS::Mac).to receive_messages(sdk_root_needed?: false, sdk: nil)
|
||||
|
||||
expect(checks.check_if_supported_sdk_available).to be_nil
|
||||
end
|
||||
|
||||
it "doesn't trigger when a valid SDK is present" do
|
||||
allow(OS::Mac).to receive(:sdk_root_needed?).and_return(true)
|
||||
allow(OS::Mac).to receive(:sdk).and_return(OS::Mac::SDK.new(macos_version, "/some/path/MacOSX.sdk", :clt))
|
||||
allow(OS::Mac).to receive_messages(sdk_root_needed?: true,
|
||||
sdk: OS::Mac::SDK.new(
|
||||
macos_version, "/some/path/MacOSX.sdk", :clt
|
||||
))
|
||||
|
||||
expect(checks.check_if_supported_sdk_available).to be_nil
|
||||
end
|
||||
|
||||
it "triggers when a valid SDK is not present on CLT systems" do
|
||||
allow(OS::Mac).to receive(:sdk_root_needed?).and_return(true)
|
||||
allow(OS::Mac).to receive(:sdk).and_return(nil)
|
||||
allow(OS::Mac).to receive(:sdk_locator).and_return(OS::Mac::CLT.sdk_locator)
|
||||
allow(OS::Mac).to receive_messages(sdk_root_needed?: true, sdk: nil, sdk_locator: OS::Mac::CLT.sdk_locator)
|
||||
|
||||
expect(checks.check_if_supported_sdk_available)
|
||||
.to include("Your Command Line Tools (CLT) does not support macOS #{macos_version}")
|
||||
end
|
||||
|
||||
it "triggers when a valid SDK is not present on Xcode systems" do
|
||||
allow(OS::Mac).to receive(:sdk_root_needed?).and_return(true)
|
||||
allow(OS::Mac).to receive(:sdk).and_return(nil)
|
||||
allow(OS::Mac).to receive(:sdk_locator).and_return(OS::Mac::Xcode.sdk_locator)
|
||||
allow(OS::Mac).to receive_messages(sdk_root_needed?: true, sdk: nil, sdk_locator: OS::Mac::Xcode.sdk_locator)
|
||||
|
||||
expect(checks.check_if_supported_sdk_available)
|
||||
.to include("Your Xcode does not support macOS #{macos_version}")
|
||||
|
@ -26,34 +26,28 @@ describe OS::Mac do
|
||||
|
||||
it "does not call sdk_path on Xcode-and-CLT systems with system headers" do
|
||||
allow(OS::Mac::Xcode).to receive(:installed?).and_return(true)
|
||||
allow(OS::Mac::CLT).to receive(:installed?).and_return(true)
|
||||
allow(OS::Mac::CLT).to receive(:separate_header_package?).and_return(false)
|
||||
allow(OS::Mac::CLT).to receive_messages(installed?: true, separate_header_package?: false)
|
||||
expect(described_class).not_to receive(:sdk_path)
|
||||
described_class.sdk_path_if_needed
|
||||
end
|
||||
|
||||
it "does not call sdk_path on CLT-only systems with no CLT SDK" do
|
||||
allow(OS::Mac::Xcode).to receive(:installed?).and_return(false)
|
||||
allow(OS::Mac::CLT).to receive(:installed?).and_return(true)
|
||||
allow(OS::Mac::CLT).to receive(:provides_sdk?).and_return(false)
|
||||
allow(OS::Mac::CLT).to receive_messages(installed?: true, provides_sdk?: false)
|
||||
expect(described_class).not_to receive(:sdk_path)
|
||||
described_class.sdk_path_if_needed
|
||||
end
|
||||
|
||||
it "does not call sdk_path on CLT-only systems with a CLT SDK if the system provides headers" do
|
||||
allow(OS::Mac::Xcode).to receive(:installed?).and_return(false)
|
||||
allow(OS::Mac::CLT).to receive(:installed?).and_return(true)
|
||||
allow(OS::Mac::CLT).to receive(:provides_sdk?).and_return(true)
|
||||
allow(OS::Mac::CLT).to receive(:separate_header_package?).and_return(false)
|
||||
allow(OS::Mac::CLT).to receive_messages(installed?: true, provides_sdk?: true, separate_header_package?: false)
|
||||
expect(described_class).not_to receive(:sdk_path)
|
||||
described_class.sdk_path_if_needed
|
||||
end
|
||||
|
||||
it "calls sdk_path on CLT-only systems with a CLT SDK if the system does not provide headers" do
|
||||
allow(OS::Mac::Xcode).to receive(:installed?).and_return(false)
|
||||
allow(OS::Mac::CLT).to receive(:installed?).and_return(true)
|
||||
allow(OS::Mac::CLT).to receive(:provides_sdk?).and_return(true)
|
||||
allow(OS::Mac::CLT).to receive(:separate_header_package?).and_return(true)
|
||||
allow(OS::Mac::CLT).to receive_messages(installed?: true, provides_sdk?: true, separate_header_package?: true)
|
||||
expect(described_class).to receive(:sdk_path)
|
||||
described_class.sdk_path_if_needed
|
||||
end
|
||||
|
@ -15,7 +15,7 @@ describe PkgVersion do
|
||||
end
|
||||
|
||||
specify "#==" do
|
||||
expect(described_class.parse("1.0_0")).to be == described_class.parse("1.0")
|
||||
expect(described_class.parse("1.0_0")).to eq described_class.parse("1.0")
|
||||
version_to_compare = described_class.parse("1.0_1")
|
||||
expect(version_to_compare == described_class.parse("1.0_1")).to be true
|
||||
expect(version_to_compare == described_class.parse("1.0_2")).to be false
|
||||
@ -89,43 +89,43 @@ describe PkgVersion do
|
||||
|
||||
describe "#version" do
|
||||
it "returns package version" do
|
||||
expect(described_class.parse("1.2.3_4").version).to be == Version.new("1.2.3")
|
||||
expect(described_class.parse("1.2.3_4").version).to eq Version.new("1.2.3")
|
||||
end
|
||||
end
|
||||
|
||||
describe "#revision" do
|
||||
it "returns package revision" do
|
||||
expect(described_class.parse("1.2.3_4").revision).to be == 4
|
||||
expect(described_class.parse("1.2.3_4").revision).to eq 4
|
||||
end
|
||||
end
|
||||
|
||||
describe "#major" do
|
||||
it "returns major version token" do
|
||||
expect(described_class.parse("1.2.3_4").major).to be == Version::Token.create("1")
|
||||
expect(described_class.parse("1.2.3_4").major).to eq Version::Token.create("1")
|
||||
end
|
||||
end
|
||||
|
||||
describe "#minor" do
|
||||
it "returns minor version token" do
|
||||
expect(described_class.parse("1.2.3_4").minor).to be == Version::Token.create("2")
|
||||
expect(described_class.parse("1.2.3_4").minor).to eq Version::Token.create("2")
|
||||
end
|
||||
end
|
||||
|
||||
describe "#patch" do
|
||||
it "returns patch version token" do
|
||||
expect(described_class.parse("1.2.3_4").patch).to be == Version::Token.create("3")
|
||||
expect(described_class.parse("1.2.3_4").patch).to eq Version::Token.create("3")
|
||||
end
|
||||
end
|
||||
|
||||
describe "#major_minor" do
|
||||
it "returns major.minor version" do
|
||||
expect(described_class.parse("1.2.3_4").major_minor).to be == Version.new("1.2")
|
||||
expect(described_class.parse("1.2.3_4").major_minor).to eq Version.new("1.2")
|
||||
end
|
||||
end
|
||||
|
||||
describe "#major_minor_patch" do
|
||||
it "returns major.minor.patch version" do
|
||||
expect(described_class.parse("1.2.3_4").major_minor_patch).to be == Version.new("1.2.3")
|
||||
expect(described_class.parse("1.2.3_4").major_minor_patch).to eq Version.new("1.2.3")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -243,8 +243,7 @@ describe Tab do
|
||||
stub_const("HOMEBREW_VERSION", "1.1.7")
|
||||
|
||||
# don't try to load gcc/glibc
|
||||
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
|
||||
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
|
||||
|
||||
f = formula do
|
||||
url "foo-1.0"
|
||||
|
@ -35,8 +35,7 @@ describe Utils::Bottles::Collector do
|
||||
end
|
||||
|
||||
it "does not use older tags when requested not to", :needs_macos do
|
||||
allow(Homebrew::EnvConfig).to receive(:developer?).and_return(true)
|
||||
allow(Homebrew::EnvConfig).to receive(:skip_or_later_bottles?).and_return(true)
|
||||
allow(Homebrew::EnvConfig).to receive_messages(developer?: true, skip_or_later_bottles?: true)
|
||||
allow(OS::Mac.version).to receive(:prerelease?).and_return(true)
|
||||
collector.add(mojave, checksum: Checksum.new("foo_checksum"), cellar: "foo_cellar")
|
||||
expect(collector.send(:find_matching_tag, mojave)).to eq(mojave)
|
||||
|
@ -29,9 +29,9 @@ describe Version do
|
||||
end
|
||||
|
||||
it "can be compared against strings" do
|
||||
expect(described_class.create("2")).to be == "2"
|
||||
expect(described_class.create("p194")).to be == "p194"
|
||||
expect(described_class.create("1")).to be == 1
|
||||
expect(described_class.create("2")).to eq "2"
|
||||
expect(described_class.create("p194")).to eq "p194"
|
||||
expect(described_class.create("1")).to eq 1
|
||||
end
|
||||
|
||||
specify "comparison returns nil for non-token" do
|
||||
@ -133,12 +133,12 @@ describe Version do
|
||||
end
|
||||
|
||||
it "is equal to itself" do
|
||||
expect(null_version).to be == described_class::NULL_TOKEN
|
||||
expect(null_version).to eq described_class::NULL_TOKEN
|
||||
end
|
||||
end
|
||||
|
||||
specify "comparison" do
|
||||
expect(described_class.new("0.1")).to be == described_class.new("0.1.0")
|
||||
expect(described_class.new("0.1")).to eq described_class.new("0.1.0")
|
||||
expect(described_class.new("0.1")).to be < described_class.new("0.2")
|
||||
expect(described_class.new("1.2.3")).to be > described_class.new("1.2.2")
|
||||
expect(described_class.new("1.2.4")).to be < described_class.new("1.2.4.1")
|
||||
@ -174,15 +174,15 @@ describe Version do
|
||||
expect(described_class.new("HEAD-abcdef")).to be > described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3")).to be < described_class.new("HEAD")
|
||||
expect(described_class.new("1.2.3")).to be < described_class.new("HEAD-fedcba")
|
||||
expect(described_class.new("HEAD-abcdef")).to be == described_class.new("HEAD-fedcba")
|
||||
expect(described_class.new("HEAD")).to be == described_class.new("HEAD-fedcba")
|
||||
expect(described_class.new("HEAD-abcdef")).to eq described_class.new("HEAD-fedcba")
|
||||
expect(described_class.new("HEAD")).to eq described_class.new("HEAD-fedcba")
|
||||
end
|
||||
|
||||
specify "comparing alpha versions" do
|
||||
expect(described_class.new("1.2.3alpha")).to be < described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3")).to be < described_class.new("1.2.3a")
|
||||
expect(described_class.new("1.2.3alpha4")).to be == described_class.new("1.2.3a4")
|
||||
expect(described_class.new("1.2.3alpha4")).to be == described_class.new("1.2.3A4")
|
||||
expect(described_class.new("1.2.3alpha4")).to eq described_class.new("1.2.3a4")
|
||||
expect(described_class.new("1.2.3alpha4")).to eq described_class.new("1.2.3A4")
|
||||
expect(described_class.new("1.2.3alpha4")).to be > described_class.new("1.2.3alpha3")
|
||||
expect(described_class.new("1.2.3alpha4")).to be < described_class.new("1.2.3alpha5")
|
||||
expect(described_class.new("1.2.3alpha4")).to be < described_class.new("1.2.3alpha10")
|
||||
@ -194,8 +194,8 @@ describe Version do
|
||||
end
|
||||
|
||||
specify "comparing beta versions" do
|
||||
expect(described_class.new("1.2.3beta2")).to be == described_class.new("1.2.3b2")
|
||||
expect(described_class.new("1.2.3beta2")).to be == described_class.new("1.2.3B2")
|
||||
expect(described_class.new("1.2.3beta2")).to eq described_class.new("1.2.3b2")
|
||||
expect(described_class.new("1.2.3beta2")).to eq described_class.new("1.2.3B2")
|
||||
expect(described_class.new("1.2.3beta2")).to be > described_class.new("1.2.3beta1")
|
||||
expect(described_class.new("1.2.3beta2")).to be < described_class.new("1.2.3beta3")
|
||||
expect(described_class.new("1.2.3beta2")).to be < described_class.new("1.2.3beta10")
|
||||
@ -207,7 +207,7 @@ describe Version do
|
||||
end
|
||||
|
||||
specify "comparing pre versions" do
|
||||
expect(described_class.new("1.2.3pre9")).to be == described_class.new("1.2.3PRE9")
|
||||
expect(described_class.new("1.2.3pre9")).to eq described_class.new("1.2.3PRE9")
|
||||
expect(described_class.new("1.2.3pre9")).to be > described_class.new("1.2.3pre8")
|
||||
expect(described_class.new("1.2.3pre8")).to be < described_class.new("1.2.3pre9")
|
||||
expect(described_class.new("1.2.3pre9")).to be < described_class.new("1.2.3pre10")
|
||||
@ -222,7 +222,7 @@ describe Version do
|
||||
end
|
||||
|
||||
specify "comparing RC versions" do
|
||||
expect(described_class.new("1.2.3rc3")).to be == described_class.new("1.2.3RC3")
|
||||
expect(described_class.new("1.2.3rc3")).to eq described_class.new("1.2.3RC3")
|
||||
expect(described_class.new("1.2.3rc3")).to be > described_class.new("1.2.3rc2")
|
||||
expect(described_class.new("1.2.3rc3")).to be < described_class.new("1.2.3rc4")
|
||||
expect(described_class.new("1.2.3rc3")).to be < described_class.new("1.2.3rc10")
|
||||
@ -234,7 +234,7 @@ describe Version do
|
||||
end
|
||||
|
||||
specify "comparing patch-level versions" do
|
||||
expect(described_class.new("1.2.3-p34")).to be == described_class.new("1.2.3-P34")
|
||||
expect(described_class.new("1.2.3-p34")).to eq described_class.new("1.2.3-P34")
|
||||
expect(described_class.new("1.2.3-p34")).to be > described_class.new("1.2.3-p33")
|
||||
expect(described_class.new("1.2.3-p34")).to be < described_class.new("1.2.3-p35")
|
||||
expect(described_class.new("1.2.3-p34")).to be > described_class.new("1.2.3-p9")
|
||||
@ -272,13 +272,13 @@ describe Version do
|
||||
end
|
||||
|
||||
it "can be compared against strings" do
|
||||
expect(described_class.new("2.1.0-p194")).to be == "2.1.0-p194"
|
||||
expect(described_class.new("1")).to be == 1
|
||||
expect(described_class.new("2.1.0-p194")).to eq "2.1.0-p194"
|
||||
expect(described_class.new("1")).to eq 1
|
||||
end
|
||||
|
||||
it "can be compared against tokens" do
|
||||
expect(described_class.new("2.1.0-p194")).to be > Version::Token.create("2")
|
||||
expect(described_class.new("1")).to be == Version::Token.create("1")
|
||||
expect(described_class.new("1")).to eq Version::Token.create("1")
|
||||
end
|
||||
|
||||
it "can be compared against Version::NULL_TOKEN" do
|
||||
@ -373,29 +373,29 @@ describe Version do
|
||||
|
||||
describe "#major" do
|
||||
it "returns major version token" do
|
||||
expect(described_class.new("1").major).to be == Version::Token.create("1")
|
||||
expect(described_class.new("1.2").major).to be == Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3").major).to be == Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3alpha").major).to be == Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3alpha4").major).to be == Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3beta4").major).to be == Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3pre4").major).to be == Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3rc4").major).to be == Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3-p4").major).to be == Version::Token.create("1")
|
||||
expect(described_class.new("1").major).to eq Version::Token.create("1")
|
||||
expect(described_class.new("1.2").major).to eq Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3").major).to eq Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3alpha").major).to eq Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3alpha4").major).to eq Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3beta4").major).to eq Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3pre4").major).to eq Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3rc4").major).to eq Version::Token.create("1")
|
||||
expect(described_class.new("1.2.3-p4").major).to eq Version::Token.create("1")
|
||||
end
|
||||
end
|
||||
|
||||
describe "#minor" do
|
||||
it "returns minor version token" do
|
||||
expect(described_class.new("1").minor).to be_nil
|
||||
expect(described_class.new("1.2").minor).to be == Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3").minor).to be == Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3alpha").minor).to be == Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3alpha4").minor).to be == Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3beta4").minor).to be == Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3pre4").minor).to be == Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3rc4").minor).to be == Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3-p4").minor).to be == Version::Token.create("2")
|
||||
expect(described_class.new("1.2").minor).to eq Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3").minor).to eq Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3alpha").minor).to eq Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3alpha4").minor).to eq Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3beta4").minor).to eq Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3pre4").minor).to eq Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3rc4").minor).to eq Version::Token.create("2")
|
||||
expect(described_class.new("1.2.3-p4").minor).to eq Version::Token.create("2")
|
||||
end
|
||||
end
|
||||
|
||||
@ -403,41 +403,41 @@ describe Version do
|
||||
it "returns patch version token" do
|
||||
expect(described_class.new("1").patch).to be_nil
|
||||
expect(described_class.new("1.2").patch).to be_nil
|
||||
expect(described_class.new("1.2.3").patch).to be == Version::Token.create("3")
|
||||
expect(described_class.new("1.2.3alpha").patch).to be == Version::Token.create("3")
|
||||
expect(described_class.new("1.2.3alpha4").patch).to be == Version::Token.create("3")
|
||||
expect(described_class.new("1.2.3beta4").patch).to be == Version::Token.create("3")
|
||||
expect(described_class.new("1.2.3pre4").patch).to be == Version::Token.create("3")
|
||||
expect(described_class.new("1.2.3rc4").patch).to be == Version::Token.create("3")
|
||||
expect(described_class.new("1.2.3-p4").patch).to be == Version::Token.create("3")
|
||||
expect(described_class.new("1.2.3").patch).to eq Version::Token.create("3")
|
||||
expect(described_class.new("1.2.3alpha").patch).to eq Version::Token.create("3")
|
||||
expect(described_class.new("1.2.3alpha4").patch).to eq Version::Token.create("3")
|
||||
expect(described_class.new("1.2.3beta4").patch).to eq Version::Token.create("3")
|
||||
expect(described_class.new("1.2.3pre4").patch).to eq Version::Token.create("3")
|
||||
expect(described_class.new("1.2.3rc4").patch).to eq Version::Token.create("3")
|
||||
expect(described_class.new("1.2.3-p4").patch).to eq Version::Token.create("3")
|
||||
end
|
||||
end
|
||||
|
||||
describe "#major_minor" do
|
||||
it "returns major.minor version" do
|
||||
expect(described_class.new("1").major_minor).to be == described_class.new("1")
|
||||
expect(described_class.new("1.2").major_minor).to be == described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3").major_minor).to be == described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3alpha").major_minor).to be == described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3alpha4").major_minor).to be == described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3beta4").major_minor).to be == described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3pre4").major_minor).to be == described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3rc4").major_minor).to be == described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3-p4").major_minor).to be == described_class.new("1.2")
|
||||
expect(described_class.new("1").major_minor).to eq described_class.new("1")
|
||||
expect(described_class.new("1.2").major_minor).to eq described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3").major_minor).to eq described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3alpha").major_minor).to eq described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3alpha4").major_minor).to eq described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3beta4").major_minor).to eq described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3pre4").major_minor).to eq described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3rc4").major_minor).to eq described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3-p4").major_minor).to eq described_class.new("1.2")
|
||||
end
|
||||
end
|
||||
|
||||
describe "#major_minor_patch" do
|
||||
it "returns major.minor.patch version" do
|
||||
expect(described_class.new("1").major_minor_patch).to be == described_class.new("1")
|
||||
expect(described_class.new("1.2").major_minor_patch).to be == described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3").major_minor_patch).to be == described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3alpha").major_minor_patch).to be == described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3alpha4").major_minor_patch).to be == described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3beta4").major_minor_patch).to be == described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3pre4").major_minor_patch).to be == described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3rc4").major_minor_patch).to be == described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3-p4").major_minor_patch).to be == described_class.new("1.2.3")
|
||||
expect(described_class.new("1").major_minor_patch).to eq described_class.new("1")
|
||||
expect(described_class.new("1.2").major_minor_patch).to eq described_class.new("1.2")
|
||||
expect(described_class.new("1.2.3").major_minor_patch).to eq described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3alpha").major_minor_patch).to eq described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3alpha4").major_minor_patch).to eq described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3beta4").major_minor_patch).to eq described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3pre4").major_minor_patch).to eq described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3rc4").major_minor_patch).to eq described_class.new("1.2.3")
|
||||
expect(described_class.new("1.2.3-p4").major_minor_patch).to eq described_class.new("1.2.3")
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -462,8 +462,8 @@ module Homebrew
|
||||
|
||||
def depends_on(one, two)
|
||||
if one.any_installed_keg
|
||||
&.runtime_dependencies
|
||||
&.any? { |dependency| dependency["full_name"] == two.full_name }
|
||||
&.runtime_dependencies
|
||||
&.any? { |dependency| dependency["full_name"] == two.full_name }
|
||||
1
|
||||
else
|
||||
one <=> two
|
||||
|
@ -190,7 +190,7 @@ module Utils
|
||||
elsif macos? && [:x86_64, :intel].include?(arch)
|
||||
system
|
||||
else
|
||||
"#{standardized_arch}_#{system}".to_sym
|
||||
:"#{standardized_arch}_#{system}"
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -744,7 +744,7 @@ module GitHub
|
||||
end
|
||||
|
||||
def self.multiple_short_commits_exist?(user, repo, commit)
|
||||
return if Homebrew::EnvConfig.no_github_api?
|
||||
return false if Homebrew::EnvConfig.no_github_api?
|
||||
|
||||
output, _, status = Utils::Curl.curl_output(
|
||||
"--silent", "--head", "--location",
|
||||
|
@ -52,7 +52,7 @@ module SharedAudits
|
||||
return "#{tag} is not a GitHub pre-release but '#{name}' is in the GitHub prerelease allowlist."
|
||||
end
|
||||
|
||||
return "#{tag} is a GitHub draft." if release["draft"]
|
||||
"#{tag} is a GitHub draft." if release["draft"]
|
||||
end
|
||||
|
||||
def gitlab_repo_data(user, repo)
|
||||
|
@ -118,7 +118,7 @@ module Utils
|
||||
# anything that isn't a known safe character is padded
|
||||
str.gsub!(UNSAFE_SHELL_CHAR, "\\\\" + "\\1") # rubocop:disable Style/StringConcatenation
|
||||
# newlines have to be specially quoted in csh
|
||||
str.gsub!(/\n/, "'\\\n'")
|
||||
str.gsub!("\n", "'\\\n'")
|
||||
str
|
||||
end
|
||||
|
||||
@ -131,7 +131,7 @@ module Utils
|
||||
str = str.dup
|
||||
# anything that isn't a known safe character is padded
|
||||
str.gsub!(UNSAFE_SHELL_CHAR, "\\\\" + "\\1") # rubocop:disable Style/StringConcatenation
|
||||
str.gsub!(/\n/, "'\n'")
|
||||
str.gsub!("\n", "'\n'")
|
||||
str
|
||||
end
|
||||
end
|
||||
|
@ -196,7 +196,7 @@ module SPDX
|
||||
|
||||
name, version, = license_version_info license
|
||||
|
||||
forbidden_licenses.each do |_, license_info|
|
||||
forbidden_licenses.each_value do |license_info|
|
||||
forbidden_name, forbidden_version, forbidden_or_later = *license_info
|
||||
next if forbidden_name != name
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user