From 5692c8ecbffae468c5e46c03921f32c83e65663e Mon Sep 17 00:00:00 2001 From: Bo Anderson Date: Thu, 14 Dec 2023 02:52:30 +0000 Subject: [PATCH] Fix style violations under newer RuboCop --- Library/.rubocop.yml | 8 ++ .../cask/artifact/abstract_artifact.rb | 2 +- Library/Homebrew/cask/caskroom.rb | 2 +- Library/Homebrew/cask/dsl/version.rb | 2 +- Library/Homebrew/cli/args.rb | 9 +- Library/Homebrew/cli/parser.rb | 7 +- Library/Homebrew/commands.rb | 12 +- Library/Homebrew/dependable.rb | 2 +- Library/Homebrew/dev-cmd/audit.rb | 8 +- Library/Homebrew/dev-cmd/bottle.rb | 2 +- Library/Homebrew/dev-cmd/contributions.rb | 4 +- Library/Homebrew/dev-cmd/formula.rb | 3 +- Library/Homebrew/dev-cmd/pr-pull.rb | 2 +- Library/Homebrew/extend/on_system.rb | 14 ++- Library/Homebrew/formula.rb | 2 +- Library/Homebrew/formula_auditor.rb | 2 +- Library/Homebrew/formula_installer.rb | 11 +- Library/Homebrew/install.rb | 4 +- Library/Homebrew/language/python.rb | 4 +- Library/Homebrew/livecheck/livecheck.rb | 1 - Library/Homebrew/locale.rb | 4 +- Library/Homebrew/os/mac/mach.rb | 2 +- Library/Homebrew/rubocops/dependency_order.rb | 2 +- .../Homebrew/rubocops/extend/formula_cop.rb | 8 +- Library/Homebrew/standalone/sorbet.rb | 4 +- Library/Homebrew/test/cache_store_spec.rb | 15 +-- .../Homebrew/test/cask/artifact/app_spec.rb | 3 +- Library/Homebrew/test/cask/audit_spec.rb | 3 +- Library/Homebrew/test/cask/cask_spec.rb | 10 +- Library/Homebrew/test/cask/download_spec.rb | 3 +- Library/Homebrew/test/cask/dsl_spec.rb | 2 +- Library/Homebrew/test/cask/pkg_spec.rb | 18 +-- Library/Homebrew/test/caveats_spec.rb | 9 +- Library/Homebrew/test/cleanup_spec.rb | 4 +- Library/Homebrew/test/cli/parser_spec.rb | 6 +- Library/Homebrew/test/dev-cmd/extract_spec.rb | 6 +- Library/Homebrew/test/extend/blank_spec.rb | 2 +- Library/Homebrew/test/formula_spec.rb | 12 +- Library/Homebrew/test/formulary_spec.rb | 6 +- .../test/github_runner_matrix_spec.rb | 3 +- Library/Homebrew/test/hardware/cpu_spec.rb | 6 +- Library/Homebrew/test/language/java_spec.rb | 3 +- Library/Homebrew/test/macos_version_spec.rb | 6 +- .../Homebrew/test/os/mac/diagnostic_spec.rb | 30 ++--- Library/Homebrew/test/os/mac_spec.rb | 14 +-- Library/Homebrew/test/pkg_version_spec.rb | 16 +-- Library/Homebrew/test/tab_spec.rb | 3 +- .../test/utils/bottles/collector_spec.rb | 3 +- Library/Homebrew/test/version_spec.rb | 118 +++++++++--------- Library/Homebrew/upgrade.rb | 4 +- Library/Homebrew/utils/bottles.rb | 2 +- Library/Homebrew/utils/github.rb | 2 +- Library/Homebrew/utils/shared_audits.rb | 2 +- Library/Homebrew/utils/shell.rb | 4 +- Library/Homebrew/utils/spdx.rb | 2 +- 55 files changed, 205 insertions(+), 233 deletions(-) diff --git a/Library/.rubocop.yml b/Library/.rubocop.yml index 815fe39c7d..1de6588d15 100644 --- a/Library/.rubocop.yml +++ b/Library/.rubocop.yml @@ -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: diff --git a/Library/Homebrew/cask/artifact/abstract_artifact.rb b/Library/Homebrew/cask/artifact/abstract_artifact.rb index b5f120cc47..6882e7f2ac 100644 --- a/Library/Homebrew/cask/artifact/abstract_artifact.rb +++ b/Library/Homebrew/cask/artifact/abstract_artifact.rb @@ -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) } diff --git a/Library/Homebrew/cask/caskroom.rb b/Library/Homebrew/cask/caskroom.rb index 5aac963b10..bc3f505df3 100644 --- a/Library/Homebrew/cask/caskroom.rb +++ b/Library/Homebrew/cask/caskroom.rb @@ -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) } diff --git a/Library/Homebrew/cask/dsl/version.rb b/Library/Homebrew/cask/dsl/version.rb index 20d26a7195..7c3ec7d3f8 100644 --- a/Library/Homebrew/cask/dsl/version.rb +++ b/Library/Homebrew/cask/dsl/version.rb @@ -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 diff --git a/Library/Homebrew/cli/args.rb b/Library/Homebrew/cli/args.rb index b4cfe9a140..00f47b9abe 100644 --- a/Library/Homebrew/cli/args.rb +++ b/Library/Homebrew/cli/args.rb @@ -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 diff --git a/Library/Homebrew/cli/parser.rb b/Library/Homebrew/cli/parser.rb index 9c1a6d1274..4bb9aec91c 100644 --- a/Library/Homebrew/cli/parser.rb +++ b/Library/Homebrew/cli/parser.rb @@ -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) diff --git a/Library/Homebrew/commands.rb b/Library/Homebrew/commands.rb index 2e72194afa..89774bfe7c 100644 --- a/Library/Homebrew/commands.rb +++ b/Library/Homebrew/commands.rb @@ -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 = /^#: (?\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 diff --git a/Library/Homebrew/dependable.rb b/Library/Homebrew/dependable.rb index 516cfa2e32..6e4819ed22 100644 --- a/Library/Homebrew/dependable.rb +++ b/Library/Homebrew/dependable.rb @@ -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 diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index a014d75bdf..b6c46b5d26 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -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, diff --git a/Library/Homebrew/dev-cmd/bottle.rb b/Library/Homebrew/dev-cmd/bottle.rb index 2fb3bd1aa7..2cdb4ebe5a 100644 --- a/Library/Homebrew/dev-cmd/bottle.rb +++ b/Library/Homebrew/dev-cmd/bottle.rb @@ -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 diff --git a/Library/Homebrew/dev-cmd/contributions.rb b/Library/Homebrew/dev-cmd/contributions.rb index f9babd353b..b38fdc7419 100755 --- a/Library/Homebrew/dev-cmd/contributions.rb +++ b/Library/Homebrew/dev-cmd/contributions.rb @@ -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. diff --git a/Library/Homebrew/dev-cmd/formula.rb b/Library/Homebrew/dev-cmd/formula.rb index b077326670..7f08d465ba 100644 --- a/Library/Homebrew/dev-cmd/formula.rb +++ b/Library/Homebrew/dev-cmd/formula.rb @@ -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)) diff --git a/Library/Homebrew/dev-cmd/pr-pull.rb b/Library/Homebrew/dev-cmd/pr-pull.rb index bd50244718..941e63465e 100644 --- a/Library/Homebrew/dev-cmd/pr-pull.rb +++ b/Library/Homebrew/dev-cmd/pr-pull.rb @@ -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") diff --git a/Library/Homebrew/extend/on_system.rb b/Library/Homebrew/extend/on_system.rb index 426a40e7ef..6ebeef7ab8 100644 --- a/Library/Homebrew/extend/on_system.rb +++ b/Library/Homebrew/extend/on_system.rb @@ -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 diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 8ac85affdd..9eb6a6d5fa 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -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} diff --git a/Library/Homebrew/formula_auditor.rb b/Library/Homebrew/formula_auditor.rb index d0eb413d0c..f01d6986a3 100644 --- a/Library/Homebrew/formula_auditor.rb +++ b/Library/Homebrew/formula_auditor.rb @@ -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| diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index a5972f45db..ce55a97d9d 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -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 diff --git a/Library/Homebrew/install.rb b/Library/Homebrew/install.rb index a2df39fed2..f81f6e38fe 100644 --- a/Library/Homebrew/install.rb +++ b/Library/Homebrew/install.rb @@ -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 diff --git a/Library/Homebrew/language/python.rb b/Library/Homebrew/language/python.rb index 1926755302..19d18c5c16 100644 --- a/Library/Homebrew/language/python.rb +++ b/Library/Homebrew/language/python.rb @@ -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 diff --git a/Library/Homebrew/livecheck/livecheck.rb b/Library/Homebrew/livecheck/livecheck.rb index cf7f32f6a1..3a6aa74768 100644 --- a/Library/Homebrew/livecheck/livecheck.rb +++ b/Library/Homebrew/livecheck/livecheck.rb @@ -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 diff --git a/Library/Homebrew/locale.rb b/Library/Homebrew/locale.rb index 6c0fe89bf5..7979f1fc3d 100644 --- a/Library/Homebrew/locale.rb +++ b/Library/Homebrew/locale.rb @@ -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 diff --git a/Library/Homebrew/os/mac/mach.rb b/Library/Homebrew/os/mac/mach.rb index fea21898e8..5bf2d8fd93 100644 --- a/Library/Homebrew/os/mac/mach.rb +++ b/Library/Homebrew/os/mac/mach.rb @@ -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 diff --git a/Library/Homebrew/rubocops/dependency_order.rb b/Library/Homebrew/rubocops/dependency_order.rb index d3964237fb..7d8efd707c 100644 --- a/Library/Homebrew/rubocops/dependency_order.rb +++ b/Library/Homebrew/rubocops/dependency_order.rb @@ -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 diff --git a/Library/Homebrew/rubocops/extend/formula_cop.rb b/Library/Homebrew/rubocops/extend/formula_cop.rb index 7ee374881c..6f32cb2c05 100644 --- a/Library/Homebrew/rubocops/extend/formula_cop.rb +++ b/Library/Homebrew/rubocops/extend/formula_cop.rb @@ -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. diff --git a/Library/Homebrew/standalone/sorbet.rb b/Library/Homebrew/standalone/sorbet.rb index 8170e0049f..4aaa7e965a 100644 --- a/Library/Homebrew/standalone/sorbet.rb +++ b/Library/Homebrew/standalone/sorbet.rb @@ -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 diff --git a/Library/Homebrew/test/cache_store_spec.rb b/Library/Homebrew/test/cache_store_spec.rb index a583ebbf53..242ae63d0f 100644 --- a/Library/Homebrew/test/cache_store_spec.rb +++ b/Library/Homebrew/test/cache_store_spec.rb @@ -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 diff --git a/Library/Homebrew/test/cask/artifact/app_spec.rb b/Library/Homebrew/test/cask/artifact/app_spec.rb index ed94017311..14f69a67ac 100644 --- a/Library/Homebrew/test/cask/artifact/app_spec.rb +++ b/Library/Homebrew/test/cask/artifact/app_spec.rb @@ -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 diff --git a/Library/Homebrew/test/cask/audit_spec.rb b/Library/Homebrew/test/cask/audit_spec.rb index 8878d3ef16..73d845e470 100644 --- a/Library/Homebrew/test/cask/audit_spec.rb +++ b/Library/Homebrew/test/cask/audit_spec.rb @@ -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 diff --git a/Library/Homebrew/test/cask/cask_spec.rb b/Library/Homebrew/test/cask/cask_spec.rb index 71ce127d62..ebc393f7e6 100644 --- a/Library/Homebrew/test/cask/cask_spec.rb +++ b/Library/Homebrew/test/cask/cask_spec.rb @@ -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 } diff --git a/Library/Homebrew/test/cask/download_spec.rb b/Library/Homebrew/test/cask/download_spec.rb index ad699ab1ca..532cecbd10 100644 --- a/Library/Homebrew/test/cask/download_spec.rb +++ b/Library/Homebrew/test/cask/download_spec.rb @@ -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 diff --git a/Library/Homebrew/test/cask/dsl_spec.rb b/Library/Homebrew/test/cask/dsl_spec.rb index da2d5425dd..9616cf738d 100644 --- a/Library/Homebrew/test/cask/dsl_spec.rb +++ b/Library/Homebrew/test/cask/dsl_spec.rb @@ -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, diff --git a/Library/Homebrew/test/cask/pkg_spec.rb b/Library/Homebrew/test/cask/pkg_spec.rb index 4476b80ed7..314135e6a6 100644 --- a/Library/Homebrew/test/cask/pkg_spec.rb +++ b/Library/Homebrew/test/cask/pkg_spec.rb @@ -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`. diff --git a/Library/Homebrew/test/caveats_spec.rb b/Library/Homebrew/test/caveats_spec.rb index 3f10c23343..ad493a6c37 100644 --- a/Library/Homebrew/test/caveats_spec.rb +++ b/Library/Homebrew/test/caveats_spec.rb @@ -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 diff --git a/Library/Homebrew/test/cleanup_spec.rb b/Library/Homebrew/test/cleanup_spec.rb index 00054edaf0..80d19625ca 100644 --- a/Library/Homebrew/test/cleanup_spec.rb +++ b/Library/Homebrew/test/cleanup_spec.rb @@ -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) diff --git a/Library/Homebrew/test/cli/parser_spec.rb b/Library/Homebrew/test/cli/parser_spec.rb index 7785e3f790..42fd1757ab 100644 --- a/Library/Homebrew/test/cli/parser_spec.rb +++ b/Library/Homebrew/test/cli/parser_spec.rb @@ -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 diff --git a/Library/Homebrew/test/dev-cmd/extract_spec.rb b/Library/Homebrew/test/dev-cmd/extract_spec.rb index e1d93846c4..f3d6910466 100644 --- a/Library/Homebrew/test/dev-cmd/extract_spec.rb +++ b/Library/Homebrew/test/dev-cmd/extract_spec.rb @@ -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 diff --git a/Library/Homebrew/test/extend/blank_spec.rb b/Library/Homebrew/test/extend/blank_spec.rb index 4c9689020f..5dfae89845 100644 --- a/Library/Homebrew/test/extend/blank_spec.rb +++ b/Library/Homebrew/test/extend/blank_spec.rb @@ -13,7 +13,7 @@ describe Object do let(:empty_false) do Class.new(described_class) do def empty? - nil + false end end end diff --git a/Library/Homebrew/test/formula_spec.rb b/Library/Homebrew/test/formula_spec.rb index cc9ba42ab1..94454a9780 100644 --- a/Library/Homebrew/test/formula_spec.rb +++ b/Library/Homebrew/test/formula_spec.rb @@ -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" diff --git a/Library/Homebrew/test/formulary_spec.rb b/Library/Homebrew/test/formulary_spec.rb index 9dfe65d4c3..eaebc27379 100644 --- a/Library/Homebrew/test/formulary_spec.rb +++ b/Library/Homebrew/test/formulary_spec.rb @@ -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 diff --git a/Library/Homebrew/test/github_runner_matrix_spec.rb b/Library/Homebrew/test/github_runner_matrix_spec.rb index 07b5d147e8..00bccd4981 100644 --- a/Library/Homebrew/test/github_runner_matrix_spec.rb +++ b/Library/Homebrew/test/github_runner_matrix_spec.rb @@ -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) diff --git a/Library/Homebrew/test/hardware/cpu_spec.rb b/Library/Homebrew/test/hardware/cpu_spec.rb index a5c362a33e..c3cacad5cb 100644 --- a/Library/Homebrew/test/hardware/cpu_spec.rb +++ b/Library/Homebrew/test/hardware/cpu_spec.rb @@ -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 diff --git a/Library/Homebrew/test/language/java_spec.rb b/Library/Homebrew/test/language/java_spec.rb index af73ada543..13d3d15eb8 100644 --- a/Library/Homebrew/test/language/java_spec.rb +++ b/Library/Homebrew/test/language/java_spec.rb @@ -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 diff --git a/Library/Homebrew/test/macos_version_spec.rb b/Library/Homebrew/test/macos_version_spec.rb index 98e904b771..61e248dfd0 100644 --- a/Library/Homebrew/test/macos_version_spec.rb +++ b/Library/Homebrew/test/macos_version_spec.rb @@ -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 diff --git a/Library/Homebrew/test/os/mac/diagnostic_spec.rb b/Library/Homebrew/test/os/mac/diagnostic_spec.rb index 20b5e6dc82..17648c0eb4 100644 --- a/Library/Homebrew/test/os/mac/diagnostic_spec.rb +++ b/Library/Homebrew/test/os/mac/diagnostic_spec.rb @@ -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}") diff --git a/Library/Homebrew/test/os/mac_spec.rb b/Library/Homebrew/test/os/mac_spec.rb index 97f7c71043..8ec93eb75d 100644 --- a/Library/Homebrew/test/os/mac_spec.rb +++ b/Library/Homebrew/test/os/mac_spec.rb @@ -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 diff --git a/Library/Homebrew/test/pkg_version_spec.rb b/Library/Homebrew/test/pkg_version_spec.rb index 302c6d8202..6f066cb9fc 100644 --- a/Library/Homebrew/test/pkg_version_spec.rb +++ b/Library/Homebrew/test/pkg_version_spec.rb @@ -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 diff --git a/Library/Homebrew/test/tab_spec.rb b/Library/Homebrew/test/tab_spec.rb index f7f25ab499..267a5349cc 100644 --- a/Library/Homebrew/test/tab_spec.rb +++ b/Library/Homebrew/test/tab_spec.rb @@ -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" diff --git a/Library/Homebrew/test/utils/bottles/collector_spec.rb b/Library/Homebrew/test/utils/bottles/collector_spec.rb index 12c7019deb..b0356f059d 100644 --- a/Library/Homebrew/test/utils/bottles/collector_spec.rb +++ b/Library/Homebrew/test/utils/bottles/collector_spec.rb @@ -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) diff --git a/Library/Homebrew/test/version_spec.rb b/Library/Homebrew/test/version_spec.rb index ab2af957e3..248e7facda 100644 --- a/Library/Homebrew/test/version_spec.rb +++ b/Library/Homebrew/test/version_spec.rb @@ -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 diff --git a/Library/Homebrew/upgrade.rb b/Library/Homebrew/upgrade.rb index 3fa1929ce3..b74fa4ec05 100644 --- a/Library/Homebrew/upgrade.rb +++ b/Library/Homebrew/upgrade.rb @@ -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 diff --git a/Library/Homebrew/utils/bottles.rb b/Library/Homebrew/utils/bottles.rb index 43fb16dd92..87a16b2487 100644 --- a/Library/Homebrew/utils/bottles.rb +++ b/Library/Homebrew/utils/bottles.rb @@ -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 diff --git a/Library/Homebrew/utils/github.rb b/Library/Homebrew/utils/github.rb index 390870ad64..17d2dde3c5 100644 --- a/Library/Homebrew/utils/github.rb +++ b/Library/Homebrew/utils/github.rb @@ -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", diff --git a/Library/Homebrew/utils/shared_audits.rb b/Library/Homebrew/utils/shared_audits.rb index 960d1173a8..f09156ee7e 100644 --- a/Library/Homebrew/utils/shared_audits.rb +++ b/Library/Homebrew/utils/shared_audits.rb @@ -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) diff --git a/Library/Homebrew/utils/shell.rb b/Library/Homebrew/utils/shell.rb index 1f5e3844f9..a00337b6d0 100644 --- a/Library/Homebrew/utils/shell.rb +++ b/Library/Homebrew/utils/shell.rb @@ -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 diff --git a/Library/Homebrew/utils/spdx.rb b/Library/Homebrew/utils/spdx.rb index b1d90d6edb..6ff8aef7ce 100644 --- a/Library/Homebrew/utils/spdx.rb +++ b/Library/Homebrew/utils/spdx.rb @@ -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