test: fix delayed-pubish test case flakyness

This commit is contained in:
Zaiming (Stone) Shi 2023-05-03 12:57:54 +02:00
parent 856129984b
commit 06e25f5c72
1 changed files with 4 additions and 12 deletions

View File

@ -455,16 +455,6 @@ t_num_clients(_Config) ->
ok. ok.
t_advanced_mqtt_features(_) -> t_advanced_mqtt_features(_) ->
try
ok = test_advanced_mqtt_features()
catch
_:_ ->
%% delayed messages' metrics might not be reported yet
timer:sleep(1000),
test_advanced_mqtt_features()
end.
test_advanced_mqtt_features() ->
{ok, TelemetryData} = emqx_telemetry:get_telemetry(), {ok, TelemetryData} = emqx_telemetry:get_telemetry(),
AdvFeats = get_value(advanced_mqtt_features, TelemetryData), AdvFeats = get_value(advanced_mqtt_features, TelemetryData),
?assertEqual( ?assertEqual(
@ -659,8 +649,10 @@ mock_advanced_mqtt_features() ->
lists:foreach( lists:foreach(
fun(N) -> fun(N) ->
Num = integer_to_binary(N), DelaySec = integer_to_binary(N + 10),
Message = emqx_message:make(<<"$delayed/", Num/binary, "/delayed">>, <<"payload">>), Message = emqx_message:make(
<<"$delayed/", DelaySec/binary, "/delayed">>, <<"payload">>
),
{stop, _} = emqx_delayed:on_message_publish(Message) {stop, _} = emqx_delayed:on_message_publish(Message)
end, end,
lists:seq(1, 4) lists:seq(1, 4)