diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/diagnostic.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/download_strategy.rb | 6 | ||||
| -rw-r--r-- | Library/Homebrew/manpages/brew.1.md.erb | 3 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/dsl_spec.rb | 1 | ||||
| -rw-r--r-- | Library/Homebrew/test/download_strategies_spec.rb | 13 | ||||
| -rw-r--r-- | Library/Homebrew/test/utils/tty_spec.rb | 14 | ||||
| -rw-r--r-- | Library/Homebrew/utils/tty.rb | 4 | 
7 files changed, 40 insertions, 5 deletions
| diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb index 8516f2b63..178758347 100644 --- a/Library/Homebrew/diagnostic.rb +++ b/Library/Homebrew/diagnostic.rb @@ -788,7 +788,7 @@ module Homebrew            EOS          end -        return if ENV["CI"] || ENV["JENKINS_HOME"] +        return if ENV["CI"]          branch = coretap_path.git_branch          return if branch.nil? || branch =~ /master/ @@ -838,7 +838,7 @@ module Homebrew        def check_for_large_cache          return unless HOMEBREW_CACHE.exist?          # CI can be expected to have a large cache. -        return if ENV["CI"] || ENV["JENKINS_HOME"] +        return if ENV["CI"]          cache_size = HOMEBREW_CACHE.disk_usage          return unless cache_size > 2_147_483_648          <<~EOS diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index feb518057..e85661d76 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -303,7 +303,11 @@ class AbstractFileDownloadStrategy < AbstractDownloadStrategy      # We can't use basename_without_params, because given a URL like      #   https://example.com/download.php?file=foo-1.0.tar.gz      # the extension we want is ".tar.gz", not ".php". -    Pathname.new(@url).extname[/[^?]+/] +    Pathname.new(@url).ascend do |path| +      ext = path.extname[/[^?]+/] +      return ext if ext +    end +    nil    end  end diff --git a/Library/Homebrew/manpages/brew.1.md.erb b/Library/Homebrew/manpages/brew.1.md.erb index 508c90f2d..fbe6fca94 100644 --- a/Library/Homebrew/manpages/brew.1.md.erb +++ b/Library/Homebrew/manpages/brew.1.md.erb @@ -199,6 +199,9 @@ can take several different forms:      If set, Homebrew will not auto-update before running `brew install`,      `brew upgrade` or `brew tap`. +  * `HOMEBREW_NO_COLOR`: +    If set, Homebrew will not print text with color added. +    * `HOMEBREW_NO_EMOJI`:      If set, Homebrew will not print the `HOMEBREW_INSTALL_BADGE` on a      successful build. diff --git a/Library/Homebrew/test/cask/dsl_spec.rb b/Library/Homebrew/test/cask/dsl_spec.rb index d3bb46264..993c03bac 100644 --- a/Library/Homebrew/test/cask/dsl_spec.rb +++ b/Library/Homebrew/test/cask/dsl_spec.rb @@ -75,6 +75,7 @@ describe Hbc::DSL, :cask do        it "may use deprecated DSL version hash syntax" do          allow(ENV).to receive(:[]).with("HOMEBREW_DEVELOPER").and_return(nil) +        allow(ENV).to receive(:[]).with("HOMEBREW_NO_COLOR").and_return(nil)          expect(cask.token).to eq("with-dsl-version")          expect(cask.url.to_s).to eq("http://example.com/TestCask.dmg") diff --git a/Library/Homebrew/test/download_strategies_spec.rb b/Library/Homebrew/test/download_strategies_spec.rb index 06d6fa855..7ad070fc4 100644 --- a/Library/Homebrew/test/download_strategies_spec.rb +++ b/Library/Homebrew/test/download_strategies_spec.rb @@ -209,6 +209,19 @@ describe CurlDownloadStrategy do    it "parses the opts and sets the corresponding args" do      expect(subject.send(:_curl_opts)).to eq(["--user", "download:123456"])    end + +  describe "#tarball_path" do +    subject { described_class.new(name, resource).tarball_path } + +    context "when URL ends with file" do +      it { is_expected.to eq(HOMEBREW_CACHE/"foo-.tar.gz") } +    end + +    context "when URL file is in middle" do +      let(:url) { "http://example.com/foo.tar.gz/from/this/mirror" } +      it { is_expected.to eq(HOMEBREW_CACHE/"foo-.tar.gz") } +    end +  end  end  describe DownloadStrategyDetector do diff --git a/Library/Homebrew/test/utils/tty_spec.rb b/Library/Homebrew/test/utils/tty_spec.rb index 3ba89b6fd..e6c9168f3 100644 --- a/Library/Homebrew/test/utils/tty_spec.rb +++ b/Library/Homebrew/test/utils/tty_spec.rb @@ -53,7 +53,7 @@ describe Tty do        allow($stdout).to receive(:tty?).and_return(true)      end -    it "returns an empty string for all colors" do +    it "returns ANSI escape codes for colors" do        expect(subject.to_s).to eq("")        expect(subject.red.to_s).to eq("\033[31m")        expect(subject.green.to_s).to eq("\033[32m") @@ -63,5 +63,17 @@ describe Tty do        expect(subject.cyan.to_s).to eq("\033[36m")        expect(subject.default.to_s).to eq("\033[39m")      end + +    it "returns an empty string for all colors when HOMEBREW_NO_COLOR is set" do +      ENV["HOMEBREW_NO_COLOR"] = "1" +      expect(subject.to_s).to eq("") +      expect(subject.red.to_s).to eq("") +      expect(subject.green.to_s).to eq("") +      expect(subject.yellow.to_s).to eq("") +      expect(subject.blue.to_s).to eq("") +      expect(subject.magenta.to_s).to eq("") +      expect(subject.cyan.to_s).to eq("") +      expect(subject.default.to_s).to eq("") +    end    end  end diff --git a/Library/Homebrew/utils/tty.rb b/Library/Homebrew/utils/tty.rb index e872e6460..81d5f00d7 100644 --- a/Library/Homebrew/utils/tty.rb +++ b/Library/Homebrew/utils/tty.rb @@ -59,7 +59,9 @@ module Tty    end    def to_s -    return "" unless $stdout.tty? +    if ENV["HOMEBREW_NO_COLOR"] || !$stdout.tty? +      return "" +    end      current_escape_sequence    ensure      reset_escape_sequence! | 
