doctor: check for beta XQuartz releases

Beta versions of XQuartz have address sanitization enabled, which
breaks some software at runtime, including wine.

Closes Homebrew/homebrew-core#2481.

Closes #459.

Signed-off-by: Misty De Meo <mistydemeo@github.com>
This commit is contained in:
Misty De Meo 2016-07-05 11:02:16 +10:00
parent cdcbe61acb
commit ca005cb824
2 changed files with 17 additions and 0 deletions

View File

@ -312,6 +312,18 @@ module Homebrew
https://xquartz.macosforge.org
EOS
end
def check_for_beta_xquartz
return unless MacOS::XQuartz.version.include? "beta"
<<-EOS.undent
The following beta release of XQuartz is installed: #{MacOS::XQuartz.version}
XQuartz beta releases include address sanitization, and do not work with
all software; notably, wine will not work with beta releases of XQuartz.
We recommend only installing stable releases of XQuartz.
EOS
end
end
end
end

View File

@ -226,4 +226,9 @@ class DiagnosticChecksTest < Homebrew::TestCase
end
end
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
end