From 4dc8ff965bea4226c36acae8880dc359e05414dd Mon Sep 17 00:00:00 2001 From: akr Date: Fri, 28 Sep 2007 18:22:23 +0000 Subject: refine previous change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_system.rb | 68 +++++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 33 deletions(-) (limited to 'test/ruby/test_system.rb') diff --git a/test/ruby/test_system.rb b/test/ruby/test_system.rb index 8c31f0a1b8..0db6618104 100644 --- a/test/ruby/test_system.rb +++ b/test/ruby/test_system.rb @@ -15,48 +15,50 @@ class TestSystem < Test::Unit::TestCase assert_equal("foobar\n", `echo foobar`) assert_equal('foobar', `#{ruby} -e 'print "foobar"'`) - tmpfilename = "#{Dir.tmpdir}/ruby_script_tmp.#{$$}" + Dir.mktmpdir("ruby_script_tmp") {|tmpdir| + tmpfilename = "#{tmpdir}/ruby_script_tmp.#{$$}" - tmp = open(tmpfilename, "w") - tmp.print "print $zzz\n"; - tmp.close + tmp = open(tmpfilename, "w") + tmp.print "print $zzz\n"; + tmp.close - assert_equal('true', `#{ruby} -s #{tmpfilename} -zzz`) - assert_equal('555', `#{ruby} -s #{tmpfilename} -zzz=555`) + assert_equal('true', `#{ruby} -s #{tmpfilename} -zzz`) + assert_equal('555', `#{ruby} -s #{tmpfilename} -zzz=555`) - tmp = open(tmpfilename, "w") - tmp.print "#! /usr/local/bin/ruby -s\n"; - tmp.print "print $zzz\n"; - tmp.close + tmp = open(tmpfilename, "w") + tmp.print "#! /usr/local/bin/ruby -s\n"; + tmp.print "print $zzz\n"; + tmp.close - assert_equal('678', `#{ruby} #{tmpfilename} -zzz=678`) + assert_equal('678', `#{ruby} #{tmpfilename} -zzz=678`) - tmp = open(tmpfilename, "w") - tmp.print "this is a leading junk\n"; - tmp.print "#! /usr/local/bin/ruby -s\n"; - tmp.print "print $zzz\n"; - tmp.print "__END__\n"; - tmp.print "this is a trailing junk\n"; - tmp.close + tmp = open(tmpfilename, "w") + tmp.print "this is a leading junk\n"; + tmp.print "#! /usr/local/bin/ruby -s\n"; + tmp.print "print $zzz\n"; + tmp.print "__END__\n"; + tmp.print "this is a trailing junk\n"; + tmp.close - assert_equal('', `#{ruby} -x #{tmpfilename}`) - assert_equal('555', `#{ruby} -x #{tmpfilename} -zzz=555`) + assert_equal('', `#{ruby} -x #{tmpfilename}`) + assert_equal('555', `#{ruby} -x #{tmpfilename} -zzz=555`) - tmp = open(tmpfilename, "w") - for i in 1..5 - tmp.print i, "\n" - end - tmp.close + tmp = open(tmpfilename, "w") + for i in 1..5 + tmp.print i, "\n" + end + tmp.close - `#{ruby} -i.bak -pe '$_.sub!(/^[0-9]+$/){$&.to_i * 5}' #{tmpfilename}` - tmp = open(tmpfilename, "r") - while tmp.gets - assert_equal(0, $_.to_i % 5) - end - tmp.close + `#{ruby} -i.bak -pe '$_.sub!(/^[0-9]+$/){$&.to_i * 5}' #{tmpfilename}` + tmp = open(tmpfilename, "r") + while tmp.gets + assert_equal(0, $_.to_i % 5) + end + tmp.close - File.unlink tmpfilename or `/bin/rm -f "#{tmpfilename}"` - File.unlink "#{tmpfilename}.bak" or `/bin/rm -f "#{tmpfilename}.bak"` + File.unlink tmpfilename or `/bin/rm -f "#{tmpfilename}"` + File.unlink "#{tmpfilename}.bak" or `/bin/rm -f "#{tmpfilename}.bak"` + } end def test_syntax -- cgit v1.2.3