Просмотр исходного кода

test: fix delayed-pubish test case flakyness

Zaiming (Stone) Shi 2 лет назад
Родитель
Сommit
06e25f5c72
1 измененных файлов с 4 добавлено и 12 удалено
  1. 4 12
      apps/emqx_modules/test/emqx_telemetry_SUITE.erl

+ 4 - 12
apps/emqx_modules/test/emqx_telemetry_SUITE.erl

@@ -455,16 +455,6 @@ t_num_clients(_Config) ->
     ok.
 
 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(),
     AdvFeats = get_value(advanced_mqtt_features, TelemetryData),
     ?assertEqual(
@@ -659,8 +649,10 @@ mock_advanced_mqtt_features() ->
 
     lists:foreach(
         fun(N) ->
-            Num = integer_to_binary(N),
-            Message = emqx_message:make(<<"$delayed/", Num/binary, "/delayed">>, <<"payload">>),
+            DelaySec = integer_to_binary(N + 10),
+            Message = emqx_message:make(
+                <<"$delayed/", DelaySec/binary, "/delayed">>, <<"payload">>
+            ),
             {stop, _} = emqx_delayed:on_message_publish(Message)
         end,
         lists:seq(1, 4)