diff options
Diffstat (limited to 'test/ruby/envutil.rb')
-rw-r--r-- | test/ruby/envutil.rb | 19 |
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 |