% SPDX-FileCopyrightText: 2026 Ɓukasz Niemier <~@hauleth.dev> % % SPDX-License-Identifier: Apache-2.0 -module(e9p_msg_SUITE). -compile(export_all). -include("e9p_internal.hrl"). -include_lib("stdlib/include/assert.hrl"). -include_lib("common_test/include/ct.hrl"). all() -> [ stat_encode_decode, rstat_encode_decode, rclunk_encode_decode, rflush_encode_decode, rwstat_encode_decode, rremove_encode_decode ]. stat_encode_decode(_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 => <<>> }, Out = iolist_to_binary(e9p_msg:encode_stat(Stat)), Decoded = e9p_msg:parse_stat(Out), ?assertEqual({ok, Stat}, Decoded). rstat_encode_decode(_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 => <<>> }, Msg = #rstat{stat = Stat}, Tag = 1, Out = e9p_msg:encode(Tag, Msg), Decoded = e9p_msg:parse(iolist_to_binary(Out)), ?assertEqual({ok, Tag, Msg}, Decoded). rclunk_encode_decode(_Conf) -> enc_dec(#rclunk{}). rflush_encode_decode(_Conf) -> enc_dec(#rflush{}). rwstat_encode_decode(_Conf) -> enc_dec(#rwstat{}). rremove_encode_decode(_Conf) -> enc_dec(#rremove{}). enc_dec(Data) -> Tag = 1, Out = e9p_msg:encode(Tag, Data), Encoded = iolist_to_binary(Out), ?assertEqual({ok, Tag, Data}, e9p_msg:parse(Encoded)).