diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-28 16:51:41 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-28 16:51:41 +0000 |
commit | a9c2a18cc796fa59d5d696ef9d99d41b1149a242 (patch) | |
tree | f86ea8a92bf4dcf23b500dff988e8225aed8177a /test/ruby/test_system.rb | |
parent | 228728325ee08b31944cffb35126222d1671c01e (diff) | |
download | ruby-a9c2a18cc796fa59d5d696ef9d99d41b1149a242.tar.gz |
don't generate temporary files under current directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_system.rb')
-rw-r--r-- | test/ruby/test_system.rb | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/test/ruby/test_system.rb b/test/ruby/test_system.rb index d70d6f8ca4..8c31f0a1b8 100644 --- a/test/ruby/test_system.rb +++ b/test/ruby/test_system.rb @@ -1,5 +1,6 @@ require 'test/unit' require 'envutil' +require 'tmpdir' class TestSystem < Test::Unit::TestCase def valid_syntax?(code, fname) @@ -14,21 +15,23 @@ class TestSystem < Test::Unit::TestCase assert_equal("foobar\n", `echo foobar`) assert_equal('foobar', `#{ruby} -e 'print "foobar"'`) - tmp = open("script_tmp", "w") + tmpfilename = "#{Dir.tmpdir}/ruby_script_tmp.#{$$}" + + tmp = open(tmpfilename, "w") tmp.print "print $zzz\n"; tmp.close - assert_equal('true', `#{ruby} -s script_tmp -zzz`) - assert_equal('555', `#{ruby} -s script_tmp -zzz=555`) + assert_equal('true', `#{ruby} -s #{tmpfilename} -zzz`) + assert_equal('555', `#{ruby} -s #{tmpfilename} -zzz=555`) - tmp = open("script_tmp", "w") + tmp = open(tmpfilename, "w") tmp.print "#! /usr/local/bin/ruby -s\n"; tmp.print "print $zzz\n"; tmp.close - assert_equal('678', `#{ruby} script_tmp -zzz=678`) + assert_equal('678', `#{ruby} #{tmpfilename} -zzz=678`) - tmp = open("script_tmp", "w") + 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"; @@ -36,24 +39,24 @@ class TestSystem < Test::Unit::TestCase tmp.print "this is a trailing junk\n"; tmp.close - assert_equal('', `#{ruby} -x script_tmp`) - assert_equal('555', `#{ruby} -x script_tmp -zzz=555`) + assert_equal('', `#{ruby} -x #{tmpfilename}`) + assert_equal('555', `#{ruby} -x #{tmpfilename} -zzz=555`) - tmp = open("script_tmp", "w") + 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}' script_tmp` - tmp = open("script_tmp", "r") + `#{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 "script_tmp" or `/bin/rm -f "script_tmp"` - File.unlink "script_tmp.bak" or `/bin/rm -f "script_tmp.bak"` + File.unlink tmpfilename or `/bin/rm -f "#{tmpfilename}"` + File.unlink "#{tmpfilename}.bak" or `/bin/rm -f "#{tmpfilename}.bak"` end def test_syntax |