From c1b97a4099cf0d98ebea42f2154d9bef19d52b69 Mon Sep 17 00:00:00 2001 From: Philip Sampaio Date: Wed, 28 Jun 2023 20:24:15 -0300 Subject: [PATCH] Fix intermittent tests Forcing to always compile does the trick. But I really don't know why yet. --- test/support/broadway_support.ex | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/support/broadway_support.ex b/test/support/broadway_support.ex index 0532d05..2767734 100644 --- a/test/support/broadway_support.ex +++ b/test/support/broadway_support.ex @@ -2,11 +2,13 @@ defmodule BroadwayDashboard.BroadwaySupport do defmodule Forwarder do use Broadway + @impl true def handle_message(:default, message, %{test_pid: test_pid}) do send(test_pid, {:message_handled, message.data}) message end + @impl true def handle_batch(batcher, messages, _, %{test_pid: test_pid}) do send(test_pid, {:batch_handled, batcher, messages}) messages @@ -16,6 +18,11 @@ defmodule BroadwayDashboard.BroadwaySupport do defmodule ForwarderViaName do use Broadway + # For some reason, this module needs to always be compiled in order + # to see the "process_name/2" function implemented. + # TODO: investigate + def __mix_recompile__?(), do: true + def process_name({:via, registry, {registry_name, name}}, base_name) do {:via, registry, {registry_name, {name, base_name}}} end