summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-03-11 22:19:06 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-03-11 22:19:06 +0000
commitbcb9e567c422f535b4871ce2795179af808d0077 (patch)
treecac8a46f3b0013e512360a4e89841c6b5a9a2726 /test
parent42437780d62e5ddaf0c7bb5ec320f85970b0ee42 (diff)
* lib/tmpdir.rb (Dir.tmpdir): should not use world-writable but
non-sticky directory. * lib/tmpdir.rb (Dir.mktmpdir): check the parent directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/test_tmpdir.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/test_tmpdir.rb b/test/test_tmpdir.rb
new file mode 100644
index 0000000..9ef22e3
--- /dev/null
+++ b/test/test_tmpdir.rb
@@ -0,0 +1,20 @@
+require 'test/unit'
+require 'tmpdir'
+
+class TestTmpdir < Test::Unit::TestCase
+ def test_world_writable
+ Dir.mktmpdir do |tmpdir|
+ # ToDo: fix for parallel test
+ olddir, ENV["TMPDIR"] = ENV["TMPDIR"], tmpdir
+ begin
+ assert_equal(tmpdir, Dir.tmpdir)
+ File.chmod(0777, tmpdir)
+ assert_not_equal(tmpdir, Dir.tmpdir)
+ File.chmod(01777, tmpdir)
+ assert_equal(tmpdir, Dir.tmpdir)
+ ensure
+ ENV["TMPDIR"] = olddir
+ end
+ end
+ end
+end