[ruby/tmpdir] Test also TMP and TEMP environment variables
https://github.com/ruby/tmpdir/commit/414c00ebe6
This commit is contained in:
parent
50bce2065d
commit
f7f849e30c
@ -15,21 +15,26 @@ class TestTmpdir < Test::Unit::TestCase
|
|||||||
skip "no meaning on this platform" if /mswin|mingw/ =~ RUBY_PLATFORM
|
skip "no meaning on this platform" if /mswin|mingw/ =~ RUBY_PLATFORM
|
||||||
Dir.mktmpdir do |tmpdir|
|
Dir.mktmpdir do |tmpdir|
|
||||||
# ToDo: fix for parallel test
|
# ToDo: fix for parallel test
|
||||||
olddir, ENV["TMPDIR"] = ENV["TMPDIR"], tmpdir
|
envs = %w[TMPDIR TMP TEMP]
|
||||||
|
oldenv = envs.each_with_object({}) {|v, h| h[v] = ENV.delete(v)}
|
||||||
begin
|
begin
|
||||||
assert_equal(tmpdir, Dir.tmpdir)
|
envs.each do |e|
|
||||||
File.chmod(0777, tmpdir)
|
ENV[e] = tmpdir
|
||||||
assert_not_equal(tmpdir, Dir.tmpdir)
|
assert_equal(tmpdir, Dir.tmpdir)
|
||||||
newdir = Dir.mktmpdir("d", tmpdir) do |dir|
|
File.chmod(0777, tmpdir)
|
||||||
assert_file.directory? dir
|
assert_not_equal(tmpdir, Dir.tmpdir)
|
||||||
assert_equal(tmpdir, File.dirname(dir))
|
newdir = Dir.mktmpdir("d", tmpdir) do |dir|
|
||||||
dir
|
assert_file.directory? dir
|
||||||
|
assert_equal(tmpdir, File.dirname(dir))
|
||||||
|
dir
|
||||||
|
end
|
||||||
|
assert_file.not_exist?(newdir)
|
||||||
|
File.chmod(01777, tmpdir)
|
||||||
|
assert_equal(tmpdir, Dir.tmpdir)
|
||||||
|
ENV[e] = nil
|
||||||
end
|
end
|
||||||
assert_file.not_exist?(newdir)
|
|
||||||
File.chmod(01777, tmpdir)
|
|
||||||
assert_equal(tmpdir, Dir.tmpdir)
|
|
||||||
ensure
|
ensure
|
||||||
ENV["TMPDIR"] = olddir
|
ENV.update(oldenv)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user