diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | test/runner.rb | 14 |
2 files changed, 13 insertions, 6 deletions
@@ -1,3 +1,8 @@ +Mon Jun 16 18:42:57 2014 Koichi Sasada <ko1@atdot.net> + + * test/runner.rb: capture TracePoint stat before setup and compare + it after teardown. + Mon Jun 16 14:33:56 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> * process.c (open): use UTF-8 version function to support diff --git a/test/runner.rb b/test/runner.rb index 9b94fd002c..51bfbc511f 100644 --- a/test/runner.rb +++ b/test/runner.rb @@ -19,18 +19,20 @@ require_relative 'profile_test_all' if ENV.has_key?('RUBY_TEST_ALL_PROFILE') module Test::Unit module ZombieHunter - @@zombie_traces = Hash.new(0) + + def before_setup + @@tracepoint_captured_stat = TracePoint.stat.map{|k, (activated, deleted)| [k, activated]} + end def after_teardown super assert_empty(Process.waitall) # detect zombie traces. - TracePoint.stat.each{|key, (activated, deleted)| - old, @@zombie_traces[key] = @@zombie_traces[key], activated - assert_equal(old, activated, "The number of active trace events (#{key}) should not increase") - # puts "TracePoint - deleted: #{deleted}" if deleted > 0 - } + assert_equal @@tracepoint_captured_stat, TracePoint.stat.map{|k, (activated, deleted)| [k, activated]} do + "The number of active trace events was changed" + end + # puts "TracePoint - deleted: #{deleted}" if deleted > 0 end end class TestCase |