mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
preinstall: fix Naming/PredicateMethod error
This commit is contained in:
parent
14f4f688d4
commit
25d8714c02
@ -18,7 +18,7 @@ module Homebrew
|
|||||||
Homebrew::Bundle::CaskDumper.cask_is_outdated_using_greedy?(name)
|
Homebrew::Bundle::CaskDumper.cask_is_outdated_using_greedy?(name)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.preinstall(name, no_upgrade: false, verbose: false, **options)
|
def self.preinstall?(name, no_upgrade: false, verbose: false, **options)
|
||||||
if installed_casks.include?(name) && !upgrading?(no_upgrade, name, options)
|
if installed_casks.include?(name) && !upgrading?(no_upgrade, name, options)
|
||||||
puts "Skipping install of #{name} cask. It is already installed." if verbose
|
puts "Skipping install of #{name} cask. It is already installed." if verbose
|
||||||
return false
|
return false
|
||||||
|
@ -10,8 +10,8 @@ module Homebrew
|
|||||||
@pinned_formulae = nil
|
@pinned_formulae = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.preinstall(name, no_upgrade: false, verbose: false, **options)
|
def self.preinstall?(name, no_upgrade: false, verbose: false, **options)
|
||||||
new(name, options).preinstall(no_upgrade:, verbose:)
|
new(name, options).preinstall?(no_upgrade:, verbose:)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.install(name, preinstall: true, no_upgrade: false, verbose: false, force: false, **options)
|
def self.install(name, preinstall: true, no_upgrade: false, verbose: false, force: false, **options)
|
||||||
@ -31,7 +31,7 @@ module Homebrew
|
|||||||
@changed = nil
|
@changed = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def preinstall(no_upgrade: false, verbose: false)
|
def preinstall?(no_upgrade: false, verbose: false)
|
||||||
if installed? && (self.class.no_upgrade_with_args?(no_upgrade, @name) || !upgradable?)
|
if installed? && (self.class.no_upgrade_with_args?(no_upgrade, @name) || !upgradable?)
|
||||||
puts "Skipping install of #{@name} formula. It is already installed." if verbose
|
puts "Skipping install of #{@name} formula. It is already installed." if verbose
|
||||||
@changed = nil
|
@changed = nil
|
||||||
|
@ -49,7 +49,7 @@ module Homebrew
|
|||||||
next if cls.nil?
|
next if cls.nil?
|
||||||
next if Homebrew::Bundle::Skipper.skip? entry
|
next if Homebrew::Bundle::Skipper.skip? entry
|
||||||
|
|
||||||
preinstall = if cls.preinstall(*args, **options, no_upgrade:, verbose:)
|
preinstall = if cls.preinstall?(*args, **options, no_upgrade:, verbose:)
|
||||||
puts Formatter.success("#{verb} #{name}")
|
puts Formatter.success("#{verb} #{name}")
|
||||||
true
|
true
|
||||||
else
|
else
|
||||||
|
@ -11,7 +11,7 @@ module Homebrew
|
|||||||
@outdated_app_ids = nil
|
@outdated_app_ids = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.preinstall(name, id, no_upgrade: false, verbose: false)
|
def self.preinstall?(name, id, no_upgrade: false, verbose: false)
|
||||||
unless Bundle.mas_installed?
|
unless Bundle.mas_installed?
|
||||||
puts "Installing mas. It is not currently installed." if verbose
|
puts "Installing mas. It is not currently installed." if verbose
|
||||||
Bundle.brew("install", "mas", verbose:)
|
Bundle.brew("install", "mas", verbose:)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
module Homebrew
|
module Homebrew
|
||||||
module Bundle
|
module Bundle
|
||||||
module TapInstaller
|
module TapInstaller
|
||||||
def self.preinstall(name, verbose: false, **_options)
|
def self.preinstall?(name, verbose: false, **_options)
|
||||||
if installed_taps.include? name
|
if installed_taps.include? name
|
||||||
puts "Skipping install of #{name} tap. It is already installed." if verbose
|
puts "Skipping install of #{name} tap. It is already installed." if verbose
|
||||||
return false
|
return false
|
||||||
|
@ -8,7 +8,7 @@ module Homebrew
|
|||||||
@installed_extensions = nil
|
@installed_extensions = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.preinstall(name, no_upgrade: false, verbose: false)
|
def self.preinstall?(name, no_upgrade: false, verbose: false)
|
||||||
if !Bundle.vscode_installed? && Bundle.cask_installed?
|
if !Bundle.vscode_installed? && Bundle.cask_installed?
|
||||||
puts "Installing visual-studio-code. It is not currently installed." if verbose
|
puts "Installing visual-studio-code. It is not currently installed." if verbose
|
||||||
Bundle.brew("install", "--cask", "visual-studio-code", verbose:)
|
Bundle.brew("install", "--cask", "visual-studio-code", verbose:)
|
||||||
|
@ -8,7 +8,7 @@ module Homebrew
|
|||||||
@installed_images = nil
|
@installed_images = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.preinstall(name, verbose: false, **_options)
|
def self.preinstall?(name, verbose: false, **_options)
|
||||||
unless Bundle.whalebrew_installed?
|
unless Bundle.whalebrew_installed?
|
||||||
puts "Installing whalebrew. It is not currently installed." if verbose
|
puts "Installing whalebrew. It is not currently installed." if verbose
|
||||||
Bundle.brew("install", "--formula", "whalebrew", verbose:)
|
Bundle.brew("install", "--formula", "whalebrew", verbose:)
|
||||||
|
@ -55,7 +55,7 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
|||||||
|
|
||||||
it "skips" do
|
it "skips" do
|
||||||
expect(Homebrew::Bundle).not_to receive(:system)
|
expect(Homebrew::Bundle).not_to receive(:system)
|
||||||
expect(described_class.preinstall("google-chrome")).to be(false)
|
expect(described_class.preinstall?("google-chrome")).to be(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
|||||||
expect(Homebrew::Bundle).to \
|
expect(Homebrew::Bundle).to \
|
||||||
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--cask", "google-chrome", verbose: false)
|
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--cask", "google-chrome", verbose: false)
|
||||||
.and_return(true)
|
.and_return(true)
|
||||||
expect(described_class.preinstall("google-chrome")).to be(true)
|
expect(described_class.preinstall?("google-chrome")).to be(true)
|
||||||
expect(described_class.install("google-chrome")).to be(true)
|
expect(described_class.install("google-chrome")).to be(true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -85,7 +85,7 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
|||||||
expect(Homebrew::Bundle).to \
|
expect(Homebrew::Bundle).to \
|
||||||
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--cask", "opera", verbose: false)
|
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--cask", "opera", verbose: false)
|
||||||
.and_return(true)
|
.and_return(true)
|
||||||
expect(described_class.preinstall("opera", greedy: true)).to be(true)
|
expect(described_class.preinstall?("opera", greedy: true)).to be(true)
|
||||||
expect(described_class.install("opera", greedy: true)).to be(true)
|
expect(described_class.install("opera", greedy: true)).to be(true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -99,7 +99,7 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
|||||||
expect(Homebrew::Bundle).to receive(:brew).with("install", "--cask", "google-chrome", "--adopt",
|
expect(Homebrew::Bundle).to receive(:brew).with("install", "--cask", "google-chrome", "--adopt",
|
||||||
verbose: false)
|
verbose: false)
|
||||||
.and_return(true)
|
.and_return(true)
|
||||||
expect(described_class.preinstall("google-chrome")).to be(true)
|
expect(described_class.preinstall?("google-chrome")).to be(true)
|
||||||
expect(described_class.install("google-chrome")).to be(true)
|
expect(described_class.install("google-chrome")).to be(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
|||||||
verbose: false)
|
verbose: false)
|
||||||
.and_return(true),
|
.and_return(true),
|
||||||
)
|
)
|
||||||
expect(described_class.preinstall("firefox", args: { appdir: "/Applications" })).to be(true)
|
expect(described_class.preinstall?("firefox", args: { appdir: "/Applications" })).to be(true)
|
||||||
expect(described_class.install("firefox", args: { appdir: "/Applications" })).to be(true)
|
expect(described_class.install("firefox", args: { appdir: "/Applications" })).to be(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -117,7 +117,7 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
|||||||
expect(Homebrew::Bundle).to receive(:brew).with("install", "--cask", "google-chrome", "--adopt",
|
expect(Homebrew::Bundle).to receive(:brew).with("install", "--cask", "google-chrome", "--adopt",
|
||||||
verbose: false)
|
verbose: false)
|
||||||
.and_return(false)
|
.and_return(false)
|
||||||
expect(described_class.preinstall("google-chrome")).to be(true)
|
expect(described_class.preinstall?("google-chrome")).to be(true)
|
||||||
expect(described_class.install("google-chrome")).to be(false)
|
expect(described_class.install("google-chrome")).to be(false)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -126,14 +126,14 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
|||||||
expect(Homebrew::Bundle).to receive(:brew).with("install", "--cask", "iterm", "--force",
|
expect(Homebrew::Bundle).to receive(:brew).with("install", "--cask", "iterm", "--force",
|
||||||
verbose: false)
|
verbose: false)
|
||||||
.and_return(true)
|
.and_return(true)
|
||||||
expect(described_class.preinstall("iterm", args: { force: true })).to be(true)
|
expect(described_class.preinstall?("iterm", args: { force: true })).to be(true)
|
||||||
expect(described_class.install("iterm", args: { force: true })).to be(true)
|
expect(described_class.install("iterm", args: { force: true })).to be(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "does not include a flag if false" do
|
it "does not include a flag if false" do
|
||||||
expect(Homebrew::Bundle).to receive(:brew).with("install", "--cask", "iterm", "--adopt", verbose: false)
|
expect(Homebrew::Bundle).to receive(:brew).with("install", "--cask", "iterm", "--adopt", verbose: false)
|
||||||
.and_return(true)
|
.and_return(true)
|
||||||
expect(described_class.preinstall("iterm", args: { force: false })).to be(true)
|
expect(described_class.preinstall?("iterm", args: { force: false })).to be(true)
|
||||||
expect(described_class.install("iterm", args: { force: false })).to be(true)
|
expect(described_class.install("iterm", args: { force: false })).to be(true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -150,13 +150,13 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
|||||||
|
|
||||||
it "runs the postinstall command" do
|
it "runs the postinstall command" do
|
||||||
expect(Kernel).to receive(:system).with("custom command").and_return(true)
|
expect(Kernel).to receive(:system).with("custom command").and_return(true)
|
||||||
expect(described_class.preinstall("google-chrome", postinstall: "custom command")).to be(true)
|
expect(described_class.preinstall?("google-chrome", postinstall: "custom command")).to be(true)
|
||||||
expect(described_class.install("google-chrome", postinstall: "custom command")).to be(true)
|
expect(described_class.install("google-chrome", postinstall: "custom command")).to be(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "reports a failure when postinstall fails" do
|
it "reports a failure when postinstall fails" do
|
||||||
expect(Kernel).to receive(:system).with("custom command").and_return(false)
|
expect(Kernel).to receive(:system).with("custom command").and_return(false)
|
||||||
expect(described_class.preinstall("google-chrome", postinstall: "custom command")).to be(true)
|
expect(described_class.preinstall?("google-chrome", postinstall: "custom command")).to be(true)
|
||||||
expect(described_class.install("google-chrome", postinstall: "custom command")).to be(false)
|
expect(described_class.install("google-chrome", postinstall: "custom command")).to be(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -28,8 +28,8 @@ RSpec.describe Homebrew::Bundle::Commands::Install do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "does not raise an error" do
|
it "does not raise an error" do
|
||||||
allow(Homebrew::Bundle::TapInstaller).to receive(:preinstall).and_return(false)
|
allow(Homebrew::Bundle::TapInstaller).to receive(:preinstall?).and_return(false)
|
||||||
allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive(:preinstall).and_return(false)
|
allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive(:preinstall?).and_return(false)
|
||||||
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall: true, install: true)
|
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall: true, install: true)
|
||||||
allow(Homebrew::Bundle::CaskInstaller).to receive_messages(preinstall: true, install: true)
|
allow(Homebrew::Bundle::CaskInstaller).to receive_messages(preinstall: true, install: true)
|
||||||
allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall: true, install: true)
|
allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall: true, install: true)
|
||||||
@ -38,7 +38,7 @@ RSpec.describe Homebrew::Bundle::Commands::Install do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "#dsl returns a valid DSL" do
|
it "#dsl returns a valid DSL" do
|
||||||
allow(Homebrew::Bundle::TapInstaller).to receive(:preinstall).and_return(false)
|
allow(Homebrew::Bundle::TapInstaller).to receive(:preinstall?).and_return(false)
|
||||||
allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive(:preinstall).and_return(false)
|
allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive(:preinstall).and_return(false)
|
||||||
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall: true, install: true)
|
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall: true, install: true)
|
||||||
allow(Homebrew::Bundle::CaskInstaller).to receive_messages(preinstall: true, install: true)
|
allow(Homebrew::Bundle::CaskInstaller).to receive_messages(preinstall: true, install: true)
|
||||||
@ -69,7 +69,7 @@ RSpec.describe Homebrew::Bundle::Commands::Install do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "skips installs from failed taps" do
|
it "skips installs from failed taps" do
|
||||||
allow(Homebrew::Bundle::CaskInstaller).to receive(:preinstall).and_return(false)
|
allow(Homebrew::Bundle::CaskInstaller).to receive(:preinstall?).and_return(false)
|
||||||
allow(Homebrew::Bundle::TapInstaller).to receive_messages(preinstall: true, install: false)
|
allow(Homebrew::Bundle::TapInstaller).to receive_messages(preinstall: true, install: false)
|
||||||
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall: true, install: true)
|
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall: true, install: true)
|
||||||
allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall: true, install: true)
|
allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall: true, install: true)
|
||||||
|
@ -37,7 +37,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
context "with a successful installation" do
|
context "with a successful installation" do
|
||||||
it "start service" do
|
it "start service" do
|
||||||
expect(Homebrew::Bundle::BrewServices).not_to receive(:start)
|
expect(Homebrew::Bundle::BrewServices).not_to receive(:start)
|
||||||
described_class.preinstall(formula_name, start_service: true)
|
described_class.preinstall?(formula_name, start_service: true)
|
||||||
described_class.install(formula_name, start_service: true)
|
described_class.install(formula_name, start_service: true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -59,7 +59,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
it "start service" do
|
it "start service" do
|
||||||
expect(Homebrew::Bundle::BrewServices).to \
|
expect(Homebrew::Bundle::BrewServices).to \
|
||||||
receive(:start).with(formula_name, file: nil, verbose: false).and_return(true)
|
receive(:start).with(formula_name, file: nil, verbose: false).and_return(true)
|
||||||
described_class.preinstall(formula_name, start_service: true)
|
described_class.preinstall?(formula_name, start_service: true)
|
||||||
described_class.install(formula_name, start_service: true)
|
described_class.install(formula_name, start_service: true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -84,7 +84,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
it "restart service" do
|
it "restart service" do
|
||||||
expect(Homebrew::Bundle::BrewServices).to \
|
expect(Homebrew::Bundle::BrewServices).to \
|
||||||
receive(:restart).with(formula_name, file: nil, verbose: false).and_return(true)
|
receive(:restart).with(formula_name, file: nil, verbose: false).and_return(true)
|
||||||
described_class.preinstall(formula_name, restart_service: :always)
|
described_class.preinstall?(formula_name, restart_service: :always)
|
||||||
described_class.install(formula_name, restart_service: :always)
|
described_class.install(formula_name, restart_service: :always)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -107,7 +107,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
allow_any_instance_of(described_class).to receive(:linked?).and_return(false)
|
allow_any_instance_of(described_class).to receive(:linked?).and_return(false)
|
||||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "link", "mysql",
|
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "link", "mysql",
|
||||||
verbose: false).and_return(true)
|
verbose: false).and_return(true)
|
||||||
described_class.preinstall(formula_name, link: true)
|
described_class.preinstall?(formula_name, link: true)
|
||||||
described_class.install(formula_name, link: true)
|
described_class.install(formula_name, link: true)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
allow_any_instance_of(described_class).to receive(:keg_only?).and_return(true)
|
allow_any_instance_of(described_class).to receive(:keg_only?).and_return(true)
|
||||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "link", "--force", "mysql",
|
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "link", "--force", "mysql",
|
||||||
verbose: false).and_return(true)
|
verbose: false).and_return(true)
|
||||||
described_class.preinstall(formula_name, link: true)
|
described_class.preinstall?(formula_name, link: true)
|
||||||
described_class.install(formula_name, link: true)
|
described_class.install(formula_name, link: true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -130,7 +130,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
allow_any_instance_of(described_class).to receive(:linked?).and_return(false)
|
allow_any_instance_of(described_class).to receive(:linked?).and_return(false)
|
||||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "link", "--overwrite", "mysql",
|
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "link", "--overwrite", "mysql",
|
||||||
verbose: false).and_return(true)
|
verbose: false).and_return(true)
|
||||||
described_class.preinstall(formula_name, link: :overwrite)
|
described_class.preinstall?(formula_name, link: :overwrite)
|
||||||
described_class.install(formula_name, link: :overwrite)
|
described_class.install(formula_name, link: :overwrite)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -144,7 +144,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
allow_any_instance_of(described_class).to receive(:linked?).and_return(true)
|
allow_any_instance_of(described_class).to receive(:linked?).and_return(true)
|
||||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "unlink", "mysql",
|
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "unlink", "mysql",
|
||||||
verbose: false).and_return(true)
|
verbose: false).and_return(true)
|
||||||
described_class.preinstall(formula_name, link: false)
|
described_class.preinstall?(formula_name, link: false)
|
||||||
described_class.install(formula_name, link: false)
|
described_class.install(formula_name, link: false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -159,7 +159,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
it "links formula" do
|
it "links formula" do
|
||||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "link", "mysql",
|
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "link", "mysql",
|
||||||
verbose: false).and_return(true)
|
verbose: false).and_return(true)
|
||||||
described_class.preinstall(formula_name, link: nil)
|
described_class.preinstall?(formula_name, link: nil)
|
||||||
described_class.install(formula_name, link: nil)
|
described_class.install(formula_name, link: nil)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -174,7 +174,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
it "unlinks formula" do
|
it "unlinks formula" do
|
||||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "unlink", "mysql",
|
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "unlink", "mysql",
|
||||||
verbose: false).and_return(true)
|
verbose: false).and_return(true)
|
||||||
described_class.preinstall(formula_name, link: nil)
|
described_class.preinstall?(formula_name, link: nil)
|
||||||
|
|
||||||
described_class.install(formula_name, link: nil)
|
described_class.install(formula_name, link: nil)
|
||||||
end
|
end
|
||||||
@ -203,7 +203,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
expect(Homebrew::Bundle::BrewServices).to receive(:stop).with("mysql56", verbose:).and_return(true)
|
expect(Homebrew::Bundle::BrewServices).to receive(:stop).with("mysql56", verbose:).and_return(true)
|
||||||
expect(Homebrew::Bundle::BrewServices).to receive(:restart).with(formula_name, file: nil,
|
expect(Homebrew::Bundle::BrewServices).to receive(:restart).with(formula_name, file: nil,
|
||||||
verbose:).and_return(true)
|
verbose:).and_return(true)
|
||||||
described_class.preinstall(formula_name, restart_service: :always, conflicts_with: ["mysql56"])
|
described_class.preinstall?(formula_name, restart_service: :always, conflicts_with: ["mysql56"])
|
||||||
described_class.install(formula_name, restart_service: :always, conflicts_with: ["mysql56"])
|
described_class.install(formula_name, restart_service: :always, conflicts_with: ["mysql56"])
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -219,7 +219,10 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
expect(Homebrew::Bundle::BrewServices).to receive(:stop).with("mysql56", verbose:).and_return(true)
|
expect(Homebrew::Bundle::BrewServices).to receive(:stop).with("mysql56", verbose:).and_return(true)
|
||||||
expect(Homebrew::Bundle::BrewServices).to receive(:restart).with(formula_name, file: nil,
|
expect(Homebrew::Bundle::BrewServices).to receive(:restart).with(formula_name, file: nil,
|
||||||
verbose:).and_return(true)
|
verbose:).and_return(true)
|
||||||
described_class.preinstall(formula_name, restart_service: :always, conflicts_with: ["mysql56"], verbose: true)
|
described_class.preinstall?(formula_name,
|
||||||
|
restart_service: :always,
|
||||||
|
conflicts_with: ["mysql56"],
|
||||||
|
verbose: true)
|
||||||
described_class.install(formula_name, restart_service: :always, conflicts_with: ["mysql56"], verbose: true)
|
described_class.install(formula_name, restart_service: :always, conflicts_with: ["mysql56"], verbose: true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -237,13 +240,13 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
|
|
||||||
it "runs the postinstall command" do
|
it "runs the postinstall command" do
|
||||||
expect(Kernel).to receive(:system).with("custom command").and_return(true)
|
expect(Kernel).to receive(:system).with("custom command").and_return(true)
|
||||||
described_class.preinstall(formula_name, postinstall: "custom command")
|
described_class.preinstall?(formula_name, postinstall: "custom command")
|
||||||
described_class.install(formula_name, postinstall: "custom command")
|
described_class.install(formula_name, postinstall: "custom command")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "reports a failure" do
|
it "reports a failure" do
|
||||||
expect(Kernel).to receive(:system).with("custom command").and_return(false)
|
expect(Kernel).to receive(:system).with("custom command").and_return(false)
|
||||||
described_class.preinstall(formula_name, postinstall: "custom command")
|
described_class.preinstall?(formula_name, postinstall: "custom command")
|
||||||
expect(described_class.install(formula_name, postinstall: "custom command")).to be(false)
|
expect(described_class.install(formula_name, postinstall: "custom command")).to be(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -255,7 +258,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
|
|
||||||
it "does not run the postinstall command" do
|
it "does not run the postinstall command" do
|
||||||
expect(Kernel).not_to receive(:system)
|
expect(Kernel).not_to receive(:system)
|
||||||
described_class.preinstall(formula_name, postinstall: "custom command")
|
described_class.preinstall?(formula_name, postinstall: "custom command")
|
||||||
described_class.install(formula_name, postinstall: "custom command")
|
described_class.install(formula_name, postinstall: "custom command")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -281,7 +284,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
|
|
||||||
it "writes the version to the file" do
|
it "writes the version to the file" do
|
||||||
expect(File).to receive(:write).with(version_file, "#{version}\n")
|
expect(File).to receive(:write).with(version_file, "#{version}\n")
|
||||||
described_class.preinstall(formula_name, version_file:)
|
described_class.preinstall?(formula_name, version_file:)
|
||||||
described_class.install(formula_name, version_file:)
|
described_class.install(formula_name, version_file:)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -289,7 +292,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
context "when using the latest formula" do
|
context "when using the latest formula" do
|
||||||
it "writes the version to the file" do
|
it "writes the version to the file" do
|
||||||
expect(File).to receive(:write).with(version_file, "#{version}\n")
|
expect(File).to receive(:write).with(version_file, "#{version}\n")
|
||||||
described_class.preinstall(formula_name, version_file:)
|
described_class.preinstall?(formula_name, version_file:)
|
||||||
described_class.install(formula_name, version_file:)
|
described_class.install(formula_name, version_file:)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -304,7 +307,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
|
|
||||||
it "did not call restart service" do
|
it "did not call restart service" do
|
||||||
expect(Homebrew::Bundle::BrewServices).not_to receive(:restart)
|
expect(Homebrew::Bundle::BrewServices).not_to receive(:restart)
|
||||||
described_class.preinstall(formula_name, restart_service: true)
|
described_class.preinstall?(formula_name, restart_service: true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -386,7 +389,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
expect(Homebrew::Bundle).to receive(:system)
|
expect(Homebrew::Bundle).to receive(:system)
|
||||||
.with(HOMEBREW_BREW_FILE, "install", "--formula", formula_name, "--with-option", verbose: false)
|
.with(HOMEBREW_BREW_FILE, "install", "--formula", formula_name, "--with-option", verbose: false)
|
||||||
.and_return(true)
|
.and_return(true)
|
||||||
expect(installer.preinstall).to be(true)
|
expect(installer.preinstall?).to be(true)
|
||||||
expect(installer.install).to be(true)
|
expect(installer.install).to be(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -394,7 +397,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
expect(Homebrew::Bundle).to receive(:system)
|
expect(Homebrew::Bundle).to receive(:system)
|
||||||
.with(HOMEBREW_BREW_FILE, "install", "--formula", formula_name, "--with-option", verbose: false)
|
.with(HOMEBREW_BREW_FILE, "install", "--formula", formula_name, "--with-option", verbose: false)
|
||||||
.and_return(false)
|
.and_return(false)
|
||||||
expect(installer.preinstall).to be(true)
|
expect(installer.preinstall?).to be(true)
|
||||||
expect(installer.install).to be(false)
|
expect(installer.install).to be(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -416,7 +419,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
expect(Homebrew::Bundle).to \
|
expect(Homebrew::Bundle).to \
|
||||||
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--formula", formula_name, verbose: false)
|
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--formula", formula_name, verbose: false)
|
||||||
.and_return(true)
|
.and_return(true)
|
||||||
expect(installer.preinstall).to be(true)
|
expect(installer.preinstall?).to be(true)
|
||||||
expect(installer.install).to be(true)
|
expect(installer.install).to be(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -424,7 +427,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
expect(Homebrew::Bundle).to \
|
expect(Homebrew::Bundle).to \
|
||||||
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--formula", formula_name, verbose: false)
|
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--formula", formula_name, verbose: false)
|
||||||
.and_return(false)
|
.and_return(false)
|
||||||
expect(installer.preinstall).to be(true)
|
expect(installer.preinstall?).to be(true)
|
||||||
expect(installer.install).to be(false)
|
expect(installer.install).to be(false)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -436,7 +439,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
it "does not upgrade formula" do
|
it "does not upgrade formula" do
|
||||||
expect(Homebrew::Bundle).not_to \
|
expect(Homebrew::Bundle).not_to \
|
||||||
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--formula", formula_name, verbose: false)
|
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--formula", formula_name, verbose: false)
|
||||||
expect(installer.preinstall).to be(false)
|
expect(installer.preinstall?).to be(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -447,7 +450,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
|||||||
|
|
||||||
it "does not upgrade formula" do
|
it "does not upgrade formula" do
|
||||||
expect(Homebrew::Bundle).not_to receive(:system)
|
expect(Homebrew::Bundle).not_to receive(:system)
|
||||||
expect(installer.preinstall).to be(false)
|
expect(installer.preinstall?).to be(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -30,7 +30,7 @@ RSpec.describe Homebrew::Bundle::MacAppStoreInstaller do
|
|||||||
it "tries to install mas" do
|
it "tries to install mas" do
|
||||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "install", "mas",
|
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "install", "mas",
|
||||||
verbose: false).and_return(true)
|
verbose: false).and_return(true)
|
||||||
expect { described_class.preinstall("foo", 123) }.to raise_error(RuntimeError)
|
expect { described_class.preinstall?("foo", 123) }.to raise_error(RuntimeError)
|
||||||
end
|
end
|
||||||
|
|
||||||
describe ".outdated_app_ids" do
|
describe ".outdated_app_ids" do
|
||||||
@ -62,7 +62,7 @@ RSpec.describe Homebrew::Bundle::MacAppStoreInstaller do
|
|||||||
|
|
||||||
it "skips" do
|
it "skips" do
|
||||||
expect(Homebrew::Bundle).not_to receive(:system)
|
expect(Homebrew::Bundle).not_to receive(:system)
|
||||||
expect(described_class.preinstall("foo", 123)).to be(false)
|
expect(described_class.preinstall?("foo", 123)).to be(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ RSpec.describe Homebrew::Bundle::MacAppStoreInstaller do
|
|||||||
|
|
||||||
it "upgrades" do
|
it "upgrades" do
|
||||||
expect(Homebrew::Bundle).to receive(:system).with("mas", "upgrade", "123", verbose: false).and_return(true)
|
expect(Homebrew::Bundle).to receive(:system).with("mas", "upgrade", "123", verbose: false).and_return(true)
|
||||||
expect(described_class.preinstall("foo", 123)).to be(true)
|
expect(described_class.preinstall?("foo", 123)).to be(true)
|
||||||
expect(described_class.install("foo", 123)).to be(true)
|
expect(described_class.install("foo", 123)).to be(true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -85,7 +85,7 @@ RSpec.describe Homebrew::Bundle::MacAppStoreInstaller do
|
|||||||
|
|
||||||
it "installs app" do
|
it "installs app" do
|
||||||
expect(Homebrew::Bundle).to receive(:system).with("mas", "install", "123", verbose: false).and_return(true)
|
expect(Homebrew::Bundle).to receive(:system).with("mas", "install", "123", verbose: false).and_return(true)
|
||||||
expect(described_class.preinstall("foo", 123)).to be(true)
|
expect(described_class.preinstall?("foo", 123)).to be(true)
|
||||||
expect(described_class.install("foo", 123)).to be(true)
|
expect(described_class.install("foo", 123)).to be(true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -22,7 +22,7 @@ RSpec.describe Homebrew::Bundle::TapInstaller do
|
|||||||
|
|
||||||
it "skips" do
|
it "skips" do
|
||||||
expect(Homebrew::Bundle).not_to receive(:system)
|
expect(Homebrew::Bundle).not_to receive(:system)
|
||||||
expect(described_class.preinstall("homebrew/cask")).to be(false)
|
expect(described_class.preinstall?("homebrew/cask")).to be(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ RSpec.describe Homebrew::Bundle::TapInstaller do
|
|||||||
it "taps" do
|
it "taps" do
|
||||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "tap", "homebrew/cask",
|
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "tap", "homebrew/cask",
|
||||||
verbose: false).and_return(true)
|
verbose: false).and_return(true)
|
||||||
expect(described_class.preinstall("homebrew/cask")).to be(true)
|
expect(described_class.preinstall?("homebrew/cask")).to be(true)
|
||||||
expect(described_class.install("homebrew/cask")).to be(true)
|
expect(described_class.install("homebrew/cask")).to be(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ RSpec.describe Homebrew::Bundle::TapInstaller do
|
|||||||
expect(Homebrew::Bundle).to \
|
expect(Homebrew::Bundle).to \
|
||||||
receive(:system).with(HOMEBREW_BREW_FILE, "tap", "homebrew/cask", "clone_target_path",
|
receive(:system).with(HOMEBREW_BREW_FILE, "tap", "homebrew/cask", "clone_target_path",
|
||||||
verbose: false).and_return(true)
|
verbose: false).and_return(true)
|
||||||
expect(described_class.preinstall("homebrew/cask", clone_target: "clone_target_path")).to be(true)
|
expect(described_class.preinstall?("homebrew/cask", clone_target: "clone_target_path")).to be(true)
|
||||||
expect(described_class.install("homebrew/cask", clone_target: "clone_target_path")).to be(true)
|
expect(described_class.install("homebrew/cask", clone_target: "clone_target_path")).to be(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ RSpec.describe Homebrew::Bundle::TapInstaller do
|
|||||||
expect(Homebrew::Bundle).to \
|
expect(Homebrew::Bundle).to \
|
||||||
receive(:system).with(HOMEBREW_BREW_FILE, "tap", "homebrew/cask", "clone_target_path",
|
receive(:system).with(HOMEBREW_BREW_FILE, "tap", "homebrew/cask", "clone_target_path",
|
||||||
verbose: false).and_return(false)
|
verbose: false).and_return(false)
|
||||||
expect(described_class.preinstall("homebrew/cask", clone_target: "clone_target_path")).to be(true)
|
expect(described_class.preinstall?("homebrew/cask", clone_target: "clone_target_path")).to be(true)
|
||||||
expect(described_class.install("homebrew/cask", clone_target: "clone_target_path")).to be(false)
|
expect(described_class.install("homebrew/cask", clone_target: "clone_target_path")).to be(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -15,7 +15,7 @@ RSpec.describe Homebrew::Bundle::VscodeExtensionInstaller do
|
|||||||
expect(Homebrew::Bundle).to \
|
expect(Homebrew::Bundle).to \
|
||||||
receive(:system).with(HOMEBREW_BREW_FILE, "install", "--cask", "visual-studio-code", verbose: false)
|
receive(:system).with(HOMEBREW_BREW_FILE, "install", "--cask", "visual-studio-code", verbose: false)
|
||||||
.and_return(true)
|
.and_return(true)
|
||||||
expect { described_class.preinstall("foo") }.to raise_error(RuntimeError)
|
expect { described_class.preinstall?("foo") }.to raise_error(RuntimeError)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -31,12 +31,12 @@ RSpec.describe Homebrew::Bundle::VscodeExtensionInstaller do
|
|||||||
|
|
||||||
it "skips" do
|
it "skips" do
|
||||||
expect(Homebrew::Bundle).not_to receive(:system)
|
expect(Homebrew::Bundle).not_to receive(:system)
|
||||||
expect(described_class.preinstall("foo")).to be(false)
|
expect(described_class.preinstall?("foo")).to be(false)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "skips ignoring case" do
|
it "skips ignoring case" do
|
||||||
expect(Homebrew::Bundle).not_to receive(:system)
|
expect(Homebrew::Bundle).not_to receive(:system)
|
||||||
expect(described_class.preinstall("Foo")).to be(false)
|
expect(described_class.preinstall?("Foo")).to be(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ RSpec.describe Homebrew::Bundle::VscodeExtensionInstaller do
|
|||||||
it "installs extension" do
|
it "installs extension" do
|
||||||
expect(Homebrew::Bundle).to \
|
expect(Homebrew::Bundle).to \
|
||||||
receive(:system).with(Pathname("code"), "--install-extension", "foo", verbose: false).and_return(true)
|
receive(:system).with(Pathname("code"), "--install-extension", "foo", verbose: false).and_return(true)
|
||||||
expect(described_class.preinstall("foo")).to be(true)
|
expect(described_class.preinstall?("foo")).to be(true)
|
||||||
expect(described_class.install("foo")).to be(true)
|
expect(described_class.install("foo")).to be(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ RSpec.describe Homebrew::Bundle::VscodeExtensionInstaller do
|
|||||||
|
|
||||||
expect(Homebrew::Bundle).to \
|
expect(Homebrew::Bundle).to \
|
||||||
receive(:system).with(Pathname("code"), "--install-extension", "foo", verbose: false).and_return(true)
|
receive(:system).with(Pathname("code"), "--install-extension", "foo", verbose: false).and_return(true)
|
||||||
expect(described_class.preinstall("foo")).to be(true)
|
expect(described_class.preinstall?("foo")).to be(true)
|
||||||
expect(described_class.install("foo")).to be(true)
|
expect(described_class.install("foo")).to be(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ RSpec.describe Homebrew::Bundle::VscodeExtensionInstaller do
|
|||||||
|
|
||||||
expect(Homebrew::Bundle).to \
|
expect(Homebrew::Bundle).to \
|
||||||
receive(:system).with(Pathname("code"), "--install-extension", "foo", verbose: false).and_return(true)
|
receive(:system).with(Pathname("code"), "--install-extension", "foo", verbose: false).and_return(true)
|
||||||
expect(described_class.preinstall("foo")).to be(true)
|
expect(described_class.preinstall?("foo")).to be(true)
|
||||||
expect(described_class.install("foo")).to be(true)
|
expect(described_class.install("foo")).to be(true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -42,7 +42,7 @@ RSpec.describe Homebrew::Bundle::WhalebrewInstaller do
|
|||||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "install", "--formula", "whalebrew",
|
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "install", "--formula", "whalebrew",
|
||||||
verbose: false)
|
verbose: false)
|
||||||
.and_return(true)
|
.and_return(true)
|
||||||
expect { described_class.preinstall("whalebrew/wget") }.to raise_error(RuntimeError)
|
expect { described_class.preinstall?("whalebrew/wget") }.to raise_error(RuntimeError)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ RSpec.describe Homebrew::Bundle::WhalebrewInstaller do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "skips" do
|
it "skips" do
|
||||||
expect(described_class.preinstall("whalebrew/wget")).to be(false)
|
expect(described_class.preinstall?("whalebrew/wget")).to be(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user