From e31caff00eaef9237e5825a7e9ccdae80a6fecf0 Mon Sep 17 00:00:00 2001 From: nagachika Date: Wed, 29 Jun 2011 13:19:59 +0000 Subject: * lib/tracer.rb: Tracer.on only if required by -r command-line option. and consider --disable-gems option. * test/test_tracer.rb: add tests for it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/test_tracer.rb | 49 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) (limited to 'test') diff --git a/test/test_tracer.rb b/test/test_tracer.rb index 8f542e6e84..a1e0a4571c 100644 --- a/test/test_tracer.rb +++ b/test/test_tracer.rb @@ -1,14 +1,15 @@ require 'test/unit' +require 'tmpdir' require_relative 'ruby/envutil' class TestTracer < Test::Unit::TestCase include EnvUtil - def test_work_with_e - assert_in_out_err(%w[--disable-gems -rtracer -e 1]) do |(*lines),| + def test_tracer_with_option_r + assert_in_out_err(%w[-rtracer -e 1]) do |(*lines),| case lines.size when 2 - assert_match %r[#0::\d+:Kernel:<: -], lines[0] + assert_match(%r{rubygems/custom_require\.rb:\d+:Kernel:<:}, lines[0]) when 1 # do nothing else @@ -17,4 +18,46 @@ class TestTracer < Test::Unit::TestCase assert_equal "#0:-e:1::-: 1", lines.last end end + + def test_tracer_with_option_r_without_gems + assert_in_out_err(%w[--disable-gems -rtracer -e 1]) do |(*lines),| + case lines.size + when 1 + # do nothing + else + flunk "unexpected output from `ruby --disable-gems -rtracer -e 1`" + end + assert_equal "#0:-e:1::-: 1", lines.last + end + end + + def test_tracer_with_require + Dir.mktmpdir("test_ruby_tracer") do |dir| + script = File.join(dir, "require_tracer.rb") + open(script, "w") do |f| + f.print <<-EOF +require 'tracer' +1 + EOF + end + assert_in_out_err([script]) do |(*lines),| + assert_empty(lines) + end + end + end + + def test_tracer_with_require_without_gems + Dir.mktmpdir("test_ruby_tracer") do |dir| + script = File.join(dir, "require_tracer.rb") + open(script, "w") do |f| + f.print <<-EOF +require 'tracer' +1 + EOF + end + assert_in_out_err(["--disable-gems", script]) do |(*lines),| + assert_empty(lines) + end + end + end end -- cgit v1.2.3