1require 'dtrace/helper' 2 3module DTrace 4 class TestGC < TestCase 5 %w{ 6 gc-mark-begin 7 gc-mark-end 8 gc-sweep-begin 9 gc-sweep-end 10 }.each do |probe_name| 11 define_method(:"test_#{probe_name.gsub(/-/, '_')}") do 12 probe = "ruby$target:::#{probe_name} { printf(\"#{probe_name}\\n\"); }" 13 14 trap_probe(probe, ruby_program) { |_, _, saw| 15 assert_operator saw.length, :>, 0 16 } 17 18 end 19 end 20 21 private 22 def ruby_program 23 "100000.times { Object.new }" 24 end 25 end 26end if defined?(DTrace::TestCase) 27