1require 'dtrace/helper' 2 3module DTrace 4 class TestRequire < TestCase 5 def test_require_entry 6 probe = <<-eoprobe 7ruby$target:::require-entry 8{ 9 printf("%s %s %d\\n", copyinstr(arg0), copyinstr(arg1), arg2); 10} 11 eoprobe 12 trap_probe(probe, ruby_program) { |d_file, rb_file, saw| 13 required = saw.map { |s| s.split }.find_all do |(required, _)| 14 required == 'dtrace/dummy' 15 end 16 assert_equal 10, required.length 17 } 18 end 19 20 def test_require_return 21 probe = <<-eoprobe 22ruby$target:::require-return 23{ 24 printf("%s\\n", copyinstr(arg0)); 25} 26 eoprobe 27 end 28 29 private 30 def ruby_program 31 "10.times { require 'dtrace/dummy' }" 32 end 33 end 34end if defined?(DTrace::TestCase) 35