style: re-enable GitLab patch URL check

This commit is contained in:
Rylan Polster 2021-04-19 11:19:35 -04:00
parent 0e65d96e54
commit ae89577b26
No known key found for this signature in database
GPG Key ID: 46A744940CFF4D64
2 changed files with 8 additions and 11 deletions

View File

@ -56,12 +56,11 @@ module RuboCop
problem "GitHub patches should end with .patch, not .diff: #{patch_url}" problem "GitHub patches should end with .patch, not .diff: #{patch_url}"
end end
# TODO: Uncomment once offenses have been fixed in Homebrew/homebrew-core and Homebrew/linuxbrew-core
# Only .diff passes `--full-index` to `git diff` and there is no documented way # Only .diff passes `--full-index` to `git diff` and there is no documented way
# to get .patch to behave the same for GitLab. # to get .patch to behave the same for GitLab.
# if regex_match_group(patch_url_node, %r{.*gitlab.*/commit/[a-fA-F0-9]*\.patch}) if regex_match_group(patch_url_node, %r{.*gitlab.*/commit/[a-fA-F0-9]*\.patch})
# problem "GitLab patches should end with .diff, not .patch: #{patch_url}" problem "GitLab patches should end with .diff, not .patch: #{patch_url}"
# end end
gh_patch_param_pattern = %r{https?://github\.com/.+/.+/(?:commit|pull)/[a-fA-F0-9]*.(?:patch|diff)} gh_patch_param_pattern = %r{https?://github\.com/.+/.+/(?:commit|pull)/[a-fA-F0-9]*.(?:patch|diff)}
if regex_match_group(patch_url_node, gh_patch_param_pattern) && !patch_url.match?(/\?full_index=\w+$/) if regex_match_group(patch_url_node, gh_patch_param_pattern) && !patch_url.match?(/\?full_index=\w+$/)

View File

@ -181,8 +181,7 @@ describe RuboCop::Cop::FormulaAudit::Patches do
"https://github.com/uber/h3/pull/362.patch?full_index=1", "https://github.com/uber/h3/pull/362.patch?full_index=1",
"https://gitlab.gnome.org/GNOME/gitg/-/merge_requests/142.diff", "https://gitlab.gnome.org/GNOME/gitg/-/merge_requests/142.diff",
"https://github.com/michaeldv/pit/commit/f64978d.diff?full_index=1", "https://github.com/michaeldv/pit/commit/f64978d.diff?full_index=1",
# TODO: Uncomment once the corresponding check is re-enabled "https://gitlab.gnome.org/GNOME/msitools/commit/248450a.patch",
# "https://gitlab.gnome.org/GNOME/msitools/commit/248450a.patch",
] ]
patch_urls.each do |patch_url| patch_urls.each do |patch_url|
source = <<~RUBY source = <<~RUBY
@ -224,11 +223,10 @@ describe RuboCop::Cop::FormulaAudit::Patches do
expect_offense_hash message: <<~EOS.chomp, severity: :convention, line: 5, column: 8, source: source expect_offense_hash message: <<~EOS.chomp, severity: :convention, line: 5, column: 8, source: source
GitHub patches should end with .patch, not .diff: #{patch_url} GitHub patches should end with .patch, not .diff: #{patch_url}
EOS EOS
# TODO: Uncomment once the corresponding check is re-enabled elsif patch_url.match?(%r{.*gitlab.*/commit/})
# elsif patch_url.match?(%r{.*gitlab.*/commit/}) expect_offense_hash message: <<~EOS.chomp, severity: :convention, line: 5, column: 8, source: source
# expect_offense_hash message: <<~EOS.chomp, severity: :convention, line: 5, column: 8, source: source GitLab patches should end with .diff, not .patch: #{patch_url}
# GitLab patches should end with .diff, not .patch: #{patch_url} EOS
# EOS
# rubocop:disable Layout/LineLength # rubocop:disable Layout/LineLength
elsif patch_url.match?(%r{https?://patch-diff\.githubusercontent\.com/raw/(.+)/(.+)/pull/(.+)\.(?:diff|patch)}) elsif patch_url.match?(%r{https?://patch-diff\.githubusercontent\.com/raw/(.+)/(.+)/pull/(.+)\.(?:diff|patch)})
# rubocop:enable Layout/LineLength # rubocop:enable Layout/LineLength