cask/auditor: only audit 10 languages by default on casks with many languages
This commit is contained in:
parent
6db7732fa3
commit
d1b09a90da
@ -48,12 +48,22 @@ module Cask
|
|||||||
@except = except
|
@except = except
|
||||||
end
|
end
|
||||||
|
|
||||||
|
LANGUAGE_BLOCK_LIMIT = 10
|
||||||
|
|
||||||
def audit
|
def audit
|
||||||
warnings = Set.new
|
warnings = Set.new
|
||||||
errors = Set.new
|
errors = Set.new
|
||||||
|
|
||||||
if !language && language_blocks
|
if !language && language_blocks
|
||||||
language_blocks.each_key do |l|
|
if language_blocks.length > LANGUAGE_BLOCK_LIMIT && !@audit_new_cask
|
||||||
|
sample_keys = language_blocks.keys.sample(LANGUAGE_BLOCK_LIMIT)
|
||||||
|
sample_languages = language_blocks.select { |k| sample_keys.include?(k) }
|
||||||
|
ohai "Auditing a sample of available languages: #{sample_keys.map { |lang| lang[0].to_s }.to_sentence}"
|
||||||
|
else
|
||||||
|
sample_languages = language_blocks
|
||||||
|
end
|
||||||
|
|
||||||
|
sample_languages.each_key do |l|
|
||||||
audit = audit_languages(l)
|
audit = audit_languages(l)
|
||||||
summary = audit.summary(include_passed: output_passed?, include_warnings: output_warnings?)
|
summary = audit.summary(include_passed: output_passed?, include_warnings: output_warnings?)
|
||||||
if summary.present? && output_summary?(audit)
|
if summary.present? && output_summary?(audit)
|
||||||
|
@ -5,6 +5,7 @@ require "cask/auditor"
|
|||||||
|
|
||||||
describe Cask::Cmd::Audit, :cask do
|
describe Cask::Cmd::Audit, :cask do
|
||||||
let(:cask) { Cask::Cask.new("cask") }
|
let(:cask) { Cask::Cask.new("cask") }
|
||||||
|
let(:cask_with_many_languages) { Cask::CaskLoader.load(cask_path("with-many-languages")) }
|
||||||
let(:result) { { warnings: Set.new, errors: Set.new } }
|
let(:result) { { warnings: Set.new, errors: Set.new } }
|
||||||
|
|
||||||
describe "selection of Casks to audit" do
|
describe "selection of Casks to audit" do
|
||||||
@ -160,4 +161,11 @@ describe Cask::Cmd::Audit, :cask do
|
|||||||
|
|
||||||
described_class.run("casktoken")
|
described_class.run("casktoken")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "audits a sample of language when cask contains more than 10 languages" do
|
||||||
|
allow(Cask::CaskLoader).to receive(:load).and_return(cask_with_many_languages)
|
||||||
|
expect {
|
||||||
|
described_class.run("with-many-languages")
|
||||||
|
}.to output(/==> auditing a sample of available languages/im).to_stdout
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -0,0 +1,55 @@
|
|||||||
|
cask "with-many-languages" do
|
||||||
|
version "1.2.3"
|
||||||
|
|
||||||
|
language "en", default: true do
|
||||||
|
sha256 :no_check
|
||||||
|
"en"
|
||||||
|
end
|
||||||
|
language "cs" do
|
||||||
|
sha256 :no_check
|
||||||
|
"cs"
|
||||||
|
end
|
||||||
|
language "es-AR" do
|
||||||
|
sha256 :no_check
|
||||||
|
"es-AR"
|
||||||
|
end
|
||||||
|
language "ff" do
|
||||||
|
sha256 :no_check
|
||||||
|
"ff"
|
||||||
|
end
|
||||||
|
language "fi" do
|
||||||
|
sha256 :no_check
|
||||||
|
"fi"
|
||||||
|
end
|
||||||
|
language "gn" do
|
||||||
|
sha256 :no_check
|
||||||
|
"gn"
|
||||||
|
end
|
||||||
|
language "gu" do
|
||||||
|
sha256 :no_check
|
||||||
|
"gu"
|
||||||
|
end
|
||||||
|
language "ko" do
|
||||||
|
sha256 :no_check
|
||||||
|
"ko"
|
||||||
|
end
|
||||||
|
language "ru" do
|
||||||
|
sha256 :no_check
|
||||||
|
"ru"
|
||||||
|
end
|
||||||
|
language "sv" do
|
||||||
|
sha256 :no_check
|
||||||
|
"sv"
|
||||||
|
end
|
||||||
|
language "th" do
|
||||||
|
sha256 :no_check
|
||||||
|
"th"
|
||||||
|
end
|
||||||
|
|
||||||
|
name "Caffeine"
|
||||||
|
desc "Keep your mac awake"
|
||||||
|
url "file://#{TEST_FIXTURE_DIR}/cask/caffeine#{version}.zip"
|
||||||
|
homepage "https://brew.sh/"
|
||||||
|
|
||||||
|
app "Caffeine.app"
|
||||||
|
end
|
Loading…
x
Reference in New Issue
Block a user