diff options
| author | Jack Nagel | 2014-06-23 19:38:28 -0500 | 
|---|---|---|
| committer | Jack Nagel | 2014-06-23 23:28:25 -0500 | 
| commit | acf76f3f5502846f21933cbf77302f332f18c1c1 (patch) | |
| tree | 3c4156d264b2b28d47d676fdcab496ec9bc99fcf /Library/Homebrew/test | |
| parent | 5ab65d0b25f2ab56fb4aa12781498d3e6a7a5991 (diff) | |
| download | brew-acf76f3f5502846f21933cbf77302f332f18c1c1.tar.bz2 | |
Add module for logging filesystem leaks in tests
Diffstat (limited to 'Library/Homebrew/test')
| -rw-r--r-- | Library/Homebrew/test/testing_env.rb | 24 | 
1 files changed, 24 insertions, 0 deletions
diff --git a/Library/Homebrew/test/testing_env.rb b/Library/Homebrew/test/testing_env.rb index 623973cde..c00bff6f8 100644 --- a/Library/Homebrew/test/testing_env.rb +++ b/Library/Homebrew/test/testing_env.rb @@ -90,8 +90,32 @@ module Homebrew      end    end +  module FSLeakLogger +    def self.included(klass) +      require "find" +      @@log = File.open("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, "") } +      if @__files_before_test != files_after_test +        @@log.puts location, diff(@__files_before_test, files_after_test) +      end +    end +  end +    class TestCase < ::Minitest::Test      include VersionAssertions +    include FSLeakLogger if ENV["LOG_FS_LEAKS"]      TEST_SHA1   = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef".freeze      TEST_SHA256 = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef".freeze  | 
