Skip to content

Commit

Permalink
Revert "rein in GC during tests by making them run (at most) once per…
Browse files Browse the repository at this point in the history
… second"

This reverts commit a0c761d.
  • Loading branch information
jamis committed Jan 19, 2011
1 parent a0c761d commit cd0ecff
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 28 deletions.
24 changes: 0 additions & 24 deletions activesupport/lib/active_support/testing/garbage_collection.rb
Expand Up @@ -3,9 +3,6 @@ module Testing
module GarbageCollection
def self.included(base)
base.teardown :scrub_leftover_instance_variables

base.setup :begin_gc_deferment
base.teardown :reconsider_gc_deferment
end

private
Expand All @@ -17,27 +14,6 @@ def scrub_leftover_instance_variables
remove_instance_variable(var)
end
end

# Minimum interval, in seconds, at which to run GC. Might be less
# frequently than this, if a single test takes longer than this to
# run.
DEFERRED_GC_THRESHOLD = (ENV['DEFERRED_GC_THRESHOLD'] || 1.0).to_f

@@last_gc_run = Time.now

def begin_gc_deferment
GC.disable if DEFERRED_GC_THRESHOLD > 0
end

def reconsider_gc_deferment
if DEFERRED_GC_THRESHOLD > 0 && Time.now - @@last_gc_run >= DEFERRED_GC_THRESHOLD
GC.enable
GC.start
GC.disable

@@last_gc_run = Time.now
end
end
end
end
end
8 changes: 4 additions & 4 deletions activesupport/test/test_test.rb
Expand Up @@ -141,9 +141,9 @@ class SetupAndTeardownTest < ActiveSupport::TestCase
teardown :foo, :sentinel, :foo

def test_inherited_setup_callbacks
assert_equal [:begin_gc_deferment, :reset_callback_record, :foo], self.class.setup_callback_chain.map(&:method)
assert_equal [:reset_callback_record, :foo], self.class.setup_callback_chain.map(&:method)
assert_equal [:foo], @called_back
assert_equal [:scrub_leftover_instance_variables, :reconsider_gc_deferment, :foo, :sentinel, :foo], self.class.teardown_callback_chain.map(&:method)
assert_equal [:scrub_leftover_instance_variables, :foo, :sentinel, :foo], self.class.teardown_callback_chain.map(&:method)
end

def setup
Expand Down Expand Up @@ -172,9 +172,9 @@ class SubclassSetupAndTeardownTest < SetupAndTeardownTest
teardown :bar

def test_inherited_setup_callbacks
assert_equal [:begin_gc_deferment, :reset_callback_record, :foo, :bar], self.class.setup_callback_chain.map(&:method)
assert_equal [:reset_callback_record, :foo, :bar], self.class.setup_callback_chain.map(&:method)
assert_equal [:foo, :bar], @called_back
assert_equal [:scrub_leftover_instance_variables, :reconsider_gc_deferment, :foo, :sentinel, :foo, :bar], self.class.teardown_callback_chain.map(&:method)
assert_equal [:scrub_leftover_instance_variables, :foo, :sentinel, :foo, :bar], self.class.teardown_callback_chain.map(&:method)
end

protected
Expand Down

0 comments on commit cd0ecff

Please sign in to comment.