summaryrefslogtreecommitdiff
path: root/test/ruby/envutil.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/envutil.rb')
-rw-r--r--test/ruby/envutil.rb19
1 files changed, 10 insertions, 9 deletions
diff --git a/test/ruby/envutil.rb b/test/ruby/envutil.rb
index 37efdde84e..4d0ff6b6a2 100644
--- a/test/ruby/envutil.rb
+++ b/test/ruby/envutil.rb
@@ -43,16 +43,17 @@ module EnvUtil
c = "C"
env = {}
LANG_ENVS.each {|lc| env[lc], ENV[lc] = ENV[lc], c}
- stdin, stdout, stderr = Open3.popen3(*([ruby] + args))
- env.each_pair {|lc, v|
- if v
- ENV[lc] = v
- else
- ENV.delete(lc)
- end
- }
- env = nil
+ stdin = stdout = stderr = nil
Timeout.timeout(10) do
+ stdin, stdout, stderr = Open3.popen3(*([ruby] + args))
+ env.each_pair {|lc, v|
+ if v
+ ENV[lc] = v
+ else
+ ENV.delete(lc)
+ end
+ }
+ env = nil
yield(stdin, stdout, stderr)
end