From 3950130e73db7d0271657d6d9af845b98b544e55 Mon Sep 17 00:00:00 2001 From: James Fish Date: Tue, 2 Sep 2014 11:07:18 +0100 Subject: [PATCH] Fix exit signal race condition in logger tests Test process must wait for exit signal before untrapping exits, otherwise exit signal may cause it to exit. --- lib/logger/test/logger/translator_test.exs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/logger/test/logger/translator_test.exs b/lib/logger/test/logger/translator_test.exs index b73567253b0..c259e98f305 100644 --- a/lib/logger/test/logger/translator_test.exs +++ b/lib/logger/test/logger/translator_test.exs @@ -351,6 +351,7 @@ defmodule Logger.TranslatorTest do trap = Process.flag(:trap_exit, true) Supervisor.start_link([worker(__MODULE__, [], [function: :error])], [strategy: :one_for_one]) + receive do: ({:EXIT, _, {:shutdown, {:failed_to_start_child, _, _}}} -> :ok) Process.flag(:trap_exit, trap) end) =~ ~r""" \[error\] Child Logger.TranslatorTest of Supervisor #PID<\d+\.\d+\.\d+> \(Supervisor\.Default\) failed to start @@ -364,6 +365,7 @@ defmodule Logger.TranslatorTest do trap = Process.flag(:trap_exit, true) Supervisor.start_link([worker(__MODULE__, [], [function: :undef])], [strategy: :one_for_one]) + receive do: ({:EXIT, _, {:shutdown, {:failed_to_start_child, _, _}}} -> :ok) Process.flag(:trap_exit, trap) end) =~ ~r""" \[error\] Child Logger.TranslatorTest of Supervisor #PID<\d+\.\d+\.\d+> \(Supervisor\.Default\) failed to start