diff options
| author | Mike McQuaid | 2017-10-29 14:44:43 +0000 | 
|---|---|---|
| committer | Mike McQuaid | 2017-10-29 14:44:43 +0000 | 
| commit | ca189437e4d35f9e6c89f4b7955613f708ab3282 (patch) | |
| tree | d91421a865326f2c15313a621d7a38908d735a2b /Library/Homebrew/formula.rb | |
| parent | 7caca570736a6232512328992b398270dbbf3f4f (diff) | |
| download | brew-ca189437e4d35f9e6c89f4b7955613f708ab3282.tar.bz2 | |
Tweak use of with_env
- Use it in more places where it saves code
- Allow using symbolic keys for a cleaner interface
- Use `HOMEBREW_GEM_*` instead of `GEM_OLD_*`
Diffstat (limited to 'Library/Homebrew/formula.rb')
| -rw-r--r-- | Library/Homebrew/formula.rb | 67 | 
1 files changed, 25 insertions, 42 deletions
| diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 1765f20c1..607fdd5c4 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -1615,33 +1615,30 @@ class Formula    # @private    def run_test      @prefix_returns_versioned_prefix = true -    old_home = ENV["HOME"] -    old_java_opts = ENV["_JAVA_OPTIONS"] -    old_curl_home = ENV["CURL_HOME"] -    old_tmpdir = ENV["TMPDIR"] -    old_temp = ENV["TEMP"] -    old_tmp = ENV["TMP"] -    old_term = ENV["TERM"] -    old_path = ENV["PATH"] -    old_homebrew_path = ENV["HOMEBREW_PATH"] - -    ENV["CURL_HOME"] = old_curl_home || old_home -    ENV["TMPDIR"] = ENV["TEMP"] = ENV["TMP"] = HOMEBREW_TEMP -    ENV["TERM"] = "dumb" -    ENV["PATH"] = PATH.new(old_path).append(HOMEBREW_PREFIX/"bin") -    ENV["HOMEBREW_PATH"] = nil -    ENV["_JAVA_OPTIONS"] = "#{old_java_opts} -Duser.home=#{HOMEBREW_CACHE}/java_cache" + +    test_env = { +      CURL_HOME: ENV["CURL_HOME"] || ENV["HOME"], +      TMPDIR: HOMEBREW_TEMP, +      TEMP: HOMEBREW_TEMP, +      TMP: HOMEBREW_TEMP, +      TERM: "dumb", +      PATH: PATH.new(ENV["PATH"]).append(HOMEBREW_PREFIX/"bin"), +      HOMEBREW_PATH: nil, +      _JAVA_OPTIONS: "#{ENV["_JAVA_OPTIONS"]} -Duser.home=#{HOMEBREW_CACHE}/java_cache", +    }      ENV.clear_sensitive_environment!      mktemp("#{name}-test") do |staging|        staging.retain! if ARGV.keep_tmp?        @testpath = staging.tmpdir -      ENV["HOME"] = @testpath +      test_env[:HOME] = @testpath        setup_home @testpath        begin          with_logging("test") do -          test +          with_env(test_env) do +            test +          end          end        rescue Exception # rubocop:disable Lint/RescueException          staging.retain! if ARGV.debug? @@ -1650,15 +1647,6 @@ class Formula      end    ensure      @testpath = nil -    ENV["HOME"] = old_home -    ENV["_JAVA_OPTIONS"] = old_java_opts -    ENV["CURL_HOME"] = old_curl_home -    ENV["TMPDIR"] = old_tmpdir -    ENV["TEMP"] = old_temp -    ENV["TMP"] = old_tmp -    ENV["TERM"] = old_term -    ENV["PATH"] = old_path -    ENV["HOMEBREW_PATH"] = old_homebrew_path      @prefix_returns_versioned_prefix = false    end @@ -1891,32 +1879,27 @@ class Formula        env_home = buildpath/".brew_home"        mkdir_p env_home -      old_home = ENV["HOME"] -      old_java_opts = ENV["_JAVA_OPTIONS"] -      old_curl_home = ENV["CURL_HOME"] -      old_path = ENV["HOMEBREW_PATH"] +      stage_env = { +        HOMEBREW_PATH: nil, +      }        unless ARGV.interactive? -        ENV["HOME"] = env_home -        ENV["_JAVA_OPTIONS"] = "#{old_java_opts} -Duser.home=#{HOMEBREW_CACHE}/java_cache" -        ENV["CURL_HOME"] = old_curl_home || old_home +        stage_env[:HOME] = env_home +        stage_env[:_JAVA_OPTIONS] = +          "#{ENV["_JAVA_OPTIONS"]} -Duser.home=#{HOMEBREW_CACHE}/java_cache" +        stage_env[:CURL_HOME] = ENV["CURL_HOME"] || ENV["HOME"]        end -      ENV["HOMEBREW_PATH"] = nil        setup_home env_home        ENV.clear_sensitive_environment!        begin -        yield staging +        with_env(stage_env) do +          yield staging +        end        ensure          @buildpath = nil -        unless ARGV.interactive? -          ENV["HOME"] = old_home -          ENV["_JAVA_OPTIONS"] = old_java_opts -          ENV["CURL_HOME"] = old_curl_home -        end -        ENV["HOMEBREW_PATH"] = old_path        end      end    end | 
