brew/Library/Homebrew/test/os/mac/diagnostic_test.rb
Alyssa Ross 70a381a00f tests: enforce super in lifecycle hooks
This will allow us to have global setup and teardown for tests.

For example, we can automatically clear caches after each test, to avoid
annoying intermittent failures like #1879 and #1886.
2017-01-21 11:34:52 +00:00

52 lines
1.6 KiB
Ruby

require "testing_env"
require "fileutils"
require "pathname"
require "diagnostic"
class OSMacDiagnosticChecksTest < Homebrew::TestCase
def setup
super
@env = ENV.to_hash
@checks = Homebrew::Diagnostic::Checks.new
end
def teardown
ENV.replace(@env)
super
end
def test_check_for_other_package_managers
MacOS.stubs(:macports_or_fink).returns ["fink"]
assert_match "You have MacPorts or Fink installed:",
@checks.check_for_other_package_managers
end
def test_check_for_unsupported_macos
ARGV.stubs(:homebrew_developer?).returns false
OS::Mac.stubs(:prerelease?).returns true
assert_match "We do not provide support for this pre-release version.",
@checks.check_for_unsupported_macos
end
def test_check_for_unsupported_curl_vars
MacOS.stubs(:version).returns OS::Mac::Version.new("10.10")
ENV["SSL_CERT_DIR"] = "/some/path"
assert_match "SSL_CERT_DIR support was removed from Apple's curl.",
@checks.check_for_unsupported_curl_vars
end
def test_check_for_beta_xquartz
MacOS::XQuartz.stubs(:version).returns("2.7.10_beta2")
assert_match "The following beta release of XQuartz is installed: 2.7.10_beta2", @checks.check_for_beta_xquartz
end
def test_check_xcode_8_without_clt_on_el_capitan
MacOS.stubs(:version).returns OS::Mac::Version.new("10.11")
MacOS::Xcode.stubs(:installed?).returns true
MacOS::Xcode.stubs(:version).returns "8.0"
MacOS::Xcode.stubs(:without_clt?).returns true
assert_match "You have Xcode 8 installed without the CLT", @checks.check_xcode_8_without_clt_on_el_capitan
end
end