From 81a760921320b6508458d6cdbe4c73b3e01b14b3 Mon Sep 17 00:00:00 2001 From: Zhiming Wang Date: Sat, 18 Feb 2017 10:16:59 -0500 Subject: bump-formula-pr: improve duplicate detection Reduce the chance of false flagging by making sure that the existing pr surfaced by GitHub.issues_for_formula actually contains the exact formula name in its title. --- Library/Homebrew/dev-cmd/bump-formula-pr.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Library/Homebrew/dev-cmd') diff --git a/Library/Homebrew/dev-cmd/bump-formula-pr.rb b/Library/Homebrew/dev-cmd/bump-formula-pr.rb index ea2daf1c4..bfe9c7776 100644 --- a/Library/Homebrew/dev-cmd/bump-formula-pr.rb +++ b/Library/Homebrew/dev-cmd/bump-formula-pr.rb @@ -80,7 +80,8 @@ module Homebrew def fetch_pull_requests(formula) GitHub.issues_for_formula(formula.name, tap: formula.tap).select do |pr| - pr["html_url"].include?("/pull/") + pr["html_url"].include?("/pull/") && + /(^|\s)#{Regexp.quote(formula.name)}(:|\s|$)/i =~ pr["title"] end rescue GitHub::RateLimitExceededError => e opoo e.message -- cgit v1.2.3 From c667a43b9790be9887bf3f175d9e6ab3dad80e1a Mon Sep 17 00:00:00 2001 From: ilovezfs Date: Mon, 20 Feb 2017 07:51:04 -0800 Subject: audit: fix insecure mirror check when stdout is empty --- Library/Homebrew/dev-cmd/audit.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Library/Homebrew/dev-cmd') diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index 5ed363f7c..9ffef0f99 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -1499,7 +1499,7 @@ class ResourceAuditor secure_url = url.sub "http", "https" secure_details = get_content_details(secure_url) - return if !details[:status].start_with?("2") || !secure_details[:status].start_with?("2") + return if details[:status].nil? || secure_details[:status].nil? || !details[:status].start_with?("2") || !secure_details[:status].start_with?("2") etag_match = details[:etag] && details[:etag] == secure_details[:etag] content_length_match = details[:content_length] && details[:content_length] == secure_details[:content_length] -- cgit v1.2.3 From 606790d06284df4765128117269c06a4df7e197c Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 31 Jan 2017 11:42:13 +0000 Subject: audit: check for version aliases. Current version aliases should be provided for versioned formulae so people can `brew install foo@1.2` to provide pin-like behaviour. --- Library/Homebrew/dev-cmd/audit.rb | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'Library/Homebrew/dev-cmd') diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index 9ffef0f99..9da5d28b4 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -295,6 +295,27 @@ class FormulaAuditor problem "File should end with a newline" unless text.trailing_newline? + versioned_formulae = Dir[formula.path.to_s.gsub(/\.rb$/, "@*.rb")] + needs_versioned_alias = !versioned_formulae.empty? && + formula.tap && + formula.aliases.grep(/.@\d/).empty? + if needs_versioned_alias + _, last_alias_version = File.basename(versioned_formulae.sort.reverse.first) + .gsub(/\.rb$/, "") + .split("@") + major, minor, = formula.version.to_s.split(".") + alias_name = if last_alias_version.split(".").length == 1 + "#{formula.name}@#{major}" + else + "#{formula.name}@#{major}.#{minor}" + end + problem <<-EOS.undent + Formula has other versions so create an alias: + cd #{formula.tap.alias_dir} + ln -s #{formula.path.to_s.gsub(formula.tap.path, "..")} #{alias_name} + EOS + end + return unless @strict present = audit_components @@ -410,7 +431,8 @@ class FormulaAuditor problem "Dependency '#{dep.name}' was renamed; use new name '#{dep_f.name}'." end - if @@aliases.include?(dep.name) + if @@aliases.include?(dep.name) && + (core_formula? || !dep_f.versioned_formula?) problem "Dependency '#{dep.name}' is an alias; use the canonical name '#{dep.to_formula.full_name}'." end -- cgit v1.2.3 From 2f42dfc68a7c3cfdb2d364fc98dff67fea89e78e Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 21 Feb 2017 18:50:07 +0000 Subject: audit: fix revision should be removed. Regression introduced in #1754 which meant that (due to storing the current formula revision in `attributes_map`) `stable_revisions.empty?` would never be `true`. --- Library/Homebrew/dev-cmd/audit.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'Library/Homebrew/dev-cmd') diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index 9da5d28b4..d9c4bcddb 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -816,10 +816,12 @@ class FormulaAuditor return if formula.revision.zero? if formula.stable - revision_map = attributes_map[:revision][:stable] - stable_revisions = revision_map[formula.stable.version] if revision_map - if !stable_revisions || stable_revisions.empty? - problem "'revision #{formula.revision}' should be removed" + if revision_map = attributes_map[:revision][:stable] + stable_revisions = revision_map[formula.stable.version] + stable_revisions -= [formula.revision] + if stable_revisions.empty? + problem "'revision #{formula.revision}' should be removed" + end end else # head/devel-only formula problem "'revision #{formula.revision}' should be removed" -- cgit v1.2.3 From b59bf2ff6410dc3e226f0c6c42a37f16a86b472b Mon Sep 17 00:00:00 2001 From: ilovezfs Date: Tue, 21 Feb 2017 11:31:18 -0800 Subject: Revert "audit: check for version aliases." --- Library/Homebrew/dev-cmd/audit.rb | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) (limited to 'Library/Homebrew/dev-cmd') diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index 9da5d28b4..9ffef0f99 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -295,27 +295,6 @@ class FormulaAuditor problem "File should end with a newline" unless text.trailing_newline? - versioned_formulae = Dir[formula.path.to_s.gsub(/\.rb$/, "@*.rb")] - needs_versioned_alias = !versioned_formulae.empty? && - formula.tap && - formula.aliases.grep(/.@\d/).empty? - if needs_versioned_alias - _, last_alias_version = File.basename(versioned_formulae.sort.reverse.first) - .gsub(/\.rb$/, "") - .split("@") - major, minor, = formula.version.to_s.split(".") - alias_name = if last_alias_version.split(".").length == 1 - "#{formula.name}@#{major}" - else - "#{formula.name}@#{major}.#{minor}" - end - problem <<-EOS.undent - Formula has other versions so create an alias: - cd #{formula.tap.alias_dir} - ln -s #{formula.path.to_s.gsub(formula.tap.path, "..")} #{alias_name} - EOS - end - return unless @strict present = audit_components @@ -431,8 +410,7 @@ class FormulaAuditor problem "Dependency '#{dep.name}' was renamed; use new name '#{dep_f.name}'." end - if @@aliases.include?(dep.name) && - (core_formula? || !dep_f.versioned_formula?) + if @@aliases.include?(dep.name) problem "Dependency '#{dep.name}' is an alias; use the canonical name '#{dep.to_formula.full_name}'." end -- cgit v1.2.3 From 168a96d91912c9adc19d8729d0cb6ac54aef7590 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Tue, 21 Feb 2017 21:55:11 +0100 Subject: Exclude specs with `:needs_macos` tag when not on macOS. --- Library/Homebrew/dev-cmd/tests.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Library/Homebrew/dev-cmd') diff --git a/Library/Homebrew/dev-cmd/tests.rb b/Library/Homebrew/dev-cmd/tests.rb index 244fbe027..246b5fa46 100644 --- a/Library/Homebrew/dev-cmd/tests.rb +++ b/Library/Homebrew/dev-cmd/tests.rb @@ -84,6 +84,8 @@ module Homebrew "--format", "ParallelTests::RSpec::RuntimeLogger", "--out", "tmp/parallel_runtime_rspec.log" ] + spec_args << "--tag" << "~needs_macos" unless OS.mac? + run_tests "parallel_rspec", spec_files, spec_args if (fs_leak_log = HOMEBREW_LIBRARY_PATH/"tmp/fs_leak.log").file? -- cgit v1.2.3 From ac5b6b6eeaec7b6ee2fb79a28d69c6036ee49299 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Wed, 22 Feb 2017 08:49:24 +0000 Subject: Revert "audit: fix revision should be removed." --- Library/Homebrew/dev-cmd/audit.rb | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'Library/Homebrew/dev-cmd') diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index d4d6a6d72..9ffef0f99 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -794,12 +794,10 @@ class FormulaAuditor return if formula.revision.zero? if formula.stable - if revision_map = attributes_map[:revision][:stable] - stable_revisions = revision_map[formula.stable.version] - stable_revisions -= [formula.revision] - if stable_revisions.empty? - problem "'revision #{formula.revision}' should be removed" - end + revision_map = attributes_map[:revision][:stable] + stable_revisions = revision_map[formula.stable.version] if revision_map + if !stable_revisions || stable_revisions.empty? + problem "'revision #{formula.revision}' should be removed" end else # head/devel-only formula problem "'revision #{formula.revision}' should be removed" -- cgit v1.2.3 From 48a211fc90d3b53db3fb2f76d454ee64cab0cdf7 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Tue, 21 Feb 2017 06:17:06 +0100 Subject: Convert `os/mac/language` test to spec. --- Library/Homebrew/dev-cmd/tests.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'Library/Homebrew/dev-cmd') diff --git a/Library/Homebrew/dev-cmd/tests.rb b/Library/Homebrew/dev-cmd/tests.rb index 244fbe027..9cabb3d61 100644 --- a/Library/Homebrew/dev-cmd/tests.rb +++ b/Library/Homebrew/dev-cmd/tests.rb @@ -57,9 +57,7 @@ module Homebrew ENV["SEED"] = ARGV.next if ARGV.include? "--seed" files = Dir.glob("test/**/*_{spec,test}.rb") - .reject { |p| !OS.mac? && p.start_with?("test/os/mac/") } - .reject { |p| !OS.mac? && p.start_with?("test/cask/") } - .reject { |p| p.start_with?("test/vendor/bundle/") } + .reject { |p| !OS.mac? && p =~ %r{^test/(os/mac|cask)(/.*|_(test|spec)\.rb)$} } test_args = [] test_args << "--trace" if ARGV.include? "--trace" -- cgit v1.2.3