From bf0af1b11ca0175ca107c6eef163e76062c6515a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20F=C3=B6hring?= Date: Tue, 9 Jan 2024 17:51:43 +0100 Subject: [PATCH] Add warnings about malformed issue triggers --- lib/credo/test/case.ex | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/lib/credo/test/case.ex b/lib/credo/test/case.ex index 1b1067f27..b2e276f43 100644 --- a/lib/credo/test/case.ex +++ b/lib/credo/test/case.ex @@ -172,8 +172,33 @@ defmodule Credo.Test.Case do |> to_source_file() |> run_check(MyProject.MyCheck, foo_parameter: "bar") """ - def run_check(source_file, check, params \\ []) do - CheckRunner.run_check(source_file, check, params) + def run_check(source_files, check, params \\ []) do + issues = CheckRunner.run_check(source_files, check, params) + + warn_on_malformed_issues(source_files, issues) + + issues + end + + defp warn_on_malformed_issues(_source_files, issues) do + Enum.each(issues, fn issue -> + case issue.trigger do + {:__no_trigger__} -> + :ok + + trigger when is_nil(trigger) -> + IO.warn(":trigger is nil") + + trigger when is_binary(trigger) -> + :ok + + trigger when is_atom(trigger) -> + :ok + + trigger -> + IO.warn(":trigger is not a binary: #{inspect(trigger, pretty: true)}") + end + end) end #