From bcedfe64e8ca64e092ca72c3f61fe164c28c8af5 Mon Sep 17 00:00:00 2001 From: Martin Afanasjew Date: Sat, 2 Jan 2016 01:03:54 +0100 Subject: [PATCH] doctor: simplify handling of slow checks Some (rather slow) checks should run after all other checks. Make that more obvious by removing them from the sorted list of all checks and then re-appending them to the resulting list. (Should be slightly more efficient than the `.reverse.uniq.reverse` incantation, though that hardly matters given the cumulated run time of all the checks.) Slightly extend the list after verifying what the slowest checks are for various Homebrew installations (slowest check last). Closes Homebrew/homebrew#47753. Signed-off-by: Martin Afanasjew --- Library/Homebrew/cmd/doctor.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index 1676f9c768..8f8e1331f1 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -12,9 +12,13 @@ module Homebrew checks.inject_dump_stats! if ARGV.switch? "D" if ARGV.named.empty? - methods = checks.all.sort - methods << "check_for_linked_keg_only_brews" << "check_for_outdated_homebrew" - methods = methods.reverse.uniq.reverse + slow_checks = %w[ + check_for_broken_symlinks + check_missing_deps + check_for_outdated_homebrew + check_for_linked_keg_only_brews + ] + methods = (checks.all.sort - slow_checks) + slow_checks else methods = ARGV.named end