diff options
| author | Jack Nagel | 2015-01-13 12:19:56 -0500 | 
|---|---|---|
| committer | Jack Nagel | 2015-01-13 12:19:56 -0500 | 
| commit | e3326f64560136abe6260b2ee0cfb3aad6c72d69 (patch) | |
| tree | 2bda6427d9a8f63e57e3a91ced19478f13054a01 | |
| parent | bd189b67a22c0002fd06411ad6e5ce1e756101c4 (diff) | |
| download | homebrew-e3326f64560136abe6260b2ee0cfb3aad6c72d69.tar.bz2 | |
Save and restore ENV around test invocations
This prevents mutations that happen in individual tests from leaking
into other tests.
| -rw-r--r-- | Library/Homebrew/cmd/test.rb | 4 | 
1 files changed, 4 insertions, 0 deletions
| diff --git a/Library/Homebrew/cmd/test.rb b/Library/Homebrew/cmd/test.rb index 630450744..139cebfed 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 | 
