1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/dtrace/test_require.rb
naruse e7659bd2fd Define dtrace test classes only when dtrace exists
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 08:52:34 +00:00

34 lines
716 B
Ruby

require 'dtrace/helper'
module DTrace
class TestRequire < TestCase
def test_require_entry
probe = <<-eoprobe
ruby$target:::require-entry
{
printf("%s %s %d\\n", copyinstr(arg0), copyinstr(arg1), arg2);
}
eoprobe
trap_probe(probe, ruby_program) { |d_file, rb_file, saw|
required = saw.map { |s| s.split }.find_all do |(required, _)|
required == 'dtrace/dummy'
end
assert_equal 10, required.length
}
end
def test_require_return
probe = <<-eoprobe
ruby$target:::require-return
{
printf("%s\\n", copyinstr(arg0));
}
eoprobe
end
private
def ruby_program
"10.times { require 'dtrace/dummy' }"
end
end
end if (`dtrace -V` rescue false)