audit: improve reliability of homepage audit.

- Don't run on Yosemite where the system Curl is too old for some modern
  HTTPS homepages
- Try up to 3 times in case of transient failures.
This commit is contained in:
Mike McQuaid 2016-12-23 20:29:56 +00:00
parent 6f44dc41d5
commit 59180ec370

View File

@ -569,9 +569,20 @@ class FormulaAuditor
end
return unless @online
status_code, = curl_output "--connect-timeout", "15", "--output", "/dev/null", "--range", "0-0",
"--write-out", "%{http_code}", homepage
# The system Curl is too old and unreliable with HTTPS homepages on
# Yosemite and below.
return unless MacOS.version >= :el_capitan
retries = 3
retries.times do
status_code, = curl_output "--connect-timeout", "15",
"--output", "/dev/null",
"--range", "0-0",
"--write-out", "%{http_code}",
homepage
return if status_code.start_with? "20"
end
problem "The homepage #{homepage} is not reachable (HTTP status code #{status_code})"
end