brew/Library/Homebrew/test/os/mac/diagnostic_spec.rb
2018-05-14 04:44:15 -05:00

54 lines
1.9 KiB
Ruby

require "diagnostic"
describe Homebrew::Diagnostic::Checks do
specify "#check_for_other_package_managers" do
allow(MacOS).to receive(:macports_or_fink).and_return(["fink"])
expect(subject.check_for_other_package_managers)
.to match("You have MacPorts or Fink installed:")
end
specify "#check_for_unsupported_macos" do
ENV.delete("HOMEBREW_DEVELOPER")
allow(OS::Mac).to receive(:prerelease?).and_return(true)
expect(subject.check_for_unsupported_macos)
.to match("We do not provide support for this pre-release version.")
end
specify "#check_for_beta_xquartz" do
allow(MacOS::XQuartz).to receive(:version).and_return("2.7.10_beta2")
expect(subject.check_for_beta_xquartz)
.to match("The following beta release of XQuartz is installed: 2.7.10_beta2")
end
specify "#check_if_xcode_needs_clt_installed" do
allow(MacOS).to receive(:version).and_return(OS::Mac::Version.new("10.11"))
allow(MacOS::Xcode).to receive(:installed?).and_return(true)
allow(MacOS::Xcode).to receive(:version).and_return("8.0")
allow(MacOS::Xcode).to receive(:without_clt?).and_return(true)
expect(subject.check_if_xcode_needs_clt_installed)
.to match("Xcode alone is not sufficient on El Capitan")
end
specify "#check_homebrew_prefix" do
# the integration tests are run in a special prefix
expect(subject.check_homebrew_prefix)
.to match("Your Homebrew's prefix is not /usr/local.")
end
specify "#check_ruby_version" do
allow(MacOS).to receive(:version).and_return(OS::Mac::Version.new("10.12"))
stub_const("RUBY_VERSION", "1.8.6")
expect(subject.check_ruby_version)
.to match "Ruby version 1.8.6 is unsupported on 10.12"
end
specify "#check_dyld_insert" do
ENV["DYLD_INSERT_LIBRARIES"] = "foo"
expect(subject.check_ld_vars).to match("Setting DYLD_INSERT_LIBRARIES")
end
end