From 7ea75f428939d2fa9dcc3125a47a7230142e7436 Mon Sep 17 00:00:00 2001 From: zhouzb Date: Fri, 3 Jan 2020 11:08:04 +0800 Subject: [PATCH 01/12] Update copyright --- include/emqx.hrl | 2 +- include/emqx_mqtt.hrl | 2 +- include/logger.hrl | 2 +- include/types.hrl | 2 +- src/emqx.erl | 4 ++-- src/emqx_access_control.erl | 2 +- src/emqx_access_rule.erl | 2 +- src/emqx_acl_cache.erl | 2 +- src/emqx_alarm_handler.erl | 2 +- src/emqx_app.erl | 2 +- src/emqx_banned.erl | 2 +- src/emqx_base62.erl | 2 +- src/emqx_batch.erl | 2 +- src/emqx_boot.erl | 2 +- src/emqx_broker.erl | 2 +- src/emqx_broker_helper.erl | 2 +- src/emqx_broker_sup.erl | 2 +- src/emqx_channel.erl | 2 +- src/emqx_cm.erl | 2 +- src/emqx_cm_locker.erl | 2 +- src/emqx_cm_registry.erl | 2 +- src/emqx_cm_sup.erl | 2 +- src/emqx_connection.erl | 2 +- src/emqx_ctl.erl | 2 +- src/emqx_flapping.erl | 2 +- src/emqx_frame.erl | 2 +- src/emqx_gc.erl | 2 +- src/emqx_gen_mod.erl | 2 +- src/emqx_guid.erl | 2 +- src/emqx_hooks.erl | 2 +- src/emqx_inflight.erl | 2 +- src/emqx_json.erl | 2 +- src/emqx_keepalive.erl | 2 +- src/emqx_kernel_sup.erl | 2 +- src/emqx_limiter.erl | 2 +- src/emqx_listeners.erl | 2 +- src/emqx_logger.erl | 2 +- src/emqx_message.erl | 2 +- src/emqx_metrics.erl | 2 +- src/emqx_misc.erl | 2 +- src/emqx_mod_acl_internal.erl | 2 +- src/emqx_mod_presence.erl | 2 +- src/emqx_mod_rewrite.erl | 2 +- src/emqx_mod_subscription.erl | 2 +- src/emqx_mod_sup.erl | 2 +- src/emqx_modules.erl | 2 +- src/emqx_mountpoint.erl | 2 +- src/emqx_mqtt_caps.erl | 2 +- src/emqx_mqtt_props.erl | 2 +- src/emqx_mqueue.erl | 2 +- src/emqx_os_mon.erl | 2 +- src/emqx_packet.erl | 2 +- src/emqx_pd.erl | 2 +- src/emqx_plugins.erl | 2 +- src/emqx_pmon.erl | 2 +- src/emqx_pool.erl | 2 +- src/emqx_pool_sup.erl | 2 +- src/emqx_psk.erl | 2 +- src/emqx_reason_codes.erl | 2 +- src/emqx_router.erl | 2 +- src/emqx_router_helper.erl | 2 +- src/emqx_router_sup.erl | 2 +- src/emqx_rpc.erl | 2 +- src/emqx_sequence.erl | 2 +- src/emqx_session.erl | 2 +- src/emqx_shared_sub.erl | 2 +- src/emqx_stats.erl | 2 +- src/emqx_sup.erl | 2 +- src/emqx_sys.erl | 2 +- src/emqx_sys_mon.erl | 2 +- src/emqx_sys_sup.erl | 2 +- src/emqx_tables.erl | 2 +- src/emqx_topic.erl | 2 +- src/emqx_tracer.erl | 2 +- src/emqx_trie.erl | 2 +- src/emqx_types.erl | 2 +- src/emqx_vm.erl | 2 +- src/emqx_vm_mon.erl | 2 +- src/emqx_ws_connection.erl | 2 +- src/emqx_zone.erl | 2 +- test/emqx_SUITE.erl | 2 +- test/emqx_access_SUITE.erl | 2 +- test/emqx_access_control_SUITE.erl | 2 +- test/emqx_access_rule_SUITE.erl | 2 +- test/emqx_acl_cache_SUITE.erl | 2 +- test/emqx_acl_test_mod.erl | 2 +- test/emqx_alarm_handler_SUITE.erl | 2 +- test/emqx_banned_SUITE.erl | 2 +- test/emqx_base62_SUITE.erl | 2 +- test/emqx_batch_SUITE.erl | 2 +- test/emqx_boot_SUITE.erl | 2 +- test/emqx_broker_SUITE.erl | 2 +- test/emqx_broker_helper_SUITE.erl | 2 +- test/emqx_channel_SUITE.erl | 2 +- test/emqx_client_SUITE.erl | 2 +- test/emqx_cm_SUITE.erl | 2 +- test/emqx_cm_locker_SUITE.erl | 2 +- test/emqx_cm_registry_SUITE.erl | 2 +- test/emqx_connection_SUITE.erl | 2 +- test/emqx_ctl_SUITE.erl | 2 +- test/emqx_flapping_SUITE.erl | 2 +- test/emqx_frame_SUITE.erl | 2 +- test/emqx_gc_SUITE.erl | 2 +- test/emqx_guid_SUITE.erl | 2 +- test/emqx_hooks_SUITE.erl | 2 +- test/emqx_inflight_SUITE.erl | 2 +- test/emqx_json_SUITE.erl | 2 +- test/emqx_keepalive_SUITE.erl | 2 +- test/emqx_limiter_SUITE.erl | 2 +- test/emqx_listeners_SUITE.erl | 2 +- test/emqx_logger_SUITE.erl | 2 +- test/emqx_message_SUITE.erl | 2 +- test/emqx_metrics_SUITE.erl | 2 +- test/emqx_misc_SUITE.erl | 2 +- test/emqx_mod_acl_internal_SUITE.erl | 2 +- test/emqx_mod_presence_SUITE.erl | 2 +- test/emqx_mod_rewrite_SUITE.erl | 2 +- test/emqx_mod_subscription_SUITE.erl | 2 +- test/emqx_mod_sup_SUITE.erl | 2 +- test/emqx_mountpoint_SUITE.erl | 2 +- test/emqx_mqtt_SUITE.erl | 2 +- test/emqx_mqtt_caps_SUITE.erl | 2 +- test/emqx_mqtt_props_SUITE.erl | 2 +- test/emqx_mqueue_SUITE.erl | 2 +- test/emqx_os_mon_SUITE.erl | 2 +- test/emqx_packet_SUITE.erl | 2 +- test/emqx_pd_SUITE.erl | 2 +- test/emqx_plugins_SUITE.erl | 2 +- test/emqx_pmon_SUITE.erl | 2 +- test/emqx_pool_SUITE.erl | 2 +- test/emqx_pqueue_SUITE.erl | 2 +- test/emqx_psk_SUITE.erl | 2 +- test/emqx_reason_codes_SUITE.erl | 2 +- test/emqx_request_handler.erl | 2 +- test/emqx_request_sender.erl | 2 +- test/emqx_router_SUITE.erl | 2 +- test/emqx_router_helper_SUITE.erl | 2 +- test/emqx_rpc_SUITE.erl | 2 +- test/emqx_sequence_SUITE.erl | 2 +- test/emqx_session_SUITE.erl | 2 +- test/emqx_shared_sub_SUITE.erl | 2 +- test/emqx_stats_SUITE.erl | 2 +- test/emqx_sup_SUITE.erl | 2 +- test/emqx_sys_SUITE.erl | 2 +- test/emqx_sys_mon_SUITE.erl | 2 +- test/emqx_tables_SUITE.erl | 2 +- test/emqx_topic_SUITE.erl | 2 +- test/emqx_tracer_SUITE.erl | 2 +- test/emqx_trie_SUITE.erl | 2 +- test/emqx_vm_SUITE.erl | 2 +- test/emqx_vm_mon_SUITE.erl | 2 +- test/emqx_ws_connection_SUITE.erl | 2 +- test/emqx_zone_SUITE.erl | 2 +- 153 files changed, 154 insertions(+), 154 deletions(-) diff --git a/include/emqx.hrl b/include/emqx.hrl index 61be78d75..87bc520cb 100644 --- a/include/emqx.hrl +++ b/include/emqx.hrl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/include/emqx_mqtt.hrl b/include/emqx_mqtt.hrl index 4183b755b..152846a1b 100644 --- a/include/emqx_mqtt.hrl +++ b/include/emqx_mqtt.hrl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/include/logger.hrl b/include/logger.hrl index ae062b313..eb669a3fa 100644 --- a/include/logger.hrl +++ b/include/logger.hrl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/include/types.hrl b/include/types.hrl index 41b7ad50e..0cd10246c 100644 --- a/include/types.hrl +++ b/include/types.hrl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx.erl b/src/emqx.erl index 097b4b6c5..c21f252d5 100644 --- a/src/emqx.erl +++ b/src/emqx.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. @@ -65,7 +65,7 @@ -define(APP, ?MODULE). --define(COPYRIGHT, "Copyright (c) 2019 EMQ Technologies Co., Ltd"). +-define(COPYRIGHT, "Copyright (c) 2020 EMQ Technologies Co., Ltd"). -define(LICENSE_MESSAGE, "Licensed under the Apache License, Version 2.0"). diff --git a/src/emqx_access_control.erl b/src/emqx_access_control.erl index 28bb30cba..4ee62a42e 100644 --- a/src/emqx_access_control.erl +++ b/src/emqx_access_control.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_access_rule.erl b/src/emqx_access_rule.erl index b9ba7ef05..89943cdbd 100644 --- a/src/emqx_access_rule.erl +++ b/src/emqx_access_rule.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_acl_cache.erl b/src/emqx_acl_cache.erl index d94c165e8..ef549d8d3 100644 --- a/src/emqx_acl_cache.erl +++ b/src/emqx_acl_cache.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_alarm_handler.erl b/src/emqx_alarm_handler.erl index ceb34acb7..e37c530a6 100644 --- a/src/emqx_alarm_handler.erl +++ b/src/emqx_alarm_handler.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_app.erl b/src/emqx_app.erl index 8eacdca48..689a1b69e 100644 --- a/src/emqx_app.erl +++ b/src/emqx_app.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_banned.erl b/src/emqx_banned.erl index 6f2a31766..1ca0ecf8f 100644 --- a/src/emqx_banned.erl +++ b/src/emqx_banned.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_base62.erl b/src/emqx_base62.erl index 979821d06..52728faab 100644 --- a/src/emqx_base62.erl +++ b/src/emqx_base62.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_batch.erl b/src/emqx_batch.erl index c5ea3c598..c6b805e4e 100644 --- a/src/emqx_batch.erl +++ b/src/emqx_batch.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_boot.erl b/src/emqx_boot.erl index aa89449cc..015a1a95e 100644 --- a/src/emqx_boot.erl +++ b/src/emqx_boot.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_broker.erl b/src/emqx_broker.erl index a5ab536da..cdf22f9d9 100644 --- a/src/emqx_broker.erl +++ b/src/emqx_broker.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_broker_helper.erl b/src/emqx_broker_helper.erl index 3364ffc98..e0452fbcb 100644 --- a/src/emqx_broker_helper.erl +++ b/src/emqx_broker_helper.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_broker_sup.erl b/src/emqx_broker_sup.erl index 325019ef6..8f62e5111 100644 --- a/src/emqx_broker_sup.erl +++ b/src/emqx_broker_sup.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_channel.erl b/src/emqx_channel.erl index 1be58cdb4..7cb25848d 100644 --- a/src/emqx_channel.erl +++ b/src/emqx_channel.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_cm.erl b/src/emqx_cm.erl index 561017b93..8bc2fbd07 100644 --- a/src/emqx_cm.erl +++ b/src/emqx_cm.erl @@ -1,5 +1,5 @@ %%------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_cm_locker.erl b/src/emqx_cm_locker.erl index 18310a70a..708d3d23c 100644 --- a/src/emqx_cm_locker.erl +++ b/src/emqx_cm_locker.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_cm_registry.erl b/src/emqx_cm_registry.erl index 4f2562478..c45c497ff 100644 --- a/src/emqx_cm_registry.erl +++ b/src/emqx_cm_registry.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_cm_sup.erl b/src/emqx_cm_sup.erl index 6cbf8d432..02c4cd3d8 100644 --- a/src/emqx_cm_sup.erl +++ b/src/emqx_cm_sup.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_connection.erl b/src/emqx_connection.erl index d0a923bff..e2a2a75ce 100644 --- a/src/emqx_connection.erl +++ b/src/emqx_connection.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_ctl.erl b/src/emqx_ctl.erl index 3b050a51f..b21ffde66 100644 --- a/src/emqx_ctl.erl +++ b/src/emqx_ctl.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_flapping.erl b/src/emqx_flapping.erl index 3d6aabfe9..c1faa7e95 100644 --- a/src/emqx_flapping.erl +++ b/src/emqx_flapping.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_frame.erl b/src/emqx_frame.erl index 91788227b..9e5f85dfc 100644 --- a/src/emqx_frame.erl +++ b/src/emqx_frame.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_gc.erl b/src/emqx_gc.erl index 8da13912c..3bf826f73 100644 --- a/src/emqx_gc.erl +++ b/src/emqx_gc.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_gen_mod.erl b/src/emqx_gen_mod.erl index 9ae4d5b6f..533f5fa64 100644 --- a/src/emqx_gen_mod.erl +++ b/src/emqx_gen_mod.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_guid.erl b/src/emqx_guid.erl index 40b790810..d7f1785e8 100644 --- a/src/emqx_guid.erl +++ b/src/emqx_guid.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_hooks.erl b/src/emqx_hooks.erl index 0b49f3e9e..d0233a86c 100644 --- a/src/emqx_hooks.erl +++ b/src/emqx_hooks.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_inflight.erl b/src/emqx_inflight.erl index a25a60e9b..61b5c3e2e 100644 --- a/src/emqx_inflight.erl +++ b/src/emqx_inflight.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_json.erl b/src/emqx_json.erl index db35835ce..1424ede51 100644 --- a/src/emqx_json.erl +++ b/src/emqx_json.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_keepalive.erl b/src/emqx_keepalive.erl index 6ce970b54..daa8e5221 100644 --- a/src/emqx_keepalive.erl +++ b/src/emqx_keepalive.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_kernel_sup.erl b/src/emqx_kernel_sup.erl index fdca99f89..87beda11d 100644 --- a/src/emqx_kernel_sup.erl +++ b/src/emqx_kernel_sup.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_limiter.erl b/src/emqx_limiter.erl index ee8867613..ee456bc45 100644 --- a/src/emqx_limiter.erl +++ b/src/emqx_limiter.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_listeners.erl b/src/emqx_listeners.erl index afec377d7..39f0c29c8 100644 --- a/src/emqx_listeners.erl +++ b/src/emqx_listeners.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_logger.erl b/src/emqx_logger.erl index cc167591e..ebd2ac697 100644 --- a/src/emqx_logger.erl +++ b/src/emqx_logger.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_message.erl b/src/emqx_message.erl index 3f0d874dc..f7fbd6021 100644 --- a/src/emqx_message.erl +++ b/src/emqx_message.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_metrics.erl b/src/emqx_metrics.erl index 5758f68c3..06f13ed86 100644 --- a/src/emqx_metrics.erl +++ b/src/emqx_metrics.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_misc.erl b/src/emqx_misc.erl index 54cd41b17..0d4270dc9 100644 --- a/src/emqx_misc.erl +++ b/src/emqx_misc.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_mod_acl_internal.erl b/src/emqx_mod_acl_internal.erl index 15c7a489e..e836bd574 100644 --- a/src/emqx_mod_acl_internal.erl +++ b/src/emqx_mod_acl_internal.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_mod_presence.erl b/src/emqx_mod_presence.erl index 335cc36b5..1abfaf73a 100644 --- a/src/emqx_mod_presence.erl +++ b/src/emqx_mod_presence.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_mod_rewrite.erl b/src/emqx_mod_rewrite.erl index 0d32e9aee..8098c9595 100644 --- a/src/emqx_mod_rewrite.erl +++ b/src/emqx_mod_rewrite.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_mod_subscription.erl b/src/emqx_mod_subscription.erl index b0bfe49ba..d17162688 100644 --- a/src/emqx_mod_subscription.erl +++ b/src/emqx_mod_subscription.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_mod_sup.erl b/src/emqx_mod_sup.erl index 9685bc760..74caa419b 100644 --- a/src/emqx_mod_sup.erl +++ b/src/emqx_mod_sup.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_modules.erl b/src/emqx_modules.erl index 6ba69e1fd..0e7e931d0 100644 --- a/src/emqx_modules.erl +++ b/src/emqx_modules.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_mountpoint.erl b/src/emqx_mountpoint.erl index da7b712f3..8dfc23b30 100644 --- a/src/emqx_mountpoint.erl +++ b/src/emqx_mountpoint.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_mqtt_caps.erl b/src/emqx_mqtt_caps.erl index 69d813cd6..4f0998327 100644 --- a/src/emqx_mqtt_caps.erl +++ b/src/emqx_mqtt_caps.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_mqtt_props.erl b/src/emqx_mqtt_props.erl index 0377b6d0c..bce6e5898 100644 --- a/src/emqx_mqtt_props.erl +++ b/src/emqx_mqtt_props.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_mqueue.erl b/src/emqx_mqueue.erl index f02304f24..bef155e63 100644 --- a/src/emqx_mqueue.erl +++ b/src/emqx_mqueue.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_os_mon.erl b/src/emqx_os_mon.erl index 8ce16700a..0f6c7d597 100644 --- a/src/emqx_os_mon.erl +++ b/src/emqx_os_mon.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_packet.erl b/src/emqx_packet.erl index 036e0b2ef..bfa4da157 100644 --- a/src/emqx_packet.erl +++ b/src/emqx_packet.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_pd.erl b/src/emqx_pd.erl index 1bcbcd283..8754ac090 100644 --- a/src/emqx_pd.erl +++ b/src/emqx_pd.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_plugins.erl b/src/emqx_plugins.erl index fb80152f5..381782fda 100644 --- a/src/emqx_plugins.erl +++ b/src/emqx_plugins.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_pmon.erl b/src/emqx_pmon.erl index eb74918cf..99105f6e0 100644 --- a/src/emqx_pmon.erl +++ b/src/emqx_pmon.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_pool.erl b/src/emqx_pool.erl index 9db0c23c4..10b1adf00 100644 --- a/src/emqx_pool.erl +++ b/src/emqx_pool.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_pool_sup.erl b/src/emqx_pool_sup.erl index 77278807d..ff6fec6b8 100644 --- a/src/emqx_pool_sup.erl +++ b/src/emqx_pool_sup.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_psk.erl b/src/emqx_psk.erl index 699aa2b36..a74f5a390 100644 --- a/src/emqx_psk.erl +++ b/src/emqx_psk.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_reason_codes.erl b/src/emqx_reason_codes.erl index d82d5d096..c3ee2b87e 100644 --- a/src/emqx_reason_codes.erl +++ b/src/emqx_reason_codes.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_router.erl b/src/emqx_router.erl index d0e5bf188..cc358758f 100644 --- a/src/emqx_router.erl +++ b/src/emqx_router.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_router_helper.erl b/src/emqx_router_helper.erl index 301958dc3..2e587c446 100644 --- a/src/emqx_router_helper.erl +++ b/src/emqx_router_helper.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_router_sup.erl b/src/emqx_router_sup.erl index c4944e3c1..9060e58bf 100644 --- a/src/emqx_router_sup.erl +++ b/src/emqx_router_sup.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_rpc.erl b/src/emqx_rpc.erl index 9eb333a7f..727eb458b 100644 --- a/src/emqx_rpc.erl +++ b/src/emqx_rpc.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_sequence.erl b/src/emqx_sequence.erl index 8aa763b6f..d0823cd82 100644 --- a/src/emqx_sequence.erl +++ b/src/emqx_sequence.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_session.erl b/src/emqx_session.erl index 01b5f057c..849491952 100644 --- a/src/emqx_session.erl +++ b/src/emqx_session.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_shared_sub.erl b/src/emqx_shared_sub.erl index 71a20b20c..3563b1513 100644 --- a/src/emqx_shared_sub.erl +++ b/src/emqx_shared_sub.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_stats.erl b/src/emqx_stats.erl index c0d00309b..95bfc88ae 100644 --- a/src/emqx_stats.erl +++ b/src/emqx_stats.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_sup.erl b/src/emqx_sup.erl index 915eff938..1782b64a0 100644 --- a/src/emqx_sup.erl +++ b/src/emqx_sup.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_sys.erl b/src/emqx_sys.erl index 23a18896b..e2698d06a 100644 --- a/src/emqx_sys.erl +++ b/src/emqx_sys.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_sys_mon.erl b/src/emqx_sys_mon.erl index 845372ec8..8743c7dad 100644 --- a/src/emqx_sys_mon.erl +++ b/src/emqx_sys_mon.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_sys_sup.erl b/src/emqx_sys_sup.erl index 7a94c4288..9b6e46db6 100644 --- a/src/emqx_sys_sup.erl +++ b/src/emqx_sys_sup.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_tables.erl b/src/emqx_tables.erl index fec1864e0..82ea7b042 100644 --- a/src/emqx_tables.erl +++ b/src/emqx_tables.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_topic.erl b/src/emqx_topic.erl index 67d84789a..487b04830 100644 --- a/src/emqx_topic.erl +++ b/src/emqx_topic.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_tracer.erl b/src/emqx_tracer.erl index 36daa9f50..96dbe04d2 100644 --- a/src/emqx_tracer.erl +++ b/src/emqx_tracer.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_trie.erl b/src/emqx_trie.erl index c0c037a7c..adb184aa7 100644 --- a/src/emqx_trie.erl +++ b/src/emqx_trie.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_types.erl b/src/emqx_types.erl index b5caa49d7..f00500409 100644 --- a/src/emqx_types.erl +++ b/src/emqx_types.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_vm.erl b/src/emqx_vm.erl index ffe8ba6fa..b4a36f410 100644 --- a/src/emqx_vm.erl +++ b/src/emqx_vm.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_vm_mon.erl b/src/emqx_vm_mon.erl index e42ceb2ee..b4d1c6008 100644 --- a/src/emqx_vm_mon.erl +++ b/src/emqx_vm_mon.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_ws_connection.erl b/src/emqx_ws_connection.erl index c9be74c80..7409d0318 100644 --- a/src/emqx_ws_connection.erl +++ b/src/emqx_ws_connection.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/src/emqx_zone.erl b/src/emqx_zone.erl index 2fdacfea6..0304f4c8a 100644 --- a/src/emqx_zone.erl +++ b/src/emqx_zone.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_SUITE.erl b/test/emqx_SUITE.erl index be6ee8833..a2d8ec4e0 100644 --- a/test/emqx_SUITE.erl +++ b/test/emqx_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_access_SUITE.erl b/test/emqx_access_SUITE.erl index 23f3844b4..7cc808b5a 100644 --- a/test/emqx_access_SUITE.erl +++ b/test/emqx_access_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_access_control_SUITE.erl b/test/emqx_access_control_SUITE.erl index 8629c6e28..34a0b83b1 100644 --- a/test/emqx_access_control_SUITE.erl +++ b/test/emqx_access_control_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_access_rule_SUITE.erl b/test/emqx_access_rule_SUITE.erl index ce1b0b812..d99a1fd78 100644 --- a/test/emqx_access_rule_SUITE.erl +++ b/test/emqx_access_rule_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_acl_cache_SUITE.erl b/test/emqx_acl_cache_SUITE.erl index 934f3de2a..53e1a4a15 100644 --- a/test/emqx_acl_cache_SUITE.erl +++ b/test/emqx_acl_cache_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_acl_test_mod.erl b/test/emqx_acl_test_mod.erl index 75386453f..e698efc4d 100644 --- a/test/emqx_acl_test_mod.erl +++ b/test/emqx_acl_test_mod.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_alarm_handler_SUITE.erl b/test/emqx_alarm_handler_SUITE.erl index e7e8139b9..46fd9472f 100644 --- a/test/emqx_alarm_handler_SUITE.erl +++ b/test/emqx_alarm_handler_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_banned_SUITE.erl b/test/emqx_banned_SUITE.erl index 849bcef90..a4201cdc1 100644 --- a/test/emqx_banned_SUITE.erl +++ b/test/emqx_banned_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_base62_SUITE.erl b/test/emqx_base62_SUITE.erl index 83d11ae1c..eb8ac99a5 100644 --- a/test/emqx_base62_SUITE.erl +++ b/test/emqx_base62_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_batch_SUITE.erl b/test/emqx_batch_SUITE.erl index e45e89c83..cdf893942 100644 --- a/test/emqx_batch_SUITE.erl +++ b/test/emqx_batch_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_boot_SUITE.erl b/test/emqx_boot_SUITE.erl index c4a9ffc39..118aace92 100644 --- a/test/emqx_boot_SUITE.erl +++ b/test/emqx_boot_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_broker_SUITE.erl b/test/emqx_broker_SUITE.erl index 8d6a2750b..09c6f5e21 100644 --- a/test/emqx_broker_SUITE.erl +++ b/test/emqx_broker_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_broker_helper_SUITE.erl b/test/emqx_broker_helper_SUITE.erl index 699211380..0084a4012 100644 --- a/test/emqx_broker_helper_SUITE.erl +++ b/test/emqx_broker_helper_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_channel_SUITE.erl b/test/emqx_channel_SUITE.erl index aa8dfb743..0fe0a811b 100644 --- a/test/emqx_channel_SUITE.erl +++ b/test/emqx_channel_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_client_SUITE.erl b/test/emqx_client_SUITE.erl index 3b498948d..fc440aeb1 100644 --- a/test/emqx_client_SUITE.erl +++ b/test/emqx_client_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_cm_SUITE.erl b/test/emqx_cm_SUITE.erl index 985d91684..183dd5f30 100644 --- a/test/emqx_cm_SUITE.erl +++ b/test/emqx_cm_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_cm_locker_SUITE.erl b/test/emqx_cm_locker_SUITE.erl index 47b197a2a..8a745cbf5 100644 --- a/test/emqx_cm_locker_SUITE.erl +++ b/test/emqx_cm_locker_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_cm_registry_SUITE.erl b/test/emqx_cm_registry_SUITE.erl index 56f539eba..a95bca2ae 100644 --- a/test/emqx_cm_registry_SUITE.erl +++ b/test/emqx_cm_registry_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_connection_SUITE.erl b/test/emqx_connection_SUITE.erl index 517267f0c..12e85535f 100644 --- a/test/emqx_connection_SUITE.erl +++ b/test/emqx_connection_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_ctl_SUITE.erl b/test/emqx_ctl_SUITE.erl index bdc31a321..9a310de5c 100644 --- a/test/emqx_ctl_SUITE.erl +++ b/test/emqx_ctl_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_flapping_SUITE.erl b/test/emqx_flapping_SUITE.erl index 54d83feff..ed0ff7567 100644 --- a/test/emqx_flapping_SUITE.erl +++ b/test/emqx_flapping_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_frame_SUITE.erl b/test/emqx_frame_SUITE.erl index 35e8d1975..96e744a5d 100644 --- a/test/emqx_frame_SUITE.erl +++ b/test/emqx_frame_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_gc_SUITE.erl b/test/emqx_gc_SUITE.erl index 0b56fbdb6..4a8fcc0dc 100644 --- a/test/emqx_gc_SUITE.erl +++ b/test/emqx_gc_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_guid_SUITE.erl b/test/emqx_guid_SUITE.erl index eec808ae2..a5da59e9e 100644 --- a/test/emqx_guid_SUITE.erl +++ b/test/emqx_guid_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_hooks_SUITE.erl b/test/emqx_hooks_SUITE.erl index 9070184e3..f687aa644 100644 --- a/test/emqx_hooks_SUITE.erl +++ b/test/emqx_hooks_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_inflight_SUITE.erl b/test/emqx_inflight_SUITE.erl index 21b8350de..4668a13ce 100644 --- a/test/emqx_inflight_SUITE.erl +++ b/test/emqx_inflight_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_json_SUITE.erl b/test/emqx_json_SUITE.erl index 122296a93..ffe900ef4 100644 --- a/test/emqx_json_SUITE.erl +++ b/test/emqx_json_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_keepalive_SUITE.erl b/test/emqx_keepalive_SUITE.erl index 0bdc79f60..5e87f58f2 100644 --- a/test/emqx_keepalive_SUITE.erl +++ b/test/emqx_keepalive_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_limiter_SUITE.erl b/test/emqx_limiter_SUITE.erl index 46c0f2070..6c76bab8e 100644 --- a/test/emqx_limiter_SUITE.erl +++ b/test/emqx_limiter_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_listeners_SUITE.erl b/test/emqx_listeners_SUITE.erl index 136b219aa..bc09a26bb 100644 --- a/test/emqx_listeners_SUITE.erl +++ b/test/emqx_listeners_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_logger_SUITE.erl b/test/emqx_logger_SUITE.erl index 5f3b6414f..9ffb3b064 100644 --- a/test/emqx_logger_SUITE.erl +++ b/test/emqx_logger_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_message_SUITE.erl b/test/emqx_message_SUITE.erl index a2d9b17c4..ecac9366f 100644 --- a/test/emqx_message_SUITE.erl +++ b/test/emqx_message_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_metrics_SUITE.erl b/test/emqx_metrics_SUITE.erl index f24cf3c3c..d6ef6b451 100644 --- a/test/emqx_metrics_SUITE.erl +++ b/test/emqx_metrics_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_misc_SUITE.erl b/test/emqx_misc_SUITE.erl index 0417da120..d3b77c384 100644 --- a/test/emqx_misc_SUITE.erl +++ b/test/emqx_misc_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_mod_acl_internal_SUITE.erl b/test/emqx_mod_acl_internal_SUITE.erl index e854fb831..d92e45f1e 100644 --- a/test/emqx_mod_acl_internal_SUITE.erl +++ b/test/emqx_mod_acl_internal_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_mod_presence_SUITE.erl b/test/emqx_mod_presence_SUITE.erl index a1754f832..580eacb2d 100644 --- a/test/emqx_mod_presence_SUITE.erl +++ b/test/emqx_mod_presence_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_mod_rewrite_SUITE.erl b/test/emqx_mod_rewrite_SUITE.erl index ff471a39e..8ebeaf245 100644 --- a/test/emqx_mod_rewrite_SUITE.erl +++ b/test/emqx_mod_rewrite_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_mod_subscription_SUITE.erl b/test/emqx_mod_subscription_SUITE.erl index 54b1a3452..65a9b4db0 100644 --- a/test/emqx_mod_subscription_SUITE.erl +++ b/test/emqx_mod_subscription_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_mod_sup_SUITE.erl b/test/emqx_mod_sup_SUITE.erl index fac49363e..cd4c868ee 100644 --- a/test/emqx_mod_sup_SUITE.erl +++ b/test/emqx_mod_sup_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_mountpoint_SUITE.erl b/test/emqx_mountpoint_SUITE.erl index d78bfe5e7..26d717cd8 100644 --- a/test/emqx_mountpoint_SUITE.erl +++ b/test/emqx_mountpoint_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_mqtt_SUITE.erl b/test/emqx_mqtt_SUITE.erl index c113702c3..27bd46a7f 100644 --- a/test/emqx_mqtt_SUITE.erl +++ b/test/emqx_mqtt_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_mqtt_caps_SUITE.erl b/test/emqx_mqtt_caps_SUITE.erl index 590753709..fb1d3ab3d 100644 --- a/test/emqx_mqtt_caps_SUITE.erl +++ b/test/emqx_mqtt_caps_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_mqtt_props_SUITE.erl b/test/emqx_mqtt_props_SUITE.erl index 53ef76d4c..f440b386d 100644 --- a/test/emqx_mqtt_props_SUITE.erl +++ b/test/emqx_mqtt_props_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_mqueue_SUITE.erl b/test/emqx_mqueue_SUITE.erl index 921491dff..3be1344a2 100644 --- a/test/emqx_mqueue_SUITE.erl +++ b/test/emqx_mqueue_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_os_mon_SUITE.erl b/test/emqx_os_mon_SUITE.erl index 5f320f64b..eb85ba58b 100644 --- a/test/emqx_os_mon_SUITE.erl +++ b/test/emqx_os_mon_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_packet_SUITE.erl b/test/emqx_packet_SUITE.erl index e47817307..61dac723d 100644 --- a/test/emqx_packet_SUITE.erl +++ b/test/emqx_packet_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_pd_SUITE.erl b/test/emqx_pd_SUITE.erl index 25ede175d..4ebac5e74 100644 --- a/test/emqx_pd_SUITE.erl +++ b/test/emqx_pd_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_plugins_SUITE.erl b/test/emqx_plugins_SUITE.erl index 1343076d6..50af9ff3e 100644 --- a/test/emqx_plugins_SUITE.erl +++ b/test/emqx_plugins_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_pmon_SUITE.erl b/test/emqx_pmon_SUITE.erl index 051c2ae6f..777c6db4d 100644 --- a/test/emqx_pmon_SUITE.erl +++ b/test/emqx_pmon_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_pool_SUITE.erl b/test/emqx_pool_SUITE.erl index f9c481ac1..23eec531f 100644 --- a/test/emqx_pool_SUITE.erl +++ b/test/emqx_pool_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_pqueue_SUITE.erl b/test/emqx_pqueue_SUITE.erl index 226cf5423..a3fc64f08 100644 --- a/test/emqx_pqueue_SUITE.erl +++ b/test/emqx_pqueue_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_psk_SUITE.erl b/test/emqx_psk_SUITE.erl index 2cb4b5894..72b2bd42e 100644 --- a/test/emqx_psk_SUITE.erl +++ b/test/emqx_psk_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_reason_codes_SUITE.erl b/test/emqx_reason_codes_SUITE.erl index ff6d4cb1a..60e29885a 100644 --- a/test/emqx_reason_codes_SUITE.erl +++ b/test/emqx_reason_codes_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_request_handler.erl b/test/emqx_request_handler.erl index 567570506..690d45d34 100644 --- a/test/emqx_request_handler.erl +++ b/test/emqx_request_handler.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_request_sender.erl b/test/emqx_request_sender.erl index 2316a2f43..aed845a42 100644 --- a/test/emqx_request_sender.erl +++ b/test/emqx_request_sender.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_router_SUITE.erl b/test/emqx_router_SUITE.erl index 9e4cbb240..fb2d34ea7 100644 --- a/test/emqx_router_SUITE.erl +++ b/test/emqx_router_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_router_helper_SUITE.erl b/test/emqx_router_helper_SUITE.erl index f7ce4b11d..87fe5c600 100644 --- a/test/emqx_router_helper_SUITE.erl +++ b/test/emqx_router_helper_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_rpc_SUITE.erl b/test/emqx_rpc_SUITE.erl index 6b24e3de0..cd0ceb93c 100644 --- a/test/emqx_rpc_SUITE.erl +++ b/test/emqx_rpc_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_sequence_SUITE.erl b/test/emqx_sequence_SUITE.erl index a12837492..f91012c0b 100644 --- a/test/emqx_sequence_SUITE.erl +++ b/test/emqx_sequence_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_session_SUITE.erl b/test/emqx_session_SUITE.erl index 0cd395385..d8710eb58 100644 --- a/test/emqx_session_SUITE.erl +++ b/test/emqx_session_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_shared_sub_SUITE.erl b/test/emqx_shared_sub_SUITE.erl index 28acc5186..bbc335687 100644 --- a/test/emqx_shared_sub_SUITE.erl +++ b/test/emqx_shared_sub_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_stats_SUITE.erl b/test/emqx_stats_SUITE.erl index 467c21e7b..64b907fb6 100644 --- a/test/emqx_stats_SUITE.erl +++ b/test/emqx_stats_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_sup_SUITE.erl b/test/emqx_sup_SUITE.erl index 4d2386bde..80b3cdf98 100644 --- a/test/emqx_sup_SUITE.erl +++ b/test/emqx_sup_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_sys_SUITE.erl b/test/emqx_sys_SUITE.erl index dc8c1e865..64193ef9e 100644 --- a/test/emqx_sys_SUITE.erl +++ b/test/emqx_sys_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_sys_mon_SUITE.erl b/test/emqx_sys_mon_SUITE.erl index 55644ecfe..ef0e31957 100644 --- a/test/emqx_sys_mon_SUITE.erl +++ b/test/emqx_sys_mon_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_tables_SUITE.erl b/test/emqx_tables_SUITE.erl index 106001f62..a48475b39 100644 --- a/test/emqx_tables_SUITE.erl +++ b/test/emqx_tables_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_topic_SUITE.erl b/test/emqx_topic_SUITE.erl index 8dd2c5ca0..707e4a6aa 100644 --- a/test/emqx_topic_SUITE.erl +++ b/test/emqx_topic_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_tracer_SUITE.erl b/test/emqx_tracer_SUITE.erl index 280d580c5..c3b4ea8f1 100644 --- a/test/emqx_tracer_SUITE.erl +++ b/test/emqx_tracer_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_trie_SUITE.erl b/test/emqx_trie_SUITE.erl index 1414c9027..5324829c9 100644 --- a/test/emqx_trie_SUITE.erl +++ b/test/emqx_trie_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_vm_SUITE.erl b/test/emqx_vm_SUITE.erl index 6fe8dd446..acc75e99a 100644 --- a/test/emqx_vm_SUITE.erl +++ b/test/emqx_vm_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_vm_mon_SUITE.erl b/test/emqx_vm_mon_SUITE.erl index 2b26c8078..9dda1bf33 100644 --- a/test/emqx_vm_mon_SUITE.erl +++ b/test/emqx_vm_mon_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_ws_connection_SUITE.erl b/test/emqx_ws_connection_SUITE.erl index 62e2a6e6e..9eaa9b99c 100644 --- a/test/emqx_ws_connection_SUITE.erl +++ b/test/emqx_ws_connection_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. diff --git a/test/emqx_zone_SUITE.erl b/test/emqx_zone_SUITE.erl index e2f4161be..f3d623a56 100644 --- a/test/emqx_zone_SUITE.erl +++ b/test/emqx_zone_SUITE.erl @@ -1,5 +1,5 @@ %%-------------------------------------------------------------------- -%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved. +%% Copyright (c) 2020 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. From 6b8ffc386a604a6154e41f679376cfa9ef538247 Mon Sep 17 00:00:00 2001 From: turtleDeng Date: Sat, 4 Jan 2020 10:06:50 +0800 Subject: [PATCH 02/12] Fix WS reason code (#3149) --- .travis.yml | 5 +++++ src/emqx_channel.erl | 3 ++- src/emqx_ws_connection.erl | 6 +++++- test/emqx_connection_SUITE.erl | 6 +++++- test/emqx_ws_connection_SUITE.erl | 11 +++++------ 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 90b15d560..95074d084 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,10 +8,15 @@ before_install: script: - make compile + - rm -rf rebar.lock - make xref + - rm -rf rebar.lock - make eunit + - rm -rf rebar.lock - make ct + - rm -rf rebar.lock - make cover + - rm -rf rebar.lock after_success: - make coveralls diff --git a/src/emqx_channel.erl b/src/emqx_channel.erl index 7cb25848d..23dee6ce9 100644 --- a/src/emqx_channel.erl +++ b/src/emqx_channel.erl @@ -699,7 +699,8 @@ return_unsuback(Packet, Channel) -> -> {reply, Reply :: term(), channel()} | {shutdown, Reason :: term(), Reply :: term(), channel()}). handle_call(kick, Channel) -> - shutdown(kicked, ok, Channel); + Channel1 = ensure_disconnected(kicked, Channel), + shutdown(kicked, ok, Channel1); handle_call(discard, Channel = #channel{conn_state = connected}) -> Packet = ?DISCONNECT_PACKET(?RC_SESSION_TAKEN_OVER), diff --git a/src/emqx_ws_connection.erl b/src/emqx_ws_connection.erl index 7409d0318..ceae32823 100644 --- a/src/emqx_ws_connection.erl +++ b/src/emqx_ws_connection.erl @@ -317,6 +317,8 @@ websocket_info({stop, Reason}, State) -> websocket_info(Info, State) -> handle_info(Info, State). +websocket_close({_, ReasonCode, _Payload}, State) when is_integer(ReasonCode) -> + websocket_close(ReasonCode, State); websocket_close(Reason, State) -> ?LOG(debug, "Websocket closed due to ~p~n", [Reason]), handle_info({sock_closed, Reason}, State). @@ -360,7 +362,7 @@ handle_info({connack, ConnAck}, State) -> handle_info({close, Reason}, State) -> ?LOG(debug, "Force to close the socket due to ~p", [Reason]), - return(enqueue(close, State)); + return(enqueue({close, Reason}, State)); handle_info({event, connected}, State = #state{channel = Channel}) -> ClientId = emqx_channel:info(clientid, Channel), @@ -639,6 +641,8 @@ classify([Cmd = {shutdown, _Reason}|More], Packets, Cmds, Events) -> classify(More, Packets, [Cmd|Cmds], Events); classify([Cmd = close|More], Packets, Cmds, Events) -> classify(More, Packets, [Cmd|Cmds], Events); +classify([Cmd = {close, _Reason}|More], Packets, Cmds, Events) -> + classify(More, Packets, [Cmd|Cmds], Events); classify([Event|More], Packets, Cmds, Events) -> classify(More, Packets, Cmds, [Event|Events]). diff --git a/test/emqx_connection_SUITE.erl b/test/emqx_connection_SUITE.erl index 12e85535f..822194443 100644 --- a/test/emqx_connection_SUITE.erl +++ b/test/emqx_connection_SUITE.erl @@ -41,6 +41,7 @@ init_per_suite(Config) -> ok = meck:new(emqx_pd, [passthrough, no_history, no_link]), %% Meck Metrics ok = meck:new(emqx_metrics, [passthrough, no_history, no_link]), + ok = meck:expect(emqx_metrics, inc, fun(_) -> ok end), ok = meck:expect(emqx_metrics, inc, fun(_, _) -> ok end), ok = meck:expect(emqx_metrics, inc_recv, fun(_) -> ok end), ok = meck:expect(emqx_metrics, inc_sent, fun(_) -> ok end), @@ -48,6 +49,9 @@ init_per_suite(Config) -> ok = meck:new(emqx_hooks, [passthrough, no_history, no_link]), ok = meck:expect(emqx_hooks, run, fun(_Hook, _Args) -> ok end), ok = meck:expect(emqx_hooks, run_fold, fun(_Hook, _Args, Acc) -> {ok, Acc} end), + + ok = meck:expect(emqx_channel, ensure_disconnected, fun(_, Channel) -> Channel end), + Config. end_per_suite(_Config) -> @@ -218,7 +222,7 @@ t_handle_call(_) -> ?assertMatch({reply, _Info, _NSt}, emqx_connection:handle_call(self(), info, St)), ?assertMatch({reply, _Stats, _NSt }, emqx_connection:handle_call(self(), stats, St)), ?assertEqual({reply, ignored, St}, emqx_connection:handle_call(self(), for_testing, St)), - ?assertEqual({stop, {shutdown,kicked}, ok, St}, emqx_connection:handle_call(self(), kick, St)). + ?assertMatch({stop, {shutdown,kicked}, ok, _NSt}, emqx_connection:handle_call(self(), kick, St)). t_handle_timeout(_) -> TRef = make_ref(), diff --git a/test/emqx_ws_connection_SUITE.erl b/test/emqx_ws_connection_SUITE.erl index 9eaa9b99c..09c9d5dd7 100644 --- a/test/emqx_ws_connection_SUITE.erl +++ b/test/emqx_ws_connection_SUITE.erl @@ -206,7 +206,7 @@ t_websocket_info_incoming(_) -> username = <<"username">>, password = <<"passwd">> }, - {ok, St1} = websocket_info({incoming, ?CONNECT_PACKET(ConnPkt)}, st()), + {[{close,protocol_error}], St1} = websocket_info({incoming, ?CONNECT_PACKET(ConnPkt)}, st()), % ?assertEqual(<<224,2,130,0>>, iolist_to_binary(IoData1)), %% PINGREQ {[{binary, IoData2}], St2} = @@ -214,8 +214,7 @@ t_websocket_info_incoming(_) -> ?assertEqual(<<208,0>>, iolist_to_binary(IoData2)), %% PUBLISH Publish = ?PUBLISH_PACKET(?QOS_1, <<"t">>, 1, <<"payload">>), - {[{binary, IoData3}], _St3} = - websocket_info({incoming, Publish}, St2), + {[{binary, IoData3}], _St3} = websocket_info({incoming, Publish}, St2), ?assertEqual(<<64,4,0,1,0,0>>, iolist_to_binary(IoData3)). t_websocket_info_check_gc(_) -> @@ -248,7 +247,7 @@ t_websocket_info_timeout_retry(_) -> {ok, _St} = websocket_info({timeout, make_ref(), retry_delivery}, st()). t_websocket_info_close(_) -> - {[close], _St} = websocket_info({close, sock_error}, st()). + {[{close, _}], _St} = websocket_info({close, sock_error}, st()). t_websocket_info_shutdown(_) -> {[{shutdown, reason}], _St} = websocket_info({shutdown, reason}, st()). @@ -266,7 +265,7 @@ t_handle_info_connack(_) -> ?assertEqual(<<32,2,0,0>>, iolist_to_binary(IoData)). t_handle_info_close(_) -> - {[close], _St} = ?ws_conn:handle_info({close, protocol_error}, st()). + {[{close, _}], _St} = ?ws_conn:handle_info({close, protocol_error}, st()). t_handle_info_event(_) -> ok = meck:new(emqx_cm, [passthrough, no_history]), @@ -315,7 +314,7 @@ t_parse_incoming_frame_error(_) -> t_handle_incomming_frame_error(_) -> FrameError = {frame_error, bad_qos}, Serialize = emqx_frame:serialize_fun(#{version => 5, max_size => 16#FFFF}), - {ok, _St} = ?ws_conn:handle_incoming(FrameError, st(#{serialize => Serialize})). + {[{close, bad_qos}], _St} = ?ws_conn:handle_incoming(FrameError, st(#{serialize => Serialize})). % ?assertEqual(<<224,2,129,0>>, iolist_to_binary(IoData)). t_handle_outgoing(_) -> From 7d3a08dc137402a5fbb67589d641fe69d27e1b8f Mon Sep 17 00:00:00 2001 From: JianBo He Date: Sat, 4 Jan 2020 10:44:17 +0800 Subject: [PATCH 03/12] Improve 'client.connect', 'client.connack' hooks (#3153) --- src/emqx_channel.erl | 20 +++++++++++--------- src/emqx_mqtt_props.erl | 5 +++++ src/emqx_packet.erl | 31 +++++++++++++++++++++++++++++++ test/emqx_packet_SUITE.erl | 10 ++++++++++ 4 files changed, 57 insertions(+), 9 deletions(-) diff --git a/src/emqx_channel.erl b/src/emqx_channel.erl index 23dee6ce9..d523c2b74 100644 --- a/src/emqx_channel.erl +++ b/src/emqx_channel.erl @@ -558,19 +558,20 @@ handle_out(connack, {?RC_SUCCESS, SP, ConnPkt}, Channel = #channel{conninfo = Co fun enrich_server_keepalive/2, fun enrich_assigned_clientid/2 ], #{}, Channel), - AckPacket = run_hooks('client.connack', [ConnInfo], - ?CONNACK_PACKET(?RC_SUCCESS, SP, AckProps)), - return_connack(AckPacket, - ensure_keepalive(AckProps, + NAckProps = run_hooks('client.connack', [ConnInfo, emqx_reason_codes:name(?RC_SUCCESS)], AckProps), + + return_connack(?CONNACK_PACKET(?RC_SUCCESS, SP, NAckProps), + ensure_keepalive(NAckProps, ensure_connected(ConnPkt, Channel))); handle_out(connack, {ReasonCode, _ConnPkt}, Channel = #channel{conninfo = ConnInfo}) -> + Reason = emqx_reason_codes:name(ReasonCode), + AckProps = run_hooks('client.connack', [ConnInfo, Reason], emqx_mqtt_props:new()), AckPacket = ?CONNACK_PACKET(case maps:get(proto_ver, ConnInfo) of ?MQTT_PROTO_V5 -> ReasonCode; _ -> emqx_reason_codes:compat(connack, ReasonCode) - end), - AckPacket1 = run_hooks('client.connack', [ConnInfo], AckPacket), - shutdown(emqx_reason_codes:name(ReasonCode), AckPacket1, Channel); + end, sp(false), AckProps), + shutdown(Reason, AckPacket, Channel); %% Optimize? handle_out(publish, [], Channel) -> @@ -944,9 +945,10 @@ receive_maximum(#{zone := Zone}, ConnProps) -> %% Run Connect Hooks run_conn_hooks(ConnPkt, Channel = #channel{conninfo = ConnInfo}) -> - case run_hooks('client.connect', [ConnInfo], ConnPkt) of + ConnProps = emqx_packet:info(properties, ConnPkt), + case run_hooks('client.connect', [ConnInfo], ConnProps) of Error = {error, _Reason} -> Error; - NConnPkt -> {ok, NConnPkt, Channel} + NConnProps -> {ok, emqx_packet:set_props(NConnProps, ConnPkt), Channel} end. %%-------------------------------------------------------------------- diff --git a/src/emqx_mqtt_props.erl b/src/emqx_mqtt_props.erl index bce6e5898..535c5b696 100644 --- a/src/emqx_mqtt_props.erl +++ b/src/emqx_mqtt_props.erl @@ -23,6 +23,7 @@ , name/1 , filter/2 , validate/1 + , new/0 ]). %% For tests @@ -180,6 +181,10 @@ validate_value('Binary-Data', Val) -> is_binary(Val); validate_value(_Type, _Val) -> false. +-spec(new() -> map()). +new() -> + #{}. + -spec(all() -> map()). all() -> ?PROPS_TABLE. diff --git a/src/emqx_packet.erl b/src/emqx_packet.erl index bfa4da157..6c17c17cb 100644 --- a/src/emqx_packet.erl +++ b/src/emqx_packet.erl @@ -31,6 +31,7 @@ -export([ proto_name/1 , proto_ver/1 , info/2 + , set_props/2 ]). %% Check API @@ -191,6 +192,36 @@ info(reason_code, #mqtt_packet_auth{reason_code = RC}) -> info(properties, #mqtt_packet_auth{properties = Props}) -> Props. +set_props(Props, #mqtt_packet_connect{} = Pkt) -> + Pkt#mqtt_packet_connect{properties = Props}; + +set_props(Props, #mqtt_packet_connack{} = Pkt) -> + Pkt#mqtt_packet_connack{properties = Props}; + +set_props(Props, #mqtt_packet_publish{} = Pkt) -> + Pkt#mqtt_packet_publish{properties = Props}; + +set_props(Props, #mqtt_packet_puback{} = Pkt) -> + Pkt#mqtt_packet_puback{properties = Props}; + +set_props(Props, #mqtt_packet_subscribe{} = Pkt) -> + Pkt#mqtt_packet_subscribe{properties = Props}; + +set_props(Props, #mqtt_packet_suback{} = Pkt) -> + Pkt#mqtt_packet_suback{properties = Props}; + +set_props(Props, #mqtt_packet_unsubscribe{} = Pkt) -> + Pkt#mqtt_packet_unsubscribe{properties = Props}; + +set_props(Props, #mqtt_packet_unsuback{} = Pkt) -> + Pkt#mqtt_packet_unsuback{properties = Props}; + +set_props(Props, #mqtt_packet_disconnect{} = Pkt) -> + Pkt#mqtt_packet_disconnect{properties = Props}; + +set_props(Props, #mqtt_packet_auth{} = Pkt) -> + Pkt#mqtt_packet_auth{properties = Props}. + %%-------------------------------------------------------------------- %% Check MQTT Packet %%-------------------------------------------------------------------- diff --git a/test/emqx_packet_SUITE.erl b/test/emqx_packet_SUITE.erl index 61dac723d..bada2d85a 100644 --- a/test/emqx_packet_SUITE.erl +++ b/test/emqx_packet_SUITE.erl @@ -157,6 +157,16 @@ t_auth_info(_) -> ?assertEqual(0, emqx_packet:info(reason_code, AuthPkt)), ?assertEqual(undefined, emqx_packet:info(properties, AuthPkt)). +t_set_props(_) -> + Pkts = [#mqtt_packet_connect{}, #mqtt_packet_connack{}, #mqtt_packet_publish{}, + #mqtt_packet_puback{}, #mqtt_packet_subscribe{}, #mqtt_packet_suback{}, + #mqtt_packet_unsubscribe{}, #mqtt_packet_unsuback{}, + #mqtt_packet_disconnect{}, #mqtt_packet_auth{}], + Props = #{'A-Fake-Props' => true}, + lists:foreach(fun(Pkt) -> + ?assertEqual(Props, emqx_packet:info(properties, emqx_packet:set_props(Props, Pkt))) + end, Pkts). + t_check_publish(_) -> Props = #{'Response-Topic' => <<"responsetopic">>, 'Topic-Alias' => 1}, ok = emqx_packet:check(?PUBLISH_PACKET(?QOS_1, <<"topic">>, 1, Props, <<"payload">>)), From 0c3e863ac1b0a8d7aae910612a07835dfaaf4e0d Mon Sep 17 00:00:00 2001 From: JianBo He Date: Mon, 6 Jan 2020 09:51:55 +0800 Subject: [PATCH 04/12] Enlarge performance args for internal zone (#3154) --- etc/emqx.conf | 29 +++++++++++++++-------------- priv/emqx.schema | 4 ++-- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/etc/emqx.conf b/etc/emqx.conf index 98e44f4a8..e8f08b827 100644 --- a/etc/emqx.conf +++ b/etc/emqx.conf @@ -603,9 +603,9 @@ zone.external.force_gc_policy = 1000|1MB ## Numbers delimited by `|'. Zero or negative is to disable. ## ## Default: -## - 8000|800MB on ARCH_64 system -## - 1000|100MB on ARCH_32 sytem -## zone.external.force_shutdown_policy = 8000|800MB +## - 10000|32MB on ARCH_64 system +## - 10000|16MB on ARCH_32 sytem +## zone.external.force_shutdown_policy = 10000|32MB ## Maximum MQTT packet size allowed. ## @@ -798,17 +798,17 @@ zone.internal.max_subscriptions = 0 ## See zone.$name.max_inflight ## ## Value: Number -zone.internal.max_inflight = 32 +zone.internal.max_inflight = 128 ## See zone.$name.max_awaiting_rel ## ## Value: Number -zone.internal.max_awaiting_rel = 100 +zone.internal.max_awaiting_rel = 1000 ## See zone.$name.max_mqueue_len ## ## Value: Number >= 0 -zone.internal.max_mqueue_len = 1000 +zone.internal.max_mqueue_len = 10000 ## Whether to enqueue Qos0 messages. ## @@ -820,6 +820,13 @@ zone.internal.mqueue_store_qos0 = true ## Value: on | off zone.internal.enable_flapping_detect = off +## See zone.$name.force_shutdown_policy +## +## Default: +## - 10000|32MB on ARCH_64 system +## - 10000|16MB on ARCH_32 sytem +zone.internal.force_shutdown_policy = 100000|256MB + ## All the topics will be prefixed with the mountpoint path if this option is enabled. ## ## Variables in mountpoint path: @@ -829,12 +836,6 @@ zone.internal.enable_flapping_detect = off ## Value: String ## zone.internal.mountpoint = cloudbound/ -## Whether use username replace client id -## -## Value: boolean -## Default: false -zone.internal.use_username_as_clientid = false - ## Whether to ignore loop delivery of messages.(for mqtt v3.1.1) ## ## Value: true | false @@ -1050,14 +1051,14 @@ listener.tcp.internal.send_timeout_close = on ## See: listener.tcp.$name.recbuf ## ## Value: Bytes -## listener.tcp.internal.recbuf = 16KB +listener.tcp.internal.recbuf = 64KB ## The TCP send buffer(os kernel) for internal MQTT connections. ## ## See: http://erlang.org/doc/man/inet.html ## ## Value: Bytes -## listener.tcp.internal.sndbuf = 16KB +listener.tcp.internal.sndbuf = 64KB ## The size of the user-level software buffer used by the driver. ## diff --git a/priv/emqx.schema b/priv/emqx.schema index 54e5f0f4c..bbd0fb4ab 100644 --- a/priv/emqx.schema +++ b/priv/emqx.schema @@ -967,9 +967,9 @@ end}. {DefaultLen, DefaultSize} = case WordSize = erlang:system_info(wordsize) of 8 -> % arch_64 - {8000, cuttlefish_bytesize:parse("800MB")}; + {10000, cuttlefish_bytesize:parse("32MB")}; 4 -> % arch_32 - {1000, cuttlefish_bytesize:parse("100MB")} + {10000, cuttlefish_bytesize:parse("16MB")} end, {force_shutdown_policy, #{message_queue_len => DefaultLen, max_heap_size => DefaultSize div WordSize From 40758fb6933ab76f2765bcd47620b83ce7b8cb10 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Thu, 9 Jan 2020 11:53:20 +0800 Subject: [PATCH 05/12] Workflow (#3163) Add workflows --- .github/workflows/run_test_case.yaml | 29 ++++++++++++++++++++++++++++ Makefile | 2 +- test/emqx_SUITE.erl | 3 +-- test/emqx_banned_SUITE.erl | 1 + test/emqx_flapping_SUITE.erl | 5 +++-- test/emqx_mod_acl_internal_SUITE.erl | 4 ++-- test/emqx_mod_presence_SUITE.erl | 4 ++-- test/emqx_mod_rewrite_SUITE.erl | 4 ++-- test/emqx_mod_subscription_SUITE.erl | 4 ++-- test/emqx_router_helper_SUITE.erl | 8 ++++---- test/emqx_shared_sub_SUITE.erl | 1 + 11 files changed, 48 insertions(+), 17 deletions(-) create mode 100644 .github/workflows/run_test_case.yaml diff --git a/.github/workflows/run_test_case.yaml b/.github/workflows/run_test_case.yaml new file mode 100644 index 000000000..54fe6afea --- /dev/null +++ b/.github/workflows/run_test_case.yaml @@ -0,0 +1,29 @@ +name: Run test case + +on: [push, pull_request] + +jobs: + + run_test_case: + + runs-on: ubuntu-latest + + container: + image: erlang:22.1 + + steps: + - uses: actions/checkout@v1 + - name: Run tests + run: | + make eunit + make ct + make cover + - uses: actions/upload-artifact@v1 + if: always() + with: + name: logs + path: _build/test/logs + - uses: actions/upload-artifact@v1 + with: + name: cover + path: _build/test/cover \ No newline at end of file diff --git a/Makefile b/Makefile index 774aaaba2..ea73928cd 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ REBAR_GIT_CLONE_OPTIONS += --depth 1 export REBAR_GIT_CLONE_OPTIONS -SUITES_FILES := $(shell find test -name '*_SUITE.erl') +SUITES_FILES := $(shell find test -name '*_SUITE.erl' | sort) CT_SUITES := $(foreach value,$(SUITES_FILES),$(shell val=$$(basename $(value) .erl); echo $${val%_*})) diff --git a/test/emqx_SUITE.erl b/test/emqx_SUITE.erl index a2d8ec4e0..24ef77753 100644 --- a/test/emqx_SUITE.erl +++ b/test/emqx_SUITE.erl @@ -60,7 +60,6 @@ t_get_env(_) -> application:unset_env(emqx, undefined_key). t_emqx_pubsub_api(_) -> - emqx:start(), true = emqx:is_running(node()), {ok, C} = emqtt:start_link([{host, "localhost"}, {clientid, "myclient"}]), {ok, _} = emqtt:connect(C), @@ -190,4 +189,4 @@ hook_filter2(_, _Acc, _IntArg) -> false. hook_filter2_1(arg, _Acc, init_arg) -> true; hook_filter2_1(arg1, _Acc, init_arg) -> true; -hook_filter2_1(_, _Acc, _IntArg) -> false. \ No newline at end of file +hook_filter2_1(_, _Acc, _IntArg) -> false. diff --git a/test/emqx_banned_SUITE.erl b/test/emqx_banned_SUITE.erl index a4201cdc1..d99530e12 100644 --- a/test/emqx_banned_SUITE.erl +++ b/test/emqx_banned_SUITE.erl @@ -45,6 +45,7 @@ t_add_delete(_) -> }, ok = emqx_banned:create(Banned), ?assertEqual(1, emqx_banned:info(size)), + ok = emqx_banned:delete({clientid, <<"TestClient">>}), ?assertEqual(0, emqx_banned:info(size)). diff --git a/test/emqx_flapping_SUITE.erl b/test/emqx_flapping_SUITE.erl index ed0ff7567..4d9fd5907 100644 --- a/test/emqx_flapping_SUITE.erl +++ b/test/emqx_flapping_SUITE.erl @@ -37,6 +37,7 @@ set_special_configs(_App) -> ok. end_per_suite(_Config) -> emqx_ct_helpers:stop_apps([]), + ekka_mnesia:delete_schema(), %% Clean emqx_banned table ok. t_detect_check(_) -> @@ -55,8 +56,8 @@ t_detect_check(_) -> false = emqx_banned:check(ClientInfo), Childrens = supervisor:which_children(emqx_cm_sup), {flapping, Pid, _, _} = lists:keyfind(flapping, 1, Childrens), - gen_server:call(Pid, test), - gen_server:cast(Pid, test), + gen_server:call(Pid, unexpected_msg), + gen_server:cast(Pid, unexpected_msg), Pid ! test, ok = emqx_flapping:stop(). diff --git a/test/emqx_mod_acl_internal_SUITE.erl b/test/emqx_mod_acl_internal_SUITE.erl index d92e45f1e..4849fab7d 100644 --- a/test/emqx_mod_acl_internal_SUITE.erl +++ b/test/emqx_mod_acl_internal_SUITE.erl @@ -26,11 +26,11 @@ all() -> emqx_ct:all(?MODULE). init_per_suite(Config) -> emqx_ct_helpers:boot_modules(all), - emqx_ct_helpers:start_apps([emqx]), + emqx_ct_helpers:start_apps([]), Config. end_per_suite(_Config) -> - emqx_ct_helpers:stop_apps([emqx]). + emqx_ct_helpers:stop_apps([]). t_load_unload(_) -> ?assertEqual({error,already_exists}, emqx_mod_acl_internal:load([])), diff --git a/test/emqx_mod_presence_SUITE.erl b/test/emqx_mod_presence_SUITE.erl index 580eacb2d..afa7a4312 100644 --- a/test/emqx_mod_presence_SUITE.erl +++ b/test/emqx_mod_presence_SUITE.erl @@ -26,13 +26,13 @@ all() -> emqx_ct:all(?MODULE). init_per_suite(Config) -> emqx_ct_helpers:boot_modules(all), - emqx_ct_helpers:start_apps([emqx]), + emqx_ct_helpers:start_apps([]), %% Ensure all the modules unloaded. ok = emqx_modules:unload(), Config. end_per_suite(_Config) -> - emqx_ct_helpers:stop_apps([emqx]). + emqx_ct_helpers:stop_apps([]). %% Test case for emqx_mod_presence t_mod_presence(_) -> diff --git a/test/emqx_mod_rewrite_SUITE.erl b/test/emqx_mod_rewrite_SUITE.erl index 8ebeaf245..74397b843 100644 --- a/test/emqx_mod_rewrite_SUITE.erl +++ b/test/emqx_mod_rewrite_SUITE.erl @@ -30,13 +30,13 @@ all() -> emqx_ct:all(?MODULE). init_per_suite(Config) -> emqx_ct_helpers:boot_modules(all), - emqx_ct_helpers:start_apps([emqx]), + emqx_ct_helpers:start_apps([]), %% Ensure all the modules unloaded. ok = emqx_modules:unload(), Config. end_per_suite(_Config) -> - emqx_ct_helpers:stop_apps([emqx]). + emqx_ct_helpers:stop_apps([]). %% Test case for emqx_mod_write t_mod_rewrite(_Config) -> diff --git a/test/emqx_mod_subscription_SUITE.erl b/test/emqx_mod_subscription_SUITE.erl index 65a9b4db0..1b0e98f40 100644 --- a/test/emqx_mod_subscription_SUITE.erl +++ b/test/emqx_mod_subscription_SUITE.erl @@ -26,11 +26,11 @@ all() -> emqx_ct:all(?MODULE). init_per_suite(Config) -> emqx_ct_helpers:boot_modules(all), - emqx_ct_helpers:start_apps([emqx]), + emqx_ct_helpers:start_apps([]), Config. end_per_suite(_Config) -> - emqx_ct_helpers:stop_apps([emqx]). + emqx_ct_helpers:stop_apps([]). t_on_client_connected(_) -> ?assertEqual(ok, emqx_mod_subscription:load([{<<"connected/%c/%u">>, ?QOS_0}])), diff --git a/test/emqx_router_helper_SUITE.erl b/test/emqx_router_helper_SUITE.erl index 87fe5c600..338a7ba65 100644 --- a/test/emqx_router_helper_SUITE.erl +++ b/test/emqx_router_helper_SUITE.erl @@ -25,12 +25,12 @@ all() -> emqx_ct:all(?MODULE). -init_per_testcase(_TestCase, Config) -> - emqx_ct_helpers:start_apps([emqx]), +init_per_suite(Config) -> + emqx_ct_helpers:start_apps([]), Config. -end_per_testcase(_TestCase, Config) -> - Config. +end_per_suite(_Config) -> + emqx_ct_helpers:stop_apps([]). t_monitor(_) -> ok = emqx_router_helper:monitor({undefined, node()}), diff --git a/test/emqx_shared_sub_SUITE.erl b/test/emqx_shared_sub_SUITE.erl index bbc335687..22382df6c 100644 --- a/test/emqx_shared_sub_SUITE.erl +++ b/test/emqx_shared_sub_SUITE.erl @@ -293,3 +293,4 @@ recv_msgs(Count, Msgs) -> after 100 -> Msgs end. + From b1a22931f41d00018ffefbcc20bcc93c49be90c1 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Thu, 9 Jan 2020 12:26:24 +0800 Subject: [PATCH 06/12] Add testcase for takeover (#3160) --- src/emqx_channel.erl | 3 +- test/emqx_takeover_SUITE.erl | 143 +++++++++++++++++++++++++++++++++++ 2 files changed, 144 insertions(+), 2 deletions(-) create mode 100644 test/emqx_takeover_SUITE.erl diff --git a/src/emqx_channel.erl b/src/emqx_channel.erl index d523c2b74..73186a1e1 100644 --- a/src/emqx_channel.erl +++ b/src/emqx_channel.erl @@ -356,7 +356,6 @@ process_connect(ConnPkt = #mqtt_packet_connect{clean_start = CleanStart}, NChannel = Channel#channel{session = Session}, handle_out(connack, {?RC_SUCCESS, sp(false), ConnPkt}, NChannel); {ok, #{session := Session, present := true, pendings := Pendings}} -> - %%TODO: improve later. Pendings1 = lists:usort(lists:append(Pendings, emqx_misc:drain_deliver())), NChannel = Channel#channel{session = Session, resuming = true, @@ -717,7 +716,7 @@ handle_call({takeover, 'begin'}, Channel = #channel{session = Session}) -> handle_call({takeover, 'end'}, Channel = #channel{session = Session, pendings = Pendings}) -> ok = emqx_session:takeover(Session), - %% TODO: Should not drain deliver here + %% TODO: Should not drain deliver here (side effect) Delivers = emqx_misc:drain_deliver(), AllPendings = lists:append(Delivers, Pendings), shutdown(takeovered, AllPendings, Channel); diff --git a/test/emqx_takeover_SUITE.erl b/test/emqx_takeover_SUITE.erl new file mode 100644 index 000000000..ca5ebb084 --- /dev/null +++ b/test/emqx_takeover_SUITE.erl @@ -0,0 +1,143 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2020 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_takeover_SUITE). + +-compile(export_all). +-compile(nowarn_export_all). + +-include("emqx.hrl"). +-include_lib("eunit/include/eunit.hrl"). +-include_lib("common_test/include/ct.hrl"). + +-define(TOPIC, <<"t">>). +-define(CNT, 100). + +%%-------------------------------------------------------------------- +%% Inital funcs + +all() -> emqx_ct:all(?MODULE). + +init_per_suite(Config) -> + emqx_ct_helpers:start_apps([]), + Config. + +end_per_suite(_Config) -> + emqx_ct_helpers:stop_apps([]), + ok. +%%-------------------------------------------------------------------- +%% Testcases + +t_takeover(_) -> + process_flag(trap_exit, true), + AllMsgs = messages(?CNT), + Pos = rand:uniform(?CNT), + + ClientId = <<"clientid">>, + {ok, C1} = emqtt:start_link([{clientid, ClientId}, {clean_start, false}]), + {ok, _} = emqtt:connect(C1), + emqtt:subscribe(C1, <<"t">>, 1), + + spawn(fun() -> + [begin + emqx:publish(lists:nth(I, AllMsgs)), + timer:sleep(rand:uniform(10)) + end || I <- lists:seq(1, Pos)] + end), + emqtt:pause(C1), + timer:sleep(?CNT*10), + + load_meck(ClientId), + spawn(fun() -> + [begin + emqx:publish(lists:nth(I, AllMsgs)), + timer:sleep(rand:uniform(10)) + end || I <- lists:seq(Pos+1, ?CNT)] + end), + {ok, C2} = emqtt:start_link([{clientid, ClientId}, {clean_start, false}]), + {ok, _} = emqtt:connect(C2), + + Received = all_received_publishs(), + ct:pal("middle: ~p, received: ~p", [Pos, [P || {publish, #{payload := P}} <- Received]]), + assert_messages_missed(AllMsgs, Received), + assert_messages_order(AllMsgs, Received), + + emqtt:disconnect(C2), + unload_meck(ClientId). + +t_takover_in_cluster(_) -> + todo. + +%%-------------------------------------------------------------------- +%% Helpers + +load_meck(ClientId) -> + meck:new(fake_conn_mod, [non_strict]), + HookTakeover = fun(Pid, Msg = {takeover, 'begin'}) -> + emqx_connection:call(Pid, Msg); + (Pid, Msg = {takeover, 'end'}) -> + timer:sleep(?CNT*10), + emqx_connection:call(Pid, Msg); + (Pid, Msg) -> + emqx_connection:call(Pid, Msg) + end, + meck:expect(fake_conn_mod, call, HookTakeover), + [ChanPid] = emqx_cm:lookup_channels(ClientId), + ChanInfo = #{conninfo := ConnInfo} = emqx_cm:get_chan_info(ClientId), + NChanInfo = ChanInfo#{conninfo := ConnInfo#{conn_mod := fake_conn_mod}}, + true = ets:update_element(emqx_channel_info, {ClientId, ChanPid}, {2, NChanInfo}). + +unload_meck(_ClientId) -> + meck:unload(fake_conn_mod). + +all_received_publishs() -> + all_received_publishs([]). + +all_received_publishs(Ls) -> + receive + M = {publish, _Pub} -> all_received_publishs([M|Ls]); + _ -> all_received_publishs(Ls) + after 100 -> + lists:reverse(Ls) + end. + +assert_messages_missed(Ls1, Ls2) -> + Missed = lists:filtermap(fun(Msg) -> + No = emqx_message:payload(Msg), + case lists:any(fun({publish, #{payload := No1}}) -> No1 == No end, Ls2) of + true -> false; + false -> {true, No} + end + end, Ls1), + case Missed of + [] -> ok; + _ -> + ct:fail("Miss messages: ~p", [Missed]), error + end. + +assert_messages_order([], []) -> + ok; +assert_messages_order([Msg|Ls1], [{publish, #{payload := No}}|Ls2]) -> + case emqx_message:payload(Msg) == No of + false -> + ct:fail("Message order is not correct, expected: ~p, received: ~p", [emqx_message:payload(Msg), No]), + error; + true -> assert_messages_order(Ls1, Ls2) + end. + +messages(Cnt) -> + [emqx_message:make(ct, 1, ?TOPIC, integer_to_binary(I)) || I <- lists:seq(1, Cnt)]. + From fdeade32125fcfa91799f9d178fdfb6799846dd1 Mon Sep 17 00:00:00 2001 From: zhanghongtong Date: Wed, 8 Jan 2020 18:29:34 +0800 Subject: [PATCH 07/12] Add more test cases --- src/emqx_connection.erl | 2 + test/mqtt_protocol_v5_SUITE.erl | 188 ++++++++++++++++++++++++++++++++ 2 files changed, 190 insertions(+) create mode 100644 test/mqtt_protocol_v5_SUITE.erl diff --git a/src/emqx_connection.erl b/src/emqx_connection.erl index e2a2a75ce..11683a6f2 100644 --- a/src/emqx_connection.erl +++ b/src/emqx_connection.erl @@ -138,6 +138,8 @@ info(active_n, #state{active_n = ActiveN}) -> ActiveN; info(stats_timer, #state{stats_timer = Stats_timer}) -> Stats_timer; +info(limit_timer, #state{limit_timer = Limit_timer}) -> + Limit_timer; info(limiter, #state{limiter = Limiter}) -> maybe_apply(fun emqx_limiter:info/1, Limiter). diff --git a/test/mqtt_protocol_v5_SUITE.erl b/test/mqtt_protocol_v5_SUITE.erl new file mode 100644 index 000000000..5a5946c35 --- /dev/null +++ b/test/mqtt_protocol_v5_SUITE.erl @@ -0,0 +1,188 @@ +%%-------------------------------------------------------------------- +%% 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(mqtt_protocol_v5_SUITE). + +-compile(export_all). +-compile(nowarn_export_all). + +-include("emqx.hrl"). +-include("emqx_mqtt.hrl"). +-include_lib("eunit/include/eunit.hrl"). + +-import(lists, [nth/2]). + +-define(TOPICS, [<<"TopicA">>, <<"TopicA/B">>, <<"Topic/C">>, <<"TopicA/C">>, + <<"/TopicA">>]). + +-define(WILD_TOPICS, [<<"TopicA/+">>, <<"+/C">>, <<"#">>, <<"/#">>, <<"/+">>, + <<"+/+">>, <<"TopicA/#">>]). + +all() -> emqx_ct:all(?MODULE). + +init_per_suite(Config) -> + %% Meck emqtt + ok = meck:new(emqtt, [non_strict, passthrough, no_history, no_link]), + %% Start Apps + emqx_ct_helpers:start_apps([]), + Config. + +end_per_suite(_Config) -> + ok = meck:unload(emqtt), + emqx_ct_helpers:stop_apps([]). + +%%-------------------------------------------------------------------- +%% Helpers +%%-------------------------------------------------------------------- + +receive_messages(Count) -> + receive_messages(Count, []). + +receive_messages(0, Msgs) -> + Msgs; +receive_messages(Count, Msgs) -> + receive + {publish, Msg} -> + receive_messages(Count-1, [Msg|Msgs]); + _Other -> + receive_messages(Count, Msgs) + after 100 -> + Msgs + end. + +clean_retained(Topic) -> + {ok, Clean} = emqtt:start_link([{clean_start, true}]), + {ok, _} = emqtt:connect(Clean), + {ok, _} = emqtt:publish(Clean, Topic, #{}, <<"">>, [{qos, ?QOS_1}, {retain, true}]), + ok = emqtt:disconnect(Clean). + +%%-------------------------------------------------------------------- +%% Test Cases +%%-------------------------------------------------------------------- + +t_basic_test(_) -> + Topic = nth(1, ?TOPICS), + ct:print("Basic test starting"), + {ok, C} = emqtt:start_link([{proto_ver, v5}]), + {ok, _} = emqtt:connect(C), + {ok, _, [1]} = emqtt:subscribe(C, Topic, qos1), + {ok, _, [2]} = emqtt:subscribe(C, Topic, qos2), + {ok, _} = emqtt:publish(C, Topic, <<"qos 2">>, 2), + {ok, _} = emqtt:publish(C, Topic, <<"qos 2">>, 2), + {ok, _} = emqtt:publish(C, Topic, <<"qos 2">>, 2), + ?assertEqual(3, length(receive_messages(3))), + ok = emqtt:disconnect(C). + +%%-------------------------------------------------------------------- +%% Connection +%%-------------------------------------------------------------------- + +t_connect_idle_timeout(_) -> + IdleTimeout = 2, + emqx_zone:set_env(external, idle_timeout, IdleTimeout), + + {ok, Sock} = emqtt_sock:connect({127,0,0,1}, 1883, [], 60000), + timer:sleep(timer:seconds(IdleTimeout)), + ?assertMatch({error, closed}, emqtt_sock:recv(Sock,1024)). + +t_connect_limit_timeout(_) -> + ok = meck:new(proplists, [non_strict, passthrough, no_history, no_link, unstick]), + meck:expect(proplists, get_value, fun(active_n, _Options, _Default) -> 1; + (Arg1, ARg2, Arg3) -> meck:passthrough([Arg1, ARg2, Arg3]) + end), + + Topic = nth(1, ?TOPICS), + emqx_zone:set_env(external, publish_limit, {2.0, 3}), + + {ok, Client} = emqtt:start_link([{clientid, <<"t_connect_limit_timeout">>},{proto_ver, v5},{keepalive, 60}]), + {ok, _} = emqtt:connect(Client), + [ClientPid] = emqx_cm:lookup_channels(<<"t_connect_limit_timeout">>), + + ?assertEqual(undefined, emqx_connection:info(limit_timer, sys:get_state(ClientPid))), + ok = emqtt:publish(Client, Topic, <<"t_shared_subscriptions_client_terminates_when_qos_eq_2">>, 0), + ok = emqtt:publish(Client, Topic, <<"t_shared_subscriptions_client_terminates_when_qos_eq_2">>, 0), + ok = emqtt:publish(Client, Topic, <<"t_shared_subscriptions_client_terminates_when_qos_eq_2">>, 0), + ok = emqtt:publish(Client, Topic, <<"t_shared_subscriptions_client_terminates_when_qos_eq_2">>, 0), + timer:sleep(200), + ?assert(is_reference(emqx_connection:info(limit_timer, sys:get_state(ClientPid)))), + + meck:unload(proplists). + +t_connect_emit_stats_timeout(_) -> + IdleTimeout = 2, + emqx_zone:set_env(external, idle_timeout, IdleTimeout), + + {ok, Client} = emqtt:start_link([{clientid, <<"t_connect_emit_stats_timeout">>},{proto_ver, v5},{keepalive, 60}]), + {ok, _} = emqtt:connect(Client), + [ClientPid] = emqx_cm:lookup_channels(<<"t_connect_emit_stats_timeout">>), + + ?assertEqual(undefined, emqx_connection:info(stats_timer, sys:get_state(ClientPid))), + pong = emqtt:ping(Client), + ?assert(is_reference(emqx_connection:info(stats_timer, sys:get_state(ClientPid)))), + timer:sleep(timer:seconds(IdleTimeout)), + ?assertEqual(undefined, emqx_connection:info(stats_timer, sys:get_state(ClientPid))). + +%% [MQTT-3.1.2-22] +t_connect_keepalive_timeout(_) -> + Keepalive = 2, + + {ok, Client} = emqtt:start_link([{proto_ver, v5}, + {keepalive, Keepalive}]), + {ok, _} = emqtt:connect(Client), + emqtt:pause(Client), + receive + Msg -> + ReasonCode = 141, + ?assertMatch({disconnected, ReasonCode, _Channel}, Msg) + after + round(timer:seconds(Keepalive) * 2 * 1.5 ) -> error("keepalive timeout") + end. + +%%-------------------------------------------------------------------- +%% Shared Subscriptions +%%-------------------------------------------------------------------- + +t_shared_subscriptions_client_terminates_when_qos_eq_2(_) -> + application:set_env(emqx, shared_dispatch_ack_enabled, true), + + Topic = nth(1, ?TOPICS), + Shared_topic = list_to_binary("$share/sharename/" ++ binary_to_list(<<"TopicA">>)), + + CRef = counters:new(1, [atomics]), + meck:expect(emqtt, connected, + fun(cast, ?PUBLISH_PACKET(?QOS_2, _PacketId), _State) -> + ok = counters:add(CRef, 1, 1), + {stop, {shutdown, for_testiong}}; + (Arg1, ARg2, Arg3) -> meck:passthrough([Arg1, ARg2, Arg3]) + end), + + {ok, Sub1} = emqtt:start_link([{proto_ver, v5}, + {clientid, <<"sub_client_1">>}, + {keepalive, 5}]), + {ok, _} = emqtt:connect(Sub1), + {ok, _, [2]} = emqtt:subscribe(Sub1, Shared_topic, qos2), + {ok, Sub2} = emqtt:start_link([{proto_ver, v5}, + {clientid, <<"sub_client_2">>}, + {keepalive, 5}]), + {ok, _} = emqtt:connect(Sub2), + {ok, _, [2]} = emqtt:subscribe(Sub2, Shared_topic, qos2), + + {ok, Pub} = emqtt:start_link([{proto_ver, v5}, {clientid, <<"pub_client">>}]), + {ok, _} = emqtt:connect(Pub), + {ok, _} = emqtt:publish(Pub, Topic, <<"t_shared_subscriptions_client_terminates_when_qos_eq_2">>, 2), + + timer:sleep(200), + ?assertEqual(1, counters:get(CRef, 1)). From 693bd493f0f7f5eb208ac24c6d128202da41abb3 Mon Sep 17 00:00:00 2001 From: zhanghongtong Date: Thu, 9 Jan 2020 10:45:02 +0800 Subject: [PATCH 08/12] Fix error for test case --- test/mqtt_protocol_v5_SUITE.erl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/test/mqtt_protocol_v5_SUITE.erl b/test/mqtt_protocol_v5_SUITE.erl index 5a5946c35..7d007ae2c 100644 --- a/test/mqtt_protocol_v5_SUITE.erl +++ b/test/mqtt_protocol_v5_SUITE.erl @@ -119,6 +119,7 @@ t_connect_limit_timeout(_) -> timer:sleep(200), ?assert(is_reference(emqx_connection:info(limit_timer, sys:get_state(ClientPid)))), + emqtt:disconnect(Client), meck:unload(proplists). t_connect_emit_stats_timeout(_) -> @@ -133,7 +134,8 @@ t_connect_emit_stats_timeout(_) -> pong = emqtt:ping(Client), ?assert(is_reference(emqx_connection:info(stats_timer, sys:get_state(ClientPid)))), timer:sleep(timer:seconds(IdleTimeout)), - ?assertEqual(undefined, emqx_connection:info(stats_timer, sys:get_state(ClientPid))). + ?assertEqual(undefined, emqx_connection:info(stats_timer, sys:get_state(ClientPid))), + emqtt:disconnect(Client). %% [MQTT-3.1.2-22] t_connect_keepalive_timeout(_) -> @@ -156,6 +158,7 @@ t_connect_keepalive_timeout(_) -> %%-------------------------------------------------------------------- t_shared_subscriptions_client_terminates_when_qos_eq_2(_) -> + process_flag(trap_exit, true), application:set_env(emqx, shared_dispatch_ack_enabled, true), Topic = nth(1, ?TOPICS), @@ -184,5 +187,7 @@ t_shared_subscriptions_client_terminates_when_qos_eq_2(_) -> {ok, _} = emqtt:connect(Pub), {ok, _} = emqtt:publish(Pub, Topic, <<"t_shared_subscriptions_client_terminates_when_qos_eq_2">>, 2), - timer:sleep(200), + receive + {disconnected,shutdown,for_testiong} -> ok + end, ?assertEqual(1, counters:get(CRef, 1)). From 16f829a3451bda07f7c245101bbb7bc37d643bb3 Mon Sep 17 00:00:00 2001 From: zhanghongtong Date: Thu, 9 Jan 2020 10:55:05 +0800 Subject: [PATCH 09/12] Increased wait time for test cases --- test/mqtt_protocol_v5_SUITE.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/mqtt_protocol_v5_SUITE.erl b/test/mqtt_protocol_v5_SUITE.erl index 7d007ae2c..6c5ce5879 100644 --- a/test/mqtt_protocol_v5_SUITE.erl +++ b/test/mqtt_protocol_v5_SUITE.erl @@ -123,7 +123,7 @@ t_connect_limit_timeout(_) -> meck:unload(proplists). t_connect_emit_stats_timeout(_) -> - IdleTimeout = 2, + IdleTimeout = 5, emqx_zone:set_env(external, idle_timeout, IdleTimeout), {ok, Client} = emqtt:start_link([{clientid, <<"t_connect_emit_stats_timeout">>},{proto_ver, v5},{keepalive, 60}]), From 7bd6b249dafc997e5653f8edae91b99be16a2a20 Mon Sep 17 00:00:00 2001 From: zhanghongtong Date: Thu, 9 Jan 2020 11:28:41 +0800 Subject: [PATCH 10/12] Increased wait time for test cases --- test/mqtt_protocol_v5_SUITE.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/mqtt_protocol_v5_SUITE.erl b/test/mqtt_protocol_v5_SUITE.erl index 6c5ce5879..da69be6c3 100644 --- a/test/mqtt_protocol_v5_SUITE.erl +++ b/test/mqtt_protocol_v5_SUITE.erl @@ -123,7 +123,7 @@ t_connect_limit_timeout(_) -> meck:unload(proplists). t_connect_emit_stats_timeout(_) -> - IdleTimeout = 5, + IdleTimeout = 10, emqx_zone:set_env(external, idle_timeout, IdleTimeout), {ok, Client} = emqtt:start_link([{clientid, <<"t_connect_emit_stats_timeout">>},{proto_ver, v5},{keepalive, 60}]), From 4dde1fcf7c3b14177f8530159d0ac8a14c8d58da Mon Sep 17 00:00:00 2001 From: zhanghongtong Date: Thu, 9 Jan 2020 14:14:33 +0800 Subject: [PATCH 11/12] Fix error for test case --- test/mqtt_protocol_v5_SUITE.erl | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/test/mqtt_protocol_v5_SUITE.erl b/test/mqtt_protocol_v5_SUITE.erl index da69be6c3..0c157b45a 100644 --- a/test/mqtt_protocol_v5_SUITE.erl +++ b/test/mqtt_protocol_v5_SUITE.erl @@ -91,11 +91,11 @@ t_basic_test(_) -> %%-------------------------------------------------------------------- t_connect_idle_timeout(_) -> - IdleTimeout = 2, + IdleTimeout = 2000, emqx_zone:set_env(external, idle_timeout, IdleTimeout), {ok, Sock} = emqtt_sock:connect({127,0,0,1}, 1883, [], 60000), - timer:sleep(timer:seconds(IdleTimeout)), + timer:sleep(IdleTimeout), ?assertMatch({error, closed}, emqtt_sock:recv(Sock,1024)). t_connect_limit_timeout(_) -> @@ -123,17 +123,15 @@ t_connect_limit_timeout(_) -> meck:unload(proplists). t_connect_emit_stats_timeout(_) -> - IdleTimeout = 10, + IdleTimeout = 2000, emqx_zone:set_env(external, idle_timeout, IdleTimeout), {ok, Client} = emqtt:start_link([{clientid, <<"t_connect_emit_stats_timeout">>},{proto_ver, v5},{keepalive, 60}]), {ok, _} = emqtt:connect(Client), [ClientPid] = emqx_cm:lookup_channels(<<"t_connect_emit_stats_timeout">>), - - ?assertEqual(undefined, emqx_connection:info(stats_timer, sys:get_state(ClientPid))), - pong = emqtt:ping(Client), + ?assert(is_reference(emqx_connection:info(stats_timer, sys:get_state(ClientPid)))), - timer:sleep(timer:seconds(IdleTimeout)), + timer:sleep(IdleTimeout), ?assertEqual(undefined, emqx_connection:info(stats_timer, sys:get_state(ClientPid))), emqtt:disconnect(Client). From 2499d3093656f75870ae82852aff1f45f0f557b9 Mon Sep 17 00:00:00 2001 From: YuShifan <894402575@qq.com> Date: Fri, 10 Jan 2020 09:20:32 +0800 Subject: [PATCH 12/12] Fix readme typo (#3166) --- README-CN.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README-CN.md b/README-CN.md index 0a2142bf8..78fd08806 100644 --- a/README-CN.md +++ b/README-CN.md @@ -5,7 +5,7 @@ [![Coverage Status](https://coveralls.io/repos/github/emqx/emqx/badge.svg)](https://coveralls.io/github/emqx/emqx) [![Docker Pulls](https://img.shields.io/docker/pulls/emqx/emqx)](https://hub.docker.com/r/emqx/emqx) [![Slack Invite]()](https://slack-invite.emqx.io) -[![Twitter](https://img.shields.io/badge/Twiiter-EMQ%20X-1DA1F2?logo=twitter)](https://twitter.com/emqtt) +[![Twitter](https://img.shields.io/badge/Twitter-EMQ%20X-1DA1F2?logo=twitter)](https://twitter.com/emqtt) [![We are hiring](https://www.emqx.io/static/img/github_readme_cn_bg.png)](https://emqx.io/cn/about/jobs) diff --git a/README.md b/README.md index 07714576e..72e1b445b 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [![Coverage Status](https://coveralls.io/repos/github/emqx/emqx/badge.svg)](https://coveralls.io/github/emqx/emqx) [![Docker Pulls](https://img.shields.io/docker/pulls/emqx/emqx)](https://hub.docker.com/r/emqx/emqx) [![Slack Invite]()](https://slack-invite.emqx.io) -[![Twitter](https://img.shields.io/badge/Twiiter-EMQ%20X-1DA1F2?logo=twitter)](https://twitter.com/emqtt) +[![Twitter](https://img.shields.io/badge/Twitter-EMQ%20X-1DA1F2?logo=twitter)](https://twitter.com/emqtt) [![We are hiring](https://www.emqx.io/static/img/github_readme_en_bg.png)](https://emqx.io/about/jobs)