77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| 
								 | 
							
								require "testing_env"
							 | 
						||
| 
								 | 
							
								require "testball"
							 | 
						||
| 
								 | 
							
								require "cleanup"
							 | 
						||
| 
								 | 
							
								require "fileutils"
							 | 
						||
| 
								 | 
							
								require "pathname"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class CleanupTests < Homebrew::TestCase
							 | 
						||
| 
								 | 
							
								  def setup
							 | 
						||
| 
								 | 
							
								    @ds_store = Pathname.new "#{HOMEBREW_PREFIX}/Library/.DS_Store"
							 | 
						||
| 
								 | 
							
								    FileUtils.touch @ds_store
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def teardown
							 | 
						||
| 
								 | 
							
								    FileUtils.rm_f @ds_store
							 | 
						||
| 
								 | 
							
								    ARGV.delete "--dry-run"
							 | 
						||
| 
								 | 
							
								    ARGV.delete "--prune=all"
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_cleanup
							 | 
						||
| 
								 | 
							
								    shutup { Homebrew::Cleanup.cleanup }
							 | 
						||
| 
								 | 
							
								    refute_predicate @ds_store, :exist?
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_cleanup_dry_run
							 | 
						||
| 
								 | 
							
								    ARGV << "--dry-run"
							 | 
						||
| 
								 | 
							
								    shutup { Homebrew::Cleanup.cleanup }
							 | 
						||
| 
								 | 
							
								    assert_predicate @ds_store, :exist?
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_cleanup_formula
							 | 
						||
| 
								 | 
							
								    f1 = Class.new(Testball) { version "0.1" }.new
							 | 
						||
| 
								 | 
							
								    f2 = Class.new(Testball) { version "0.2" }.new
							 | 
						||
| 
								 | 
							
								    f3 = Class.new(Testball) { version "0.3" }.new
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    shutup do
							 | 
						||
| 
								 | 
							
								      f1.brew { f1.install }
							 | 
						||
| 
								 | 
							
								      f2.brew { f2.install }
							 | 
						||
| 
								 | 
							
								      f3.brew { f3.install }
							 | 
						||
| 
								 | 
							
								    end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    assert_predicate f1, :installed?
							 | 
						||
| 
								 | 
							
								    assert_predicate f2, :installed?
							 | 
						||
| 
								 | 
							
								    assert_predicate f3, :installed?
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    shutup { Homebrew::Cleanup.cleanup_formula f3 }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    refute_predicate f1, :installed?
							 | 
						||
| 
								 | 
							
								    refute_predicate f2, :installed?
							 | 
						||
| 
								 | 
							
								    assert_predicate f3, :installed?
							 | 
						||
| 
								 | 
							
								  ensure
							 | 
						||
| 
								 | 
							
								    [f1, f2, f3].each(&:clear_cache)
							 | 
						||
| 
								 | 
							
								    f3.rack.rmtree
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_cleanup_logs
							 | 
						||
| 
								 | 
							
								    path = (HOMEBREW_LOGS/"delete_me")
							 | 
						||
| 
								 | 
							
								    path.mkpath
							 | 
						||
| 
								 | 
							
								    ARGV << "--prune=all"
							 | 
						||
| 
								 | 
							
								    shutup { Homebrew::Cleanup.cleanup_logs }
							 | 
						||
| 
								 | 
							
								    refute_predicate path, :exist?
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_cleanup_cache_incomplete_downloads
							 | 
						||
| 
								 | 
							
								    incomplete = (HOMEBREW_CACHE/"something.incomplete")
							 | 
						||
| 
								 | 
							
								    incomplete.mkpath
							 | 
						||
| 
								 | 
							
								    shutup { Homebrew::Cleanup.cleanup_cache }
							 | 
						||
| 
								 | 
							
								    refute_predicate incomplete, :exist?
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def test_cleanup_cache_java_cache
							 | 
						||
| 
								 | 
							
								    java_cache = (HOMEBREW_CACHE/"java_cache")
							 | 
						||
| 
								 | 
							
								    java_cache.mkpath
							 | 
						||
| 
								 | 
							
								    shutup { Homebrew::Cleanup.cleanup_cache }
							 | 
						||
| 
								 | 
							
								    refute_predicate java_cache, :exist?
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								end
							 |