From 5addf9187353394700b6cebeb3ae500cdb282275 Mon Sep 17 00:00:00 2001 From: k32 <10274441+k32@users.noreply.github.com> Date: Wed, 29 Dec 2021 16:23:24 +0100 Subject: [PATCH] fix(retainer): Fix topic printing Fixes: #6559 --- apps/emqx_retainer/src/emqx_retainer.app.src | 2 +- .../emqx_retainer/src/emqx_retainer.appup.src | 27 +++++++++---------- apps/emqx_retainer/src/emqx_retainer_cli.erl | 5 ++-- .../test/emqx_retainer_cli_SUITE.erl | 24 +++++++++++++---- 4 files changed, 36 insertions(+), 22 deletions(-) diff --git a/apps/emqx_retainer/src/emqx_retainer.app.src b/apps/emqx_retainer/src/emqx_retainer.app.src index c5ca7599d..05920e985 100644 --- a/apps/emqx_retainer/src/emqx_retainer.app.src +++ b/apps/emqx_retainer/src/emqx_retainer.app.src @@ -1,6 +1,6 @@ {application, emqx_retainer, [{description, "EMQ X Retainer"}, - {vsn, "4.3.2"}, % strict semver, bump manually! + {vsn, "4.3.3"}, % strict semver, bump manually! {modules, []}, {registered, [emqx_retainer_sup]}, {applications, [kernel,stdlib]}, diff --git a/apps/emqx_retainer/src/emqx_retainer.appup.src b/apps/emqx_retainer/src/emqx_retainer.appup.src index 19e8e835f..45ec6420c 100644 --- a/apps/emqx_retainer/src/emqx_retainer.appup.src +++ b/apps/emqx_retainer/src/emqx_retainer.appup.src @@ -1,15 +1,14 @@ -%% -*-: erlang -*- +%% -*- mode: erlang -*- {VSN, - [ - {<<"4\\.3\\.[0-1]+">>, [ - {load_module, emqx_retainer, brutal_purge, soft_purge, []} - ]}, - {<<".*">>, []} - ], - [ - {<<"4\\.3\\.[0-1]+">>, [ - {load_module, emqx_retainer, brutal_purge, soft_purge, []} - ]}, - {<<".*">>, []} - ] -}. + [{"4.3.2", + [{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]}]}, + {<<"4\\.3\\.[0-1]">>, + [{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]}, + {load_module,emqx_retainer,brutal_purge,soft_purge,[]}]}, + {<<".*">>,[]}], + [{"4.3.2", + [{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]}]}, + {<<"4\\.3\\.[0-1]">>, + [{load_module,emqx_retainer_cli,brutal_purge,soft_purge,[]}, + {load_module,emqx_retainer,brutal_purge,soft_purge,[]}]}, + {<<".*">>,[]}]}. diff --git a/apps/emqx_retainer/src/emqx_retainer_cli.erl b/apps/emqx_retainer/src/emqx_retainer_cli.erl index fe8fa9578..23fb98252 100644 --- a/apps/emqx_retainer/src/emqx_retainer_cli.erl +++ b/apps/emqx_retainer/src/emqx_retainer_cli.erl @@ -33,7 +33,9 @@ cmd(["info"]) -> cmd(["topics"]) -> case mnesia:dirty_all_keys(?TAB) of [] -> ignore; - Topics -> lists:foreach(fun(Topic) -> emqx_ctl:print("~s~n", [Topic]) end, Topics) + Topics -> lists:foreach(fun(Topic) -> + emqx_ctl:print("~s~n", [emqx_topic:join(Topic)]) + end, Topics) end; cmd(["clean"]) -> @@ -55,4 +57,3 @@ cmd(_) -> unload() -> emqx_ctl:unregister_command(retainer). - diff --git a/apps/emqx_retainer/test/emqx_retainer_cli_SUITE.erl b/apps/emqx_retainer/test/emqx_retainer_cli_SUITE.erl index f9f657483..2e60e9ac4 100644 --- a/apps/emqx_retainer/test/emqx_retainer_cli_SUITE.erl +++ b/apps/emqx_retainer/test/emqx_retainer_cli_SUITE.erl @@ -23,18 +23,32 @@ all() -> emqx_ct:all(?MODULE). -init_per_testcase(_TestCase, Config) -> +init_per_suite(Config) -> + emqx_ct_helpers:start_apps([emqx_retainer]), + Config. + +end_per_suite(_Config) -> + emqx_ct_helpers:stop_apps([emqx_retainer]). + +init_per_testcase(TestCase, Config) -> Config. end_per_testcase(_TestCase, Config) -> - Config. + emqx_retainer:clean(<<"#">>). -% t_cmd(_) -> -% error('TODO'). +t_cmd(_) -> + {ok, C1} = emqtt:start_link([{clean_start, true}, {proto_ver, v5}]), + {ok, _} = emqtt:connect(C1), + emqtt:publish(C1, <<"/retained">>, <<"this is a retained message">>, [{qos, 0}, {retain, true}]), + emqtt:publish(C1, <<"/retained/2">>, <<"this is a retained message">>, [{qos, 0}, {retain, true}]), + timer:sleep(1000), + ?assertMatch(ok, emqx_retainer_cli:cmd(["topics"])), + ?assertMatch(ok, emqx_retainer_cli:cmd(["info"])), + ?assertMatch(ok, emqx_retainer_cli:cmd(["clean", "retained"])), + ?assertMatch(ok, emqx_retainer_cli:cmd(["clean"])). % t_unload(_) -> % error('TODO'). % t_load(_) -> % error('TODO'). -