From 8c1af879d352369a5fb3657055411ff86e158f40 Mon Sep 17 00:00:00 2001 From: huangdan Date: Mon, 15 Aug 2016 11:29:12 +0800 Subject: [PATCH 1/2] emqttd_app eunit --- src/emqttd_app.erl | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/emqttd_app.erl b/src/emqttd_app.erl index 011bd8fe5..899258c7b 100644 --- a/src/emqttd_app.erl +++ b/src/emqttd_app.erl @@ -159,8 +159,7 @@ load_mod({module, Name, Opts}) -> %% @doc Is module enabled? -spec(is_mod_enabled(Name :: atom()) -> boolean()). -is_mod_enabled(Name) -> - lists:keyfind(Name, 2, gen_conf:list(emqttd, module)). +is_mod_enabled(Name) -> lists:keyfind(Name, 2, gen_conf:list(emqttd, module)). %%-------------------------------------------------------------------- %% Start Listeners @@ -206,3 +205,18 @@ stop_listeners() -> lists:foreach(fun stop_listener/1, gen_conf:list(listener)). %% @private stop_listener({listener, Protocol, ListenOn, _Opts}) -> esockd:close(Protocol, ListenOn). +-ifdef(TEST). +-include_lib("eunit/include/eunit.hrl"). +merge_sockopts_test_() -> + Opts = [{acceptors, 16}, {max_clients, 512}], + ?_assert(merge_sockopts(Opts) == [{sockopts, [binary, {packet, raw}, {reuseaddr, true}, + {backlog, 512}, {nodelay, true}]}, {acceptors, 16}, {max_clients, 512}]). + +load_all_mods_test_() -> + ?_assert(load_all_mods() == ok). + +is_mod_enabled_test_() -> + ?_assert(is_mod_enabled(presence) == {module, presence, [{qos, 0}]}), + ?_assert(is_mod_enabled(test) == false). + +-endif. From c5e88ab1a4993c5098324209702f8f237ad1d945 Mon Sep 17 00:00:00 2001 From: huangdan Date: Mon, 15 Aug 2016 15:36:52 +0800 Subject: [PATCH 2/2] emqttd_ctl eunit --- src/emqttd_ctl.erl | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/emqttd_ctl.erl b/src/emqttd_ctl.erl index 2f406bef0..1cd5d3055 100644 --- a/src/emqttd_ctl.erl +++ b/src/emqttd_ctl.erl @@ -133,3 +133,20 @@ noreply(State) -> next_seq(State = #state{seq = Seq}) -> State#state{seq = Seq + 1}. +-ifdef(TEST). +-include_lib("eunit/include/eunit.hrl"). +register_cmd_test_() -> + {setup, + fun() -> + {ok, InitState} = emqttd_ctl:init([]), + InitState + end, + fun(State) -> + ok = emqttd_ctl:terminate(shutdown, State) + end, + fun(State = #state{seq = Seq}) -> + emqttd_ctl:handle_cast({register_cmd, test0, {?MODULE, test0}, []}, State), + [?_assertMatch([{{0,test0},{?MODULE, test0}, []}], ets:lookup(?CMD_TAB, {Seq,test0}))] + end + }. +-endif.