1require 'test/unit' 2require 'tmpdir' 3 4class TestTmpdir < Test::Unit::TestCase 5 def test_world_writable 6 skip "no meaning on this platform" if /mswin|mingw/ =~ RUBY_PLATFORM 7 Dir.mktmpdir do |tmpdir| 8 # ToDo: fix for parallel test 9 olddir, ENV["TMPDIR"] = ENV["TMPDIR"], tmpdir 10 begin 11 assert_equal(tmpdir, Dir.tmpdir) 12 File.chmod(0777, tmpdir) 13 assert_not_equal(tmpdir, Dir.tmpdir) 14 File.chmod(01777, tmpdir) 15 assert_equal(tmpdir, Dir.tmpdir) 16 ensure 17 ENV["TMPDIR"] = olddir 18 end 19 end 20 end 21 22 def test_no_homedir 23 bug7547 = '[ruby-core:50793]' 24 home, ENV["HOME"] = ENV["HOME"], nil 25 dir = assert_nothing_raised(bug7547) do 26 break Dir.mktmpdir("~") 27 end 28 assert_match(/\A~/, File.basename(dir), bug7547) 29 ensure 30 ENV["HOME"] = home 31 Dir.rmdir(dir) if dir 32 end 33end 34