Add module for logging filesystem leaks in tests
This commit is contained in:
parent
5ab65d0b25
commit
acf76f3f55
@ -90,8 +90,32 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
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
|
class TestCase < ::Minitest::Test
|
||||||
include VersionAssertions
|
include VersionAssertions
|
||||||
|
include FSLeakLogger if ENV["LOG_FS_LEAKS"]
|
||||||
|
|
||||||
TEST_SHA1 = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef".freeze
|
TEST_SHA1 = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef".freeze
|
||||||
TEST_SHA256 = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef".freeze
|
TEST_SHA256 = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef".freeze
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user