summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-12-24 11:27:35 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-12-24 11:29:11 +0900
commitd5635dfe36588b04d3dd6065ab4e422f51629b11 (patch)
tree0573ad01490811ef89032b4d7d5f114a075dd1e4 /test/ruby
parent640dca9ae72e55028af812cc041bdaed1f5a2af4 (diff)
Extract setup of environment variables
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_dir.rb25
1 files changed, 12 insertions, 13 deletions
diff --git a/test/ruby/test_dir.rb b/test/ruby/test_dir.rb
index ebbed75445..df9c85e729 100644
--- a/test/ruby/test_dir.rb
+++ b/test/ruby/test_dir.rb
@@ -19,11 +19,21 @@ class TestDir < Test::Unit::TestCase
@dirs << File.join(i, "")
end
end
+ @envs = nil
end
def teardown
$VERBOSE = @verbose
FileUtils.remove_entry_secure @root if File.directory?(@root)
+ ENV.update(@envs) if @envs
+ end
+
+ def setup_envs(envs = %w"HOME LOGDIR")
+ @envs ||= {}
+ envs.each do |e, v|
+ @envs[e] = ENV.delete(e)
+ ENV[e] = v if v
+ end
end
def test_seek
@@ -88,10 +98,7 @@ class TestDir < Test::Unit::TestCase
def test_chdir
pwd = Dir.pwd
- env_home = ENV["HOME"]
- env_logdir = ENV["LOGDIR"]
- ENV.delete("HOME")
- ENV.delete("LOGDIR")
+ setup_envs
assert_raise(Errno::ENOENT) { Dir.chdir(@nodir) }
assert_raise(ArgumentError) { Dir.chdir }
@@ -125,8 +132,6 @@ class TestDir < Test::Unit::TestCase
rescue
abort("cannot return the original directory: #{ pwd }")
end
- ENV["HOME"] = env_home
- ENV["LOGDIR"] = env_logdir
end
def test_chdir_conflict
@@ -519,10 +524,7 @@ class TestDir < Test::Unit::TestCase
end
def test_home
- env_home = ENV["HOME"]
- env_logdir = ENV["LOGDIR"]
- ENV.delete("HOME")
- ENV.delete("LOGDIR")
+ setup_envs
ENV["HOME"] = @nodir
assert_nothing_raised(ArgumentError) do
@@ -540,9 +542,6 @@ class TestDir < Test::Unit::TestCase
%W[no:such:user \u{7559 5b88}:\u{756a}].each do |user|
assert_raise_with_message(ArgumentError, /#{user}/) {Dir.home(user)}
end
- ensure
- ENV["HOME"] = env_home
- ENV["LOGDIR"] = env_logdir
end
def test_symlinks_not_resolved