28 lines
		
	
	
		
			789 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			789 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| module Test
 | |
|   module Helper
 | |
|     module FSLeakLogger
 | |
|       def self.included(klass)
 | |
|         require "find"
 | |
|         logdir = HOMEBREW_LIBRARY_PATH.join("tmp")
 | |
|         logdir.mkdir unless logdir.directory?
 | |
|         @@log = File.open(logdir.join("fs_leak.log"), "w")
 | |
|         klass.make_my_diffs_pretty!
 | |
|       end
 | |
| 
 | |
|       def before_setup
 | |
|         @__files_before_test = []
 | |
|         Find.find(TEST_TMPDIR) { |f| @__files_before_test << f.sub(TEST_TMPDIR, "") }
 | |
|         super
 | |
|       end
 | |
| 
 | |
|       def after_teardown
 | |
|         super
 | |
|         files_after_test = []
 | |
|         Find.find(TEST_TMPDIR) { |f| files_after_test << f.sub(TEST_TMPDIR, "") }
 | |
|         return if @__files_before_test == files_after_test
 | |
|         @@log.puts location, diff(@__files_before_test, files_after_test)
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 | 
