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
|
||||
end
|
||||
|
||||
LANGUAGE_BLOCK_LIMIT = 10
|
||||
|
||||
def audit
|
||||
warnings = Set.new
|
||||
errors = Set.new
|
||||
|
||||
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)
|
||||
summary = audit.summary(include_passed: output_passed?, include_warnings: output_warnings?)
|
||||
if summary.present? && output_summary?(audit)
|
||||
|
@ -5,6 +5,7 @@ require "cask/auditor"
|
||||
|
||||
describe Cask::Cmd::Audit, :cask do
|
||||
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 } }
|
||||
|
||||
describe "selection of Casks to audit" do
|
||||
@ -160,4 +161,11 @@ describe Cask::Cmd::Audit, :cask do
|
||||
|
||||
described_class.run("casktoken")
|
||||
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
|
||||
|
@ -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