diff --git a/src/e9p_server.erl b/src/e9p_server.erl index 4c0f436..b524f56 100644 --- a/src/e9p_server.erl +++ b/src/e9p_server.erl @@ -161,6 +161,5 @@ handle_message(#twstat{fid = FID, stat = Stat}, State) -> {ok, NewState} ?= do_call(State, wstat, [FID, Stat]), {ok, #rwstat{}, NewState} end; - handle_message(_Msg, State) -> {error, ~"Unknown request type", State}. diff --git a/test/e9p_msg_SUITE.erl b/test/e9p_msg_SUITE.erl index 449f7fd..5d655de 100644 --- a/test/e9p_msg_SUITE.erl +++ b/test/e9p_msg_SUITE.erl @@ -14,6 +14,7 @@ all() -> [ stat_encode_decode, + stat_encode_decode_unix, rstat_encode_decode, rclunk_encode_decode, rflush_encode_decode, @@ -39,6 +40,28 @@ stat_encode_decode(_Conf) -> Decoded = e9p_msg:parse_stat(Out), ?assertEqual({ok, Stat}, Decoded). +stat_encode_decode_unix(_Conf) -> + Stat = #{ + type => 0, + dev => 0, + qid => e9p:make_qid(regular, 0, 0), + mode => 0, + atime => 0, + mtime => 0, + length => 0, + name => <<>>, + uid => <<>>, + gid => <<>>, + muid => <<>>, + ext => <<>>, + n_uid => 0, + n_gid => 0, + n_muid => 0 + }, + Out = iolist_to_binary(e9p_msg:encode_stat(Stat, unix)), + Decoded = e9p_msg:parse_stat(Out), + ?assertEqual({ok, Stat}, Decoded). + rstat_encode_decode(_Conf) -> Stat = #{ type => 0,