Merge pull request #15341 from issyl0/brew-doctor-unnecessary-core-taps
diagnostic: Check for unnecessary Core and Cask taps
This commit is contained in:
		
						commit
						01e0c20d01
					
				| @ -842,6 +842,36 @@ module Homebrew | ||||
|         EOS | ||||
|       end | ||||
| 
 | ||||
|       def check_for_unnecessary_core_tap | ||||
|         return if Homebrew::EnvConfig.developer? | ||||
|         return if Homebrew::EnvConfig.no_install_from_api? | ||||
|         return if Homebrew::Settings.read("devcmdrun") == "true" | ||||
|         return unless CoreTap.instance.installed? | ||||
| 
 | ||||
|         <<~EOS | ||||
|           You have an unnecessary local Core tap! | ||||
|           This can cause problems installing up-to-date formulae. | ||||
|           Please remove it by running: | ||||
|            brew untap #{CoreTap.instance.name} | ||||
|         EOS | ||||
|       end | ||||
| 
 | ||||
|       def check_for_unnecessary_cask_tap | ||||
|         return if Homebrew::EnvConfig.developer? | ||||
|         return if Homebrew::EnvConfig.no_install_from_api? | ||||
|         return if Homebrew::Settings.read("devcmdrun") == "true" | ||||
| 
 | ||||
|         cask_tap = Tap.fetch("homebrew", "cask") | ||||
|         return unless cask_tap.installed? | ||||
| 
 | ||||
|         <<~EOS | ||||
|           You have an unnecessary local Cask tap. | ||||
|           This can cause problems installing up-to-date casks. | ||||
|           Please remove it by running: | ||||
|             brew untap #{cask_tap.name} | ||||
|         EOS | ||||
|       end | ||||
| 
 | ||||
|       def check_cask_software_versions | ||||
|         add_info "Homebrew Version", HOMEBREW_VERSION | ||||
|         add_info "macOS", MacOS.full_version | ||||
|  | ||||
| @ -114,4 +114,24 @@ describe Homebrew::Diagnostic::Checks do | ||||
|     expect(checks.check_homebrew_prefix) | ||||
|       .to match("Your Homebrew's prefix is not #{Homebrew::DEFAULT_PREFIX}") | ||||
|   end | ||||
| 
 | ||||
|   specify "#check_for_unnecessary_core_tap" do | ||||
|     ENV.delete("HOMEBREW_DEVELOPER") | ||||
|     ENV.delete("HOMEBREW_NO_INSTALL_FROM_API") | ||||
| 
 | ||||
|     allow(CoreTap).to receive(:installed?).and_return(true) | ||||
| 
 | ||||
|     expect(checks.check_for_unnecessary_core_tap).to match("You have an unnecessary local Core tap") | ||||
|   end | ||||
| 
 | ||||
|   specify "#check_for_unnecessary_cask_tap" do | ||||
|     ENV.delete("HOMEBREW_DEVELOPER") | ||||
|     ENV.delete("HOMEBREW_NO_INSTALL_FROM_API") | ||||
| 
 | ||||
|     cask_tap = Tap.new("homebrew", "cask") | ||||
|     allow(Tap).to receive(:fetch).with("homebrew", "cask").and_return(cask_tap) | ||||
|     allow(cask_tap).to receive(:installed?).and_return(true) | ||||
| 
 | ||||
|     expect(checks.check_for_unnecessary_cask_tap).to match("unnecessary local Cask tap") | ||||
|   end | ||||
| end | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user