From 65885590caa4d19c8ead11ef24401485273513e0 Mon Sep 17 00:00:00 2001 From: Alexander Bayandin Date: Wed, 3 Jul 2024 10:24:40 +0100 Subject: [PATCH] rubocops/class: allow disabled formulae to be without a test block --- Library/Homebrew/rubocops/class.rb | 1 + Library/Homebrew/test/rubocops/class/test_present.rb | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/Library/Homebrew/rubocops/class.rb b/Library/Homebrew/rubocops/class.rb index d23617e990..22947b8268 100644 --- a/Library/Homebrew/rubocops/class.rb +++ b/Library/Homebrew/rubocops/class.rb @@ -71,6 +71,7 @@ module RuboCop class TestPresent < FormulaCop def audit_formula(_node, class_node, _parent_class_node, body_node) return if find_block(body_node, :test) + return if find_node_method_by_name(body_node, :disable!) offending_node(class_node) if body_node.nil? problem "A `test do` test block should be added" diff --git a/Library/Homebrew/test/rubocops/class/test_present.rb b/Library/Homebrew/test/rubocops/class/test_present.rb index 04f5b6c92a..106863ac88 100644 --- a/Library/Homebrew/test/rubocops/class/test_present.rb +++ b/Library/Homebrew/test/rubocops/class/test_present.rb @@ -13,4 +13,14 @@ RSpec.describe RuboCop::Cop::FormulaAuditStrict::TestPresent do end RUBY end + + it "reports no offenses when there is no test block and formula is disabled" do + expect_no_offenses(<<~RUBY) + class Foo < Formula + url 'https://brew.sh/foo-1.0.tgz' + + disable! date: "2024-07-03", because: :unsupported + end + RUBY + end end