test(gcp_pubsub): fix flaky test
This commit is contained in:
parent
e3ba55b7f9
commit
d6c8a106da
|
@ -524,6 +524,29 @@ install_telemetry_handler(TestCase) ->
|
||||||
end),
|
end),
|
||||||
Tid.
|
Tid.
|
||||||
|
|
||||||
|
wait_until_gauge_is(GaugeName, ExpectedValue, Timeout) ->
|
||||||
|
Events = receive_all_events(GaugeName, Timeout),
|
||||||
|
case lists:last(Events) of
|
||||||
|
#{measurements := #{gauge_set := ExpectedValue}} ->
|
||||||
|
ok;
|
||||||
|
#{measurements := #{gauge_set := Value}} ->
|
||||||
|
ct:fail(
|
||||||
|
"gauge ~p didn't reach expected value ~p; last value: ~p",
|
||||||
|
[GaugeName, ExpectedValue, Value]
|
||||||
|
)
|
||||||
|
end.
|
||||||
|
|
||||||
|
receive_all_events(EventName, Timeout) ->
|
||||||
|
receive_all_events(EventName, Timeout, []).
|
||||||
|
|
||||||
|
receive_all_events(EventName, Timeout, Acc) ->
|
||||||
|
receive
|
||||||
|
{telemetry, #{name := [_, _, EventName]} = Event} ->
|
||||||
|
receive_all_events(EventName, Timeout, [Event | Acc])
|
||||||
|
after Timeout ->
|
||||||
|
lists:reverse(Acc)
|
||||||
|
end.
|
||||||
|
|
||||||
wait_telemetry_event(TelemetryTable, EventName, ResourceId) ->
|
wait_telemetry_event(TelemetryTable, EventName, ResourceId) ->
|
||||||
wait_telemetry_event(TelemetryTable, EventName, ResourceId, #{timeout => 5_000, n_events => 1}).
|
wait_telemetry_event(TelemetryTable, EventName, ResourceId, #{timeout => 5_000, n_events => 1}).
|
||||||
|
|
||||||
|
@ -803,6 +826,8 @@ t_publish_success_batch(Config) ->
|
||||||
ResourceId,
|
ResourceId,
|
||||||
#{timeout => 15_000, n_events => NumMessages}
|
#{timeout => 15_000, n_events => NumMessages}
|
||||||
),
|
),
|
||||||
|
wait_until_gauge_is(queuing, 0, _Timeout = 400),
|
||||||
|
wait_until_gauge_is(inflight, 0, _Timeout = 400),
|
||||||
assert_metrics(
|
assert_metrics(
|
||||||
#{
|
#{
|
||||||
batching => 0,
|
batching => 0,
|
||||||
|
|
Loading…
Reference in New Issue