Feng Lee преди 6 години
родител
ревизия
7be110cdef
променени са 47 файла, в които са добавени 1219 реда и са изтрити 5 реда
  1. 54 0
      test/emqx_SUITE.erl
  2. 40 0
      test/emqx_access_control_SUITE.erl
  3. 37 0
      test/emqx_access_rule_SUITE.erl
  4. 67 0
      test/emqx_acl_cache_SUITE.erl
  5. 7 0
      test/emqx_base62_SUITE.erl
  6. 16 0
      test/emqx_batch_SUITE.erl
  7. 55 4
      test/emqx_broker_SUITE.erl
  8. 70 0
      test/emqx_broker_helper_SUITE.erl
  9. 24 0
      test/emqx_cm_SUITE.erl
  10. 43 0
      test/emqx_cm_locker_SUITE.erl
  11. 64 0
      test/emqx_cm_registry_SUITE.erl
  12. 8 0
      test/emqx_flapping_SUITE.erl
  13. 22 0
      test/emqx_guid_SUITE.erl
  14. 19 0
      test/emqx_hooks_SUITE.erl
  15. 13 0
      test/emqx_inflight_SUITE.erl
  16. 7 0
      test/emqx_keepalive_SUITE.erl
  17. 19 0
      test/emqx_listeners_SUITE.erl
  18. 76 0
      test/emqx_logger_SUITE.erl
  19. 20 1
      test/emqx_message_SUITE.erl
  20. 15 0
      test/emqx_metrics_SUITE.erl
  21. 46 0
      test/emqx_mod_acl_internal_SUITE.erl
  22. 44 0
      test/emqx_mod_presence_SUITE.erl
  23. 46 0
      test/emqx_mod_rewrite_SUITE.erl
  24. 40 0
      test/emqx_mod_subscription_SUITE.erl
  25. 7 0
      test/emqx_modules_SUITE.erl
  26. 8 0
      test/emqx_mqtt_caps_SUITE.erl
  27. 9 0
      test/emqx_mqtt_props_SUITE.erl
  28. 19 0
      test/emqx_mqueue_SUITE.erl
  29. 4 0
      test/emqx_oom_SUITE.erl
  30. 37 0
      test/emqx_os_mon_SUITE.erl
  31. 4 0
      test/emqx_packet_SUITE.erl
  32. 6 0
      test/emqx_pd_SUITE.erl
  33. 18 0
      test/emqx_plugins_SUITE.erl
  34. 11 0
      test/emqx_pmon_SUITE.erl
  35. 3 0
      test/emqx_pool_SUITE.erl
  36. 43 0
      test/emqx_pqueue_SUITE.erl
  37. 19 0
      test/emqx_reason_codes_SUITE.erl
  38. 18 0
      test/emqx_router_SUITE.erl
  39. 41 0
      test/emqx_router_helper_SUITE.erl
  40. 11 0
      test/emqx_rpc_SUITE.erl
  41. 17 0
      test/emqx_sequence_SUITE.erl
  42. 25 0
      test/emqx_shared_sub_SUITE.erl
  43. 13 0
      test/emqx_stats_SUITE.erl
  44. 22 0
      test/emqx_sys_SUITE.erl
  45. 3 0
      test/emqx_topic_SUITE.erl
  46. 17 0
      test/emqx_tracer_SUITE.erl
  47. 12 0
      test/emqx_vm_mon_SUITE.erl

+ 54 - 0
test/emqx_SUITE.erl

@@ -25,6 +25,7 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+
 init_per_suite(Config) ->
     emqx_ct_helpers:start_apps([]),
     Config.
@@ -32,6 +33,59 @@ init_per_suite(Config) ->
 end_per_suite(_Config) ->
     emqx_ct_helpers:stop_apps([]).
 
+
+t_start(_) ->
+    error('TODO').
+
+t_restart(_) ->
+    error('TODO').
+
+t_stop(_) ->
+    error('TODO').
+
+t_is_running(_) ->
+    error('TODO').
+
+t_subscribe(_) ->
+    error('TODO').
+
+t_publish(_) ->
+    error('TODO').
+
+t_unsubscribe(_) ->
+    error('TODO').
+
+t_topics(_) ->
+    error('TODO').
+
+t_subscribers(_) ->
+    error('TODO').
+
+t_subscriptions(_) ->
+    error('TODO').
+
+t_subscribed(_) ->
+    error('TODO').
+
+t_hook(_) ->
+    error('TODO').
+
+t_unhook(_) ->
+    error('TODO').
+
+t_run_hook(_) ->
+    error('TODO').
+
+t_run_fold_hook(_) ->
+    error('TODO').
+
+t_shutdown(_) ->
+    error('TODO').
+
+t_reboot(_) ->
+    error('TODO').
+
+
 t_get_env(_) ->
     ?assertEqual(undefined, emqx:get_env(undefined_key)),
     ?assertEqual(default_value, emqx:get_env(undefined_key, default_value)),

+ 40 - 0
test/emqx_access_control_SUITE.erl

@@ -0,0 +1,40 @@
+%%--------------------------------------------------------------------
+%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%%     http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%--------------------------------------------------------------------
+
+-module(emqx_access_control_SUITE).
+
+-compile(export_all).
+-compile(nowarn_export_all).
+
+-include_lib("eunit/include/eunit.hrl").
+
+all() -> emqx_ct:all(?MODULE).
+
+init_per_testcase(_TestCase, Config) ->
+    Config.
+
+end_per_testcase(_TestCase, Config) ->
+    Config.
+
+t_authenticate(_) ->
+    error('TODO').
+
+t_check_acl(_) ->
+    error('TODO').
+
+t_reload_acl(_) ->
+    error('TODO').
+

+ 37 - 0
test/emqx_access_rule_SUITE.erl

@@ -0,0 +1,37 @@
+%%--------------------------------------------------------------------
+%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%%     http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%--------------------------------------------------------------------
+
+-module(emqx_access_rule_SUITE).
+
+-compile(export_all).
+-compile(nowarn_export_all).
+
+-include_lib("eunit/include/eunit.hrl").
+
+all() -> emqx_ct:all(?MODULE).
+
+init_per_testcase(_TestCase, Config) ->
+    Config.
+
+end_per_testcase(_TestCase, Config) ->
+    Config.
+
+t_compile(_) ->
+    error('TODO').
+
+t_match(_) ->
+    error('TODO').
+

+ 67 - 0
test/emqx_acl_cache_SUITE.erl

@@ -0,0 +1,67 @@
+%%--------------------------------------------------------------------
+%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%%     http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%--------------------------------------------------------------------
+
+-module(emqx_acl_cache_SUITE).
+
+-compile(export_all).
+-compile(nowarn_export_all).
+
+-include_lib("eunit/include/eunit.hrl").
+
+all() -> emqx_ct:all(?MODULE).
+
+init_per_testcase(_TestCase, Config) ->
+    Config.
+
+end_per_testcase(_TestCase, Config) ->
+    Config.
+
+t_cache_k(_) ->
+    error('TODO').
+
+t_cache_v(_) ->
+    error('TODO').
+
+t_cleanup_acl_cache(_) ->
+    error('TODO').
+
+t_get_oldest_key(_) ->
+    error('TODO').
+
+t_get_newest_key(_) ->
+    error('TODO').
+
+t_get_cache_max_size(_) ->
+    error('TODO').
+
+t_get_cache_size(_) ->
+    error('TODO').
+
+t_dump_acl_cache(_) ->
+    error('TODO').
+
+t_empty_acl_cache(_) ->
+    error('TODO').
+
+t_put_acl_cache(_) ->
+    error('TODO').
+
+t_get_acl_cache(_) ->
+    error('TODO').
+
+t_is_enabled(_) ->
+    error('TODO').
+

+ 7 - 0
test/emqx_base62_SUITE.erl

@@ -24,6 +24,13 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+t_encode(_) ->
+    error('TODO').
+
+t_decode(_) ->
+    error('TODO').
+
+
 t_proper_base62(_) ->
     Opts = [{numtests, 100}, {to_file, user}],
     ?assert(proper:quickcheck(prop_symmetric(), Opts)),

+ 16 - 0
test/emqx_batch_SUITE.erl

@@ -23,6 +23,22 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+
+t_init(_) ->
+    error('TODO').
+
+t_push(_) ->
+    error('TODO').
+
+t_commit(_) ->
+    error('TODO').
+
+t_size(_) ->
+    error('TODO').
+
+t_items(_) ->
+    error('TODO').
+
 t_batch_full_commit(_) ->
     B0 = emqx_batch:init(#{batch_size => 3,
                            linger_ms => 2000,

+ 55 - 4
test/emqx_broker_SUITE.erl

@@ -27,10 +27,7 @@
 -include("emqx.hrl").
 -include("emqx_mqtt.hrl").
 
-all() ->
-    [{group, pubsub},
-     {group, metrics},
-     {group, stats}].
+all() -> emqx_ct:all(?MODULE).
 
 groups() ->
     [{pubsub, [sequence],
@@ -159,3 +156,57 @@ set_get_stat(_) ->
     emqx_stats:setstat('retained.max', 99),
     ?assertEqual(99, emqx_stats:getstat('retained.max')).
 
+
+t_dispatch(_) ->
+    error('TODO').
+
+t_subscriber_down(_) ->
+    error('TODO').
+
+t_get_subopts(_) ->
+    error('TODO').
+
+t_set_subopts(_) ->
+    error('TODO').
+
+t_topics(_) ->
+    error('TODO').
+
+t_stats_fun(_) ->
+    error('TODO').
+
+t_init(_) ->
+    error('TODO').
+
+t_handle_call(_) ->
+    error('TODO').
+
+t_handle_cast(_) ->
+    error('TODO').
+
+t_handle_info(_) ->
+    error('TODO').
+
+t_terminate(_) ->
+    error('TODO').
+
+t_code_change(_) ->
+    error('TODO').
+
+t_safe_publish(_) ->
+    error('TODO').
+
+t_subscribed(_) ->
+    error('TODO').
+
+t_subscriptions(_) ->
+    error('TODO').
+
+t_subscribers(_) ->
+    error('TODO').
+
+t_unsubscribe(_) ->
+    error('TODO').
+
+t_subscribe(_) ->
+    error('TODO').

+ 70 - 0
test/emqx_broker_helper_SUITE.erl

@@ -0,0 +1,70 @@
+%%--------------------------------------------------------------------
+%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%%     http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%--------------------------------------------------------------------
+
+-module(emqx_broker_helper_SUITE).
+
+-compile(export_all).
+-compile(nowarn_export_all).
+
+-include_lib("eunit/include/eunit.hrl").
+
+all() -> emqx_ct:all(?MODULE).
+
+init_per_testcase(_TestCase, Config) ->
+    Config.
+
+end_per_testcase(_TestCase, Config) ->
+    Config.
+
+t_start_link(_) ->
+    error('TODO').
+
+t_lookup_subid(_) ->
+    error('TODO').
+
+t_create_seq(_) ->
+    error('TODO').
+
+t_init(_) ->
+    error('TODO').
+
+t_handle_call(_) ->
+    error('TODO').
+
+t_handle_cast(_) ->
+    error('TODO').
+
+t_handle_info(_) ->
+    error('TODO').
+
+t_terminate(_) ->
+    error('TODO').
+
+t_code_change(_) ->
+    error('TODO').
+
+t_lookup_subpid(_) ->
+    error('TODO').
+
+t_reclaim_seq(_) ->
+    error('TODO').
+
+t_get_sub_shard(_) ->
+    error('TODO').
+
+t_register_sub(_) ->
+    error('TODO').
+

+ 24 - 0
test/emqx_cm_SUITE.erl

@@ -88,3 +88,27 @@ t_lock_clientid(_) ->
     {true, _Nodes} = emqx_cm_locker:unlock(<<"clientid">>),
     {true, _Nodes} = emqx_cm_locker:unlock(<<"clientid">>).
 
+
+t_unregister_channel(_) ->
+    error('TODO').
+
+t_get_chan_attrs(_) ->
+    error('TODO').
+
+t_get_chan_stats(_) ->
+    error('TODO').
+
+t_lookup_channels(_) ->
+    error('TODO').
+
+t_set_chan_stats(_) ->
+    error('TODO').
+
+t_set_chan_attrs(_) ->
+    error('TODO').
+
+t_register_channel(_) ->
+    error('TODO').
+
+t_stats_fun(_) ->
+    error('TODO').

+ 43 - 0
test/emqx_cm_locker_SUITE.erl

@@ -0,0 +1,43 @@
+%%--------------------------------------------------------------------
+%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%%     http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%--------------------------------------------------------------------
+
+-module(emqx_cm_locker_SUITE).
+
+-compile(export_all).
+-compile(nowarn_export_all).
+
+-include_lib("eunit/include/eunit.hrl").
+
+all() -> emqx_ct:all(?MODULE).
+
+init_per_testcase(_TestCase, Config) ->
+    Config.
+
+end_per_testcase(_TestCase, Config) ->
+    Config.
+
+t_start_link(_) ->
+    error('TODO').
+
+t_trans(_) ->
+    error('TODO').
+
+t_lock(_) ->
+    error('TODO').
+
+t_unlock(_) ->
+    error('TODO').
+

+ 64 - 0
test/emqx_cm_registry_SUITE.erl

@@ -0,0 +1,64 @@
+%%--------------------------------------------------------------------
+%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%%     http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%--------------------------------------------------------------------
+
+-module(emqx_cm_registry_SUITE).
+
+-compile(export_all).
+-compile(nowarn_export_all).
+
+-include_lib("eunit/include/eunit.hrl").
+
+all() -> emqx_ct:all(?MODULE).
+
+init_per_testcase(_TestCase, Config) ->
+    Config.
+
+end_per_testcase(_TestCase, Config) ->
+    Config.
+
+t_start_link(_) ->
+    error('TODO').
+
+t_init(_) ->
+    error('TODO').
+
+t_handle_call(_) ->
+    error('TODO').
+
+t_handle_cast(_) ->
+    error('TODO').
+
+t_handle_info(_) ->
+    error('TODO').
+
+t_terminate(_) ->
+    error('TODO').
+
+t_code_change(_) ->
+    error('TODO').
+
+t_lookup_channels(_) ->
+    error('TODO').
+
+t_is_enabled(_) ->
+    error('TODO').
+
+t_unregister_channel(_) ->
+    error('TODO').
+
+t_register_channel(_) ->
+    error('TODO').
+

+ 8 - 0
test/emqx_flapping_SUITE.erl

@@ -38,6 +38,14 @@ set_special_configs(_App) -> ok.
 end_per_suite(_Config) ->
     emqx_ct_helpers:stop_apps([]),
     ok.
+    
+    
+t_check(_) ->
+    error('TODO').
+
+t_detect(_) ->
+    error('TODO').
+
 
 t_detect_check(_) ->
     ClientInfo = #{zone => external,

+ 22 - 0
test/emqx_guid_SUITE.erl

@@ -39,4 +39,26 @@ t_guid_hexstr(_) ->
 t_guid_base62(_) ->
     Guid = emqx_guid:gen(),
     ?assertEqual(Guid, emqx_guid:from_base62(emqx_guid:to_base62(Guid))).
+    
+t_new(_) ->
+    error('TODO').
+
+t_timestamp(_) ->
+    error('TODO').
+
+t_to_hexstr(_) ->
+    error('TODO').
+
+t_from_hexstr(_) ->
+    error('TODO').
+
+t_from_base62(_) ->
+    error('TODO').
+
+t_to_base62(_) ->
+    error('TODO').
+
+t_gen(_) ->
+    error('TODO').
+
 

+ 19 - 0
test/emqx_hooks_SUITE.erl

@@ -23,6 +23,25 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+
+
+t_lookup(_) ->
+    error('TODO').
+
+
+t_run_fold(_) ->
+    error('TODO').
+
+t_run(_) ->
+    error('TODO').
+
+t_del(_) ->
+    error('TODO').
+
+t_add(_) ->
+    error('TODO').
+    
+
 t_add_del_hook(_) ->
     {ok, _} = emqx_hooks:start_link(),
     ok = emqx:hook(test_hook, fun ?MODULE:hook_fun1/1, []),

+ 13 - 0
test/emqx_inflight_SUITE.erl

@@ -24,6 +24,10 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+
+t_new(_) ->
+    error('TODO').
+    
 t_contain(_) ->
     Inflight = emqx_inflight:insert(k, v, emqx_inflight:new()),
     ?assert(emqx_inflight:contain(k, Inflight)),
@@ -90,3 +94,12 @@ t_window(_) ->
                          a, 1, emqx_inflight:new(2))),
     ?assertEqual([a, b], emqx_inflight:window(Inflight)).
 
+t_to_list(_) ->
+    error('TODO').
+
+t_size(_) ->
+    error('TODO').
+
+t_max_size(_) ->
+    error('TODO').
+

+ 7 - 0
test/emqx_keepalive_SUITE.erl

@@ -23,6 +23,13 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+
+t_init(_) ->
+    error('TODO').
+
+t_info(_) ->
+    error('TODO').
+
 t_check(_) ->
     Keepalive = emqx_keepalive:init(60),
     ?assertEqual(60, emqx_keepalive:info(interval, Keepalive)),

+ 19 - 0
test/emqx_listeners_SUITE.erl

@@ -89,4 +89,23 @@ get_base_dir(Module) ->
 
 get_base_dir() ->
     get_base_dir(?MODULE).
+    
+    
+t_start_listener(_) ->
+    error('TODO').
+
+t_restart(_) ->
+    error('TODO').
+
+t_restart_listener(_) ->
+    error('TODO').
+
+t_stop_listener(_) ->
+    error('TODO').
+
+t_stop(_) ->
+    error('TODO').
+
+t_start(_) ->
+    error('TODO').
 

+ 76 - 0
test/emqx_logger_SUITE.erl

@@ -0,0 +1,76 @@
+%%--------------------------------------------------------------------
+%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%%     http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%--------------------------------------------------------------------
+
+-module(emqx_logger_SUITE).
+
+-compile(export_all).
+-compile(nowarn_export_all).
+
+-include_lib("eunit/include/eunit.hrl").
+
+all() -> emqx_ct:all(?MODULE).
+
+init_per_testcase(_TestCase, Config) ->
+    Config.
+
+end_per_testcase(_TestCase, Config) ->
+    Config.
+
+t_debug(_) ->
+    error('TODO').
+
+t_info(_) ->
+    error('TODO').
+
+t_warning(_) ->
+    error('TODO').
+
+t_error(_) ->
+    error('TODO').
+
+t_critical(_) ->
+    error('TODO').
+
+t_set_proc_metadata(_) ->
+    error('TODO').
+
+t_get_primary_log_level(_) ->
+    error('TODO').
+
+t_set_primary_log_level(_) ->
+    error('TODO').
+
+t_get_log_handlers(_) ->
+    error('TODO').
+
+t_get_log_handler(_) ->
+    error('TODO').
+
+t_set_log_handler_level(_) ->
+    error('TODO').
+
+t_set_log_level(_) ->
+    error('TODO').
+
+t_parse_transform(_) ->
+    error('TODO').
+
+t_set_metadata_peername(_) ->
+    error('TODO').
+
+t_set_metadata_clientid(_) ->
+    error('TODO').
+

+ 20 - 1
test/emqx_message_SUITE.erl

@@ -91,6 +91,9 @@ t_undefined_headers(_) ->
     ?assertEqual(1, emqx_message:get_header(a, Msg1)),
     Msg2 = emqx_message:set_header(c, 3, Msg),
     ?assertEqual(3, emqx_message:get_header(c, Msg2)).
+      
+t_remove_header(_) ->
+    error('TODO').
 
 t_format(_) ->
     Msg = emqx_message:make(<<"clientid">>, <<"topic">>, <<"payload">>),
@@ -102,7 +105,7 @@ t_format(_) ->
                    },
     io:format("~s~n", [emqx_message:format(Msg1)]).
 
-t_expired(_) ->
+t_is_expired(_) ->
     Msg = emqx_message:make(<<"clientid">>, <<"topic">>, <<"payload">>),
     ?assertNot(emqx_message:is_expired(Msg)),
     Msg1 = emqx_message:set_headers(#{'Message-Expiry-Interval' => 1}, Msg),
@@ -115,6 +118,10 @@ t_expired(_) ->
     Msg2 = emqx_message:update_expiry(Msg1),
     ?assertEqual(1, emqx_message:get_header('Message-Expiry-Interval', Msg2)).
 
+
+t_to_list(_) ->
+    error('TODO').
+    
 t_to_packet(_) ->
     Pkt = #mqtt_packet{header = #mqtt_packet_header{type   = ?PUBLISH,
                                                     qos    = ?QOS_0,
@@ -139,4 +146,16 @@ t_to_map(_) ->
             {timestamp, emqx_message:timestamp(Msg)}],
     ?assertEqual(List, emqx_message:to_list(Msg)),
     ?assertEqual(maps:from_list(List), emqx_message:to_map(Msg)).
+    
+t_update_expiry(_) ->
+    error('TODO').
+
+t_set_header(_) ->
+    error('TODO').
+
+t_set_flag(_) ->
+    error('TODO').
+
+t_set_headers(_) ->
+    error('TODO').
 

+ 15 - 0
test/emqx_metrics_SUITE.erl

@@ -24,6 +24,21 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+t_val(_) ->
+    error('TODO').
+
+t_dec(_) ->
+    error('TODO').
+
+t_set(_) ->
+    error('TODO').
+
+t_commit(_) ->
+    error('TODO').
+
+t_inc(_) ->
+    error('TODO').
+
 t_new(_) ->
     with_metrics_server(
       fun() ->

+ 46 - 0
test/emqx_mod_acl_internal_SUITE.erl

@@ -0,0 +1,46 @@
+%%--------------------------------------------------------------------
+%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%%     http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%--------------------------------------------------------------------
+
+-module(emqx_mod_acl_internal_SUITE).
+
+-compile(export_all).
+-compile(nowarn_export_all).
+
+-include_lib("eunit/include/eunit.hrl").
+
+all() -> emqx_ct:all(?MODULE).
+
+init_per_testcase(_TestCase, Config) ->
+    Config.
+
+end_per_testcase(_TestCase, Config) ->
+    Config.
+
+t_load(_) ->
+    error('TODO').
+
+t_unload(_) ->
+    error('TODO').
+
+t_all_rules(_) ->
+    error('TODO').
+
+t_check_acl(_) ->
+    error('TODO').
+
+t_reload_acl(_) ->
+    error('TODO').
+

+ 44 - 0
test/emqx_mod_presence_SUITE.erl

@@ -0,0 +1,44 @@
+%%--------------------------------------------------------------------
+%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%%     http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%--------------------------------------------------------------------
+
+-module(emqx_mod_presence_SUITE).
+
+-compile(export_all).
+-compile(nowarn_export_all).
+
+-include_lib("eunit/include/eunit.hrl").
+
+all() -> emqx_ct:all(?MODULE).
+
+init_per_testcase(_TestCase, Config) ->
+    Config.
+
+end_per_testcase(_TestCase, Config) ->
+    Config.
+
+t_load(_) ->
+    error('TODO').
+
+t_unload(_) ->
+    error('TODO').
+
+t_on_client_connected(_) ->
+    error('TODO').
+
+t_on_client_disconnected(_) ->
+    error('TODO').
+
+

+ 46 - 0
test/emqx_mod_rewrite_SUITE.erl

@@ -0,0 +1,46 @@
+%%--------------------------------------------------------------------
+%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%%     http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%--------------------------------------------------------------------
+
+-module(emqx_mod_rewrite_SUITE).
+
+-compile(export_all).
+-compile(nowarn_export_all).
+
+-include_lib("eunit/include/eunit.hrl").
+
+all() -> emqx_ct:all(?MODULE).
+
+init_per_testcase(_TestCase, Config) ->
+    Config.
+
+end_per_testcase(_TestCase, Config) ->
+    Config.
+
+t_load(_) ->
+    error('TODO').
+
+t_rewrite_subscribe(_) ->
+    error('TODO').
+
+t_rewrite_unsubscribe(_) ->
+    error('TODO').
+
+t_rewrite_publish(_) ->
+    error('TODO').
+
+t_unload(_) ->
+    error('TODO').
+

+ 40 - 0
test/emqx_mod_subscription_SUITE.erl

@@ -0,0 +1,40 @@
+%%--------------------------------------------------------------------
+%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%%     http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%--------------------------------------------------------------------
+
+-module(emqx_mod_subscription_SUITE).
+
+-compile(export_all).
+-compile(nowarn_export_all).
+
+-include_lib("eunit/include/eunit.hrl").
+
+all() -> emqx_ct:all(?MODULE).
+
+init_per_testcase(_TestCase, Config) ->
+    Config.
+
+end_per_testcase(_TestCase, Config) ->
+    Config.
+
+t_load(_) ->
+    error('TODO').
+
+t_on_client_connected(_) ->
+    error('TODO').
+
+t_unload(_) ->
+    error('TODO').
+

+ 7 - 0
test/emqx_modules_SUITE.erl

@@ -52,6 +52,13 @@ end_per_suite(_Config) ->
 %% Test cases
 %%--------------------------------------------------------------------
 
+t_unload(_) ->
+    error('TODO').
+
+t_load(_) ->
+    error('TODO').
+
+
 %% Test case for emqx_mod_presence
 t_mod_presence(_) ->
     ok = emqx_mod_presence:load([{qos, ?QOS_1}]),

+ 8 - 0
test/emqx_mqtt_caps_SUITE.erl

@@ -24,6 +24,14 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+
+t_get_caps(_) ->
+    error('TODO').
+
+t_default(_) ->
+    error('TODO').
+
+
 t_check_pub(_) ->
     PubCaps = #{max_qos_allowed => ?QOS_1,
                 retain_available => false

+ 9 - 0
test/emqx_mqtt_props_SUITE.erl

@@ -78,3 +78,12 @@ t_validate_value(_) ->
 foreach_prop(Fun) ->
     lists:foreach(Fun, maps:to_list(emqx_mqtt_props:all())).
 
+
+t_all(_) ->
+    error('TODO').
+
+t_set(_) ->
+    error('TODO').
+
+t_get(_) ->
+    error('TODO').

+ 19 - 0
test/emqx_mqueue_SUITE.erl

@@ -28,6 +28,25 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+
+t_init(_) ->
+    error('TODO').
+
+t_is_empty(_) ->
+    error('TODO').
+
+t_len(_) ->
+    error('TODO').
+
+t_max_len(_) ->
+    error('TODO').
+
+t_dropped(_) ->
+    error('TODO').
+
+t_stats(_) ->
+    error('TODO').
+
 t_in(_) ->
     Opts = #{max_len => 5, store_qos0 => true},
     Q = ?Q:init(Opts),

+ 4 - 0
test/emqx_oom_SUITE.erl

@@ -41,4 +41,8 @@ t_check(_) ->
     ?assertEqual(ok, emqx_oom:check(Oom)),
     [self() ! {msg, I} || I <- lists:seq(1, 6)],
     ?assertEqual({shutdown, message_queue_too_long}, emqx_oom:check(Oom)).
+    
+    
+t_info(_) ->
+    error('TODO').
 

+ 37 - 0
test/emqx_os_mon_SUITE.erl

@@ -29,6 +29,43 @@ init_per_suite(Config) ->
 
 end_per_suite(_Config) ->
     application:stop(os_mon).
+    
+    
+t_get_cpu_check_interval(_) ->
+    error('TODO').
+
+t_set_cpu_check_interval(_) ->
+    error('TODO').
+
+t_get_cpu_high_watermark(_) ->
+    error('TODO').
+
+t_set_cpu_high_watermark(_) ->
+    error('TODO').
+
+t_get_cpu_low_watermark(_) ->
+    error('TODO').
+
+t_set_cpu_low_watermark(_) ->
+    error('TODO').
+
+t_get_mem_check_interval(_) ->
+    error('TODO').
+
+t_set_mem_check_interval(_) ->
+    error('TODO').
+
+t_get_sysmem_high_watermark(_) ->
+    error('TODO').
+
+t_set_sysmem_high_watermark(_) ->
+    error('TODO').
+
+t_get_procmem_high_watermark(_) ->
+    error('TODO').
+
+t_set_procmem_high_watermark(_) ->
+    error('TODO').
 
 t_api(_) ->
     gen_event:swap_handler(alarm_handler, {emqx_alarm_handler, swap}, {alarm_handler, []}),

+ 4 - 0
test/emqx_packet_SUITE.erl

@@ -172,6 +172,10 @@ t_will_msg(_) ->
     Msg = emqx_packet:will_msg(Pkt),
     ?assertEqual(<<"clientid">>, Msg#message.from),
     ?assertEqual(<<"topic">>, Msg#message.topic).
+    
+t_to_message(_) ->
+    error('TODO').
+
 
 t_format(_) ->
     io:format("~s", [emqx_packet:format(?CONNECT_PACKET(#mqtt_packet_connect{}))]),

+ 6 - 0
test/emqx_pd_SUITE.erl

@@ -23,6 +23,12 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+t_get_counter(_) ->
+    error('TODO').
+
+t_reset_counter(_) ->
+    error('TODO').
+
 t_update_counter(_) ->
     ?assertEqual(undefined, emqx_pd:update_counter(bytes, 1)),
     ?assertEqual(1, emqx_pd:update_counter(bytes, 1)),

+ 18 - 0
test/emqx_plugins_SUITE.erl

@@ -23,6 +23,7 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+
 init_per_suite(Config) ->
 
     %% Compile extra plugin code
@@ -41,6 +42,23 @@ init_per_suite(Config) ->
     emqx_ct_helpers:start_apps([], fun set_sepecial_cfg/1),
 
     Config.
+    
+    
+t_load_expand_plugin(_) ->
+    error('TODO').
+
+t_list(_) ->
+    error('TODO').
+
+t_find_plugin(_) ->
+    error('TODO').
+
+t_unload(_) ->
+    error('TODO').
+
+
+t_init(_) ->
+    error('TODO').
 
 set_sepecial_cfg(_) ->
     ExpandPath = filename:dirname(code:lib_dir(emqx_mini_plugin)),

+ 11 - 0
test/emqx_pmon_SUITE.erl

@@ -23,6 +23,12 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+t_new(_) ->
+    error('TODO').
+
+t_count(_) ->
+    error('TODO').
+
 t_monitor(_) ->
     PMon = emqx_pmon:new(),
     PMon1 = emqx_pmon:monitor(self(), PMon),
@@ -31,6 +37,9 @@ t_monitor(_) ->
     PMon2 = emqx_pmon:demonitor(self(), PMon2),
     ?assertEqual(0, emqx_pmon:count(PMon2)).
 
+t_demonitor(_) ->
+    error('TODO').
+
 t_find(_) ->
     PMon = emqx_pmon:new(),
     PMon1 = emqx_pmon:monitor(self(), val, PMon),
@@ -51,3 +60,5 @@ t_erase(_) ->
     ?assertEqual([{self(), val}], Items),
     ?assertEqual(0, emqx_pmon:count(PMon3)).
 
+t_erase_all(_) ->
+    error('TODO').

+ 3 - 0
test/emqx_pool_SUITE.erl

@@ -86,3 +86,6 @@ t_unexpected(_) ->
 test_mfa() ->
     lists:foldl(fun(X, Sum) -> X + Sum end, 0, [1,2,3,4,5]).
 
+
+t_async_submit(_) ->
+    error('TODO').

+ 43 - 0
test/emqx_pqueue_SUITE.erl

@@ -26,6 +26,49 @@
 
 all() -> emqx_ct:all(?SUITE).
 
+
+t_is_queue(_) ->
+    error('TODO').
+
+t_is_empty(_) ->
+    error('TODO').
+
+t_to_list(_) ->
+    error('TODO').
+
+t_from_list(_) ->
+    error('TODO').
+
+t_in(_) ->
+    error('TODO').
+
+t_out_p(_) ->
+    error('TODO').
+
+t_join(_) ->
+    error('TODO').
+
+t_filter(_) ->
+    error('TODO').
+
+t_fold(_) ->
+    error('TODO').
+
+t_highest(_) ->
+    error('TODO').
+
+t_out(_) ->
+    error('TODO').
+
+t_len(_) ->
+    error('TODO').
+
+t_plen(_) ->
+    error('TODO').
+
+t_new(_) ->
+    error('TODO').
+
 t_priority_queue_plen(_) ->
     Q = ?PQ:new(),
     0 = ?PQ:plen(0, Q),

+ 19 - 0
test/emqx_reason_codes_SUITE.erl

@@ -25,6 +25,25 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+
+t_name(_) ->
+    error('TODO').
+
+t_text(_) ->
+    error('TODO').
+
+t_mqtt_frame_error(_) ->
+    error('TODO').
+
+t_connack_error(_) ->
+    error('TODO').
+
+t_compat(_) ->
+    error('TODO').
+
+t_formalized(_) ->
+    error('TODO').
+
 t_prop_name_text(_) ->
     ?assert(proper:quickcheck(prop_name_text(), prop_name_text(opts))).
 

+ 18 - 0
test/emqx_router_SUITE.erl

@@ -45,6 +45,24 @@ t_mnesia(_) ->
     %% for coverage
     ok = emqx_router:mnesia(copy).
 
+t_add_route(_) ->
+    error('TODO').
+
+t_do_add_route(_) ->
+    error('TODO').
+
+t_lookup_routes(_) ->
+    error('TODO').
+
+t_delete_route(_) ->
+    error('TODO').
+
+t_do_delete_route(_) ->
+    error('TODO').
+
+t_topics(_) ->
+    error('TODO').
+
 t_add_delete(_) ->
     ?R:add_route(<<"a/b/c">>),
     ?R:add_route(<<"a/b/c">>, node()),

+ 41 - 0
test/emqx_router_helper_SUITE.erl

@@ -0,0 +1,41 @@
+%%--------------------------------------------------------------------
+%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%%     http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%--------------------------------------------------------------------
+
+-module(emqx_router_helper_SUITE).
+
+-compile(export_all).
+-compile(nowarn_export_all).
+
+-include_lib("eunit/include/eunit.hrl").
+
+all() -> emqx_ct:all(?MODULE).
+
+init_per_testcase(_TestCase, Config) ->
+    Config.
+
+end_per_testcase(_TestCase, Config) ->
+    Config.
+
+t_mnesia(_) ->
+    error('TODO').
+
+
+t_monitor(_) ->
+    error('TODO').
+
+t_stats_fun(_) ->
+    error('TODO').
+

+ 11 - 0
test/emqx_rpc_SUITE.erl

@@ -24,6 +24,17 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+t_multicall(_) ->
+    error('TODO').
+
+t_cast(_) ->
+    error('TODO').
+
+t_call(_) ->
+    error('TODO').
+
+
+
 t_prop_rpc(_) ->
     ok = load(),
     Opts = [{to_file, user}, {numtests, 10}],

+ 17 - 0
test/emqx_sequence_SUITE.erl

@@ -29,6 +29,23 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+
+t_currval(_) ->
+    error('TODO').
+
+t_delete(_) ->
+    error('TODO').
+
+t_create(_) ->
+    error('TODO').
+
+t_reclaim(_) ->
+    error('TODO').
+
+t_nextval(_) ->
+    error('TODO').
+
+
 t_generate(_) ->
     ok = emqx_sequence:create(seqtab),
     ?assertEqual(0, currval(seqtab, key)),

+ 25 - 0
test/emqx_shared_sub_SUITE.erl

@@ -38,6 +38,21 @@ init_per_suite(Config) ->
 
 end_per_suite(_Config) ->
     emqx_ct_helpers:stop_apps([]).
+    
+    t_is_ack_required(_) ->
+    error('TODO').
+
+t_maybe_nack_dropped(_) ->
+    error('TODO').
+
+t_nack_no_connection(_) ->
+    error('TODO').
+
+t_maybe_ack(_) ->
+    error('TODO').
+
+t_subscribers(_) ->
+    error('TODO').
 
 t_random_basic(_) ->
     ok = ensure_config(random),
@@ -223,6 +238,16 @@ last_message(ExpectedPayload, Pids) ->
     after 100 ->
         <<"not yet?">>
     end.
+    
+t_dispatch(_) ->
+    error('TODO').
+
+t_unsubscribe(_) ->
+    error('TODO').
+
+t_subscribe(_) ->
+    error('TODO').
+
 
 %%--------------------------------------------------------------------
 %% help functions

+ 13 - 0
test/emqx_stats_SUITE.erl

@@ -23,6 +23,19 @@
 
 all() -> emqx_ct:all(?MODULE).
 
+
+t_statsfun(_) ->
+    error('TODO').
+
+t_getstats(_) ->
+    error('TODO').
+
+t_getstat(_) ->
+    error('TODO').
+
+t_setstat(_) ->
+    error('TODO').
+
 t_get_state(_) ->
     with_proc(fun() ->
         SetConnsCount = emqx_stats:statsfun('connections.count'),

+ 22 - 0
test/emqx_sys_SUITE.erl

@@ -42,6 +42,28 @@ end_per_suite(_Config) ->
     application:unload(emqx),
     ok = emqx_logger:set_log_level(error),
     ok.
+    
+    t_version(_) ->
+    error('TODO').
+
+t_sysdescr(_) ->
+    error('TODO').
+
+t_uptime(_) ->
+    error('TODO').
+
+t_datetime(_) ->
+    error('TODO').
+
+t_sys_interval(_) ->
+    error('TODO').
+
+t_sys_heatbeat_interval(_) ->
+    error('TODO').
+
+t_info(_) ->
+    error('TODO').
+
 
 t_prop_sys(_) ->
     Opts = [{numtests, 100}, {to_file, user}],

+ 3 - 0
test/emqx_topic_SUITE.erl

@@ -230,3 +230,6 @@ bench(Case, Fun, Args) ->
     ct:pal("Time consumed by ~s: ~.3f(us)~nCall ~s per second: ~w",
            [Case, Time/?N, Case, (?N * 1000000) div Time]).
 
+
+t_match(_) ->
+    error('TODO').

+ 17 - 0
test/emqx_tracer_SUITE.erl

@@ -32,6 +32,7 @@ init_per_suite(Config) ->
 
 end_per_suite(_Config) ->
     emqx_ct_helpers:stop_apps([]).
+    
 
 t_start_traces(_Config) ->
     {ok, T} = emqtt:start_link([{host, "localhost"},
@@ -80,3 +81,19 @@ t_start_traces(_Config) ->
     emqtt:disconnect(T),
 
     emqx_logger:set_log_level(warning).
+    
+    
+t_start_trace(_) ->
+    error('TODO').
+
+t_stop_trace(_) ->
+    error('TODO').
+
+t_lookup_traces(_) ->
+    error('TODO').
+
+
+
+t_trace(_) ->
+    error('TODO').
+

+ 12 - 0
test/emqx_vm_mon_SUITE.erl

@@ -38,6 +38,18 @@ init_per_suite(Config) ->
 
 end_per_suite(_Config) ->
     application:stop(sasl).
+    
+    t_get_process_high_watermark(_) ->
+    error('TODO').
+
+t_set_process_high_watermark(_) ->
+    error('TODO').
+
+t_get_process_low_watermark(_) ->
+    error('TODO').
+
+t_set_process_low_watermark(_) ->
+    error('TODO').
 
 t_api(_) ->
     meck:new(alarm_handler, [passthrough, no_history]),