From f46cfbaa62340cec465bbcfa7b9c50486373bf0d Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Sun, 15 Dec 2019 19:11:52 +0800 Subject: [PATCH] Fix the 'badmatch' error --- test/emqx_ws_connection_SUITE.erl | 40 +++++++++++++------------------ 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/test/emqx_ws_connection_SUITE.erl b/test/emqx_ws_connection_SUITE.erl index f1a1e2347..86d1338f1 100644 --- a/test/emqx_ws_connection_SUITE.erl +++ b/test/emqx_ws_connection_SUITE.erl @@ -179,7 +179,7 @@ t_websocket_handle_pong(_) -> {ok, St} = websocket_handle({pong, <<>>}, St). t_websocket_handle_bad_frame(_) -> - {stop, St} = websocket_handle({badframe, <<>>}, st()), + {[{shutdown, unexpected_ws_frame}], St} = websocket_handle({badframe, <<>>}, st()), {shutdown, unexpected_ws_frame} = ?ws_conn:info(stop_reason, St). t_websocket_info_call(_) -> @@ -211,16 +211,16 @@ t_websocket_info_incoming(_) -> username = <<"username">>, password = <<"passwd">> }, - {reply, [{binary, IoData1}], St1} = + {[{binary, IoData1}], St1} = websocket_info({incoming, ?CONNECT_PACKET(ConnPkt)}, st()), ?assertEqual(<<224,2,130,0>>, iolist_to_binary(IoData1)), %% PINGREQ - {reply, [{binary, IoData2}], St2} = + {[{binary, IoData2}], St2} = websocket_info({incoming, ?PACKET(?PINGREQ)}, St1), ?assertEqual(<<208,0>>, iolist_to_binary(IoData2)), %% PUBLISH Publish = ?PUBLISH_PACKET(?QOS_1, <<"t">>, 1, <<"payload">>), - {reply, [{binary, IoData3}], _St3} = + {[{binary, IoData3}], _St3} = websocket_info({incoming, Publish}, St2), ?assertEqual(<<64,4,0,1,0,0>>, iolist_to_binary(IoData3)). @@ -232,15 +232,14 @@ t_websocket_info_deliver(_) -> Msg0 = emqx_message:make(clientid, ?QOS_0, <<"t">>, <<"">>), Msg1 = emqx_message:make(clientid, ?QOS_1, <<"t">>, <<"">>), self() ! {deliver, <<"#">>, Msg1}, - {reply, [{binary, IoData}], _St} = + {[{binary, IoData}], _St} = websocket_info({deliver, <<"#">>, Msg0}, st()), ?assertEqual(<<48,3,0,1,116,50,5,0,1,116,0,1>>, iolist_to_binary(IoData)). t_websocket_info_timeout_limiter(_) -> Ref = make_ref(), Event = {timeout, Ref, limit_timeout}, - {reply, [{active, true}], St} = - websocket_info(Event, st(#{limit_timer => Ref})), + {[{active, true}], St} = websocket_info(Event, st(#{limit_timer => Ref})), ?assertEqual([], ?ws_conn:info(postponed, St)). t_websocket_info_timeout_keepalive(_) -> @@ -256,31 +255,30 @@ t_websocket_info_timeout_retry(_) -> {ok, _St} = websocket_info({timeout, make_ref(), retry_delivery}, st()). t_websocket_info_close(_) -> - {stop, St} = websocket_info({close, sock_error}, st()), + {[close], St} = websocket_info({close, sock_error}, st()), ?assertEqual({shutdown, sock_error}, ?ws_conn:info(stop_reason, St)). t_websocket_info_shutdown(_) -> - {stop, St} = websocket_info({shutdown, reason}, st()), + {[{shutdown, reason}], St} = websocket_info({shutdown, reason}, st()), ?assertEqual({shutdown, reason}, ?ws_conn:info(stop_reason, St)). t_websocket_info_stop(_) -> - {stop, St} = websocket_info({stop, normal}, st()), + {[{shutdown, normal}], St} = websocket_info({stop, normal}, st()), ?assertEqual(normal, ?ws_conn:info(stop_reason, St)). t_websocket_close(_) -> - {stop, St} = websocket_close(badframe, st()), + {[{shutdown, badframe}], St} = websocket_close(badframe, st()), ?assertEqual({shutdown, badframe}, ?ws_conn:info(stop_reason, St)). t_handle_info_connack(_) -> ConnAck = ?CONNACK_PACKET(?RC_SUCCESS), - {reply, [{binary, IoData}], _St} = + {[{binary, IoData}], _St} = ?ws_conn:handle_info({connack, ConnAck}, st()), ?assertEqual(<<32,2,0,0>>, iolist_to_binary(IoData)). t_handle_info_close(_) -> - {stop, St} = ?ws_conn:handle_info({close, protocol_error}, st()), - ?assertEqual({shutdown, protocol_error}, - ?ws_conn:info(stop_reason, St)). + {[close], St} = ?ws_conn:handle_info({close, protocol_error}, st()), + ?assertEqual({shutdown, protocol_error}, ?ws_conn:info(stop_reason, St)). t_handle_info_event(_) -> ok = meck:new(emqx_cm, [passthrough, no_history]), @@ -293,8 +291,8 @@ t_handle_info_event(_) -> t_handle_timeout_idle_timeout(_) -> TRef = make_ref(), - {stop, St} = ?ws_conn:handle_timeout( - TRef, idle_timeout, st(#{idle_timer => TRef})), + {[{shutdown, idle_timeout}], St} = + ?ws_conn:handle_timeout(TRef, idle_timeout, st(#{idle_timer => TRef})), ?assertEqual({shutdown, idle_timeout}, ?ws_conn:info(stop_reason, St)). t_handle_timeout_keepalive(_) -> @@ -330,7 +328,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}), - {reply, [{binary, IoData}], _St} = + {[{binary, IoData}], _St} = ?ws_conn:handle_incoming(FrameError, st(#{serialize => Serialize})), ?assertEqual(<<224,2,129,0>>, iolist_to_binary(IoData)). @@ -361,13 +359,9 @@ t_enqueue(_) -> [Packet] = ?ws_conn:info(postponed, St). t_shutdown(_) -> - {stop, St} = ?ws_conn:shutdown(closed, st()), + {[{shutdown, closed}], St} = ?ws_conn:shutdown(closed, st()), {shutdown, closed} = ?ws_conn:info(stop_reason, St). -t_stop(_) -> - St = st(#{postponed => [{active, false}]}), - {reply, [{active, false}, close], _} = ?ws_conn:stop(closed, St). - %%-------------------------------------------------------------------- %% Helper functions %%--------------------------------------------------------------------