From b61528e757feb53f5b1d4f05706a55364bd3f265 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Tue, 13 Jan 2015 12:19:56 -0500 Subject: [PATCH] Save and restore ENV around test invocations This prevents mutations that happen in individual tests from leaking into other tests. --- Library/Homebrew/cmd/test.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Library/Homebrew/cmd/test.rb b/Library/Homebrew/cmd/test.rb index 6304507440..139cebfed9 100644 --- a/Library/Homebrew/cmd/test.rb +++ b/Library/Homebrew/cmd/test.rb @@ -53,6 +53,8 @@ module Homebrew f.extend(Homebrew::Assertions) f.extend(Debrew::Formula) if ARGV.debug? + env = ENV.to_hash + begin # tests can also return false to indicate failure Timeout::timeout TEST_TIMEOUT_SECONDS do @@ -64,6 +66,8 @@ module Homebrew rescue Exception => e ofail "#{f.name}: failed" puts e, e.backtrace + ensure + ENV.replace(env) end end end