11use super :: * ;
22use bytes:: { Bytes , BytesMut } ;
3- use std:: collections:: HashMap ;
3+ // use std::collections::HashMap;
44
55#[ test]
66fn test_basic ( ) -> Result < ( ) > {
@@ -53,8 +53,8 @@ fn test_basic() -> Result<()> {
5353 "wrong computed marshal size"
5454 ) ;
5555
56- let mut raw = BytesMut :: new ( ) ;
57- let n = packet . marshal_to ( & mut raw ) ? ;
56+ let raw = packet . marshal ( ) ? ;
57+ let n = raw . len ( ) ;
5858 assert_eq ! ( n, raw_pkt. len( ) , "wrong marshal size" ) ;
5959
6060 assert_eq ! (
@@ -115,6 +115,9 @@ fn test_extension() -> Result<()> {
115115 result. is_err( ) ,
116116 "Marshal did not error on packet with invalid extension length"
117117 ) ;
118+ if let Err ( err) = result {
119+ assert ! ( Error :: ErrBufferTooSmall . equal( & err) ) ;
120+ }
118121
119122 Ok ( ( ) )
120123}
@@ -158,12 +161,8 @@ fn test_packet_marshal_unmarshal() -> Result<()> {
158161 payload : Bytes :: from_static ( & [ 0xFFu8 ; 15 ] ) ,
159162 ..Default :: default ( )
160163 } ;
161- let mut raw = BytesMut :: new ( ) ;
162- let _ = pkt. marshal_to ( & mut raw) ?;
163-
164- let raw = raw. freeze ( ) ;
165- let buf = & mut raw. clone ( ) ;
166- let p = Packet :: unmarshal ( buf) ?;
164+ let mut raw = pkt. marshal ( ) ?;
165+ let p = Packet :: unmarshal ( & mut raw) ?;
167166
168167 assert_eq ! ( pkt, p) ;
169168
@@ -199,8 +198,7 @@ fn test_rfc8285_one_byte_extension() -> Result<()> {
199198 payload : raw_pkt. slice ( 20 ..) ,
200199 } ;
201200
202- let mut dst = BytesMut :: new ( ) ;
203- let _ = p. marshal_to ( & mut dst) ?;
201+ let dst = p. marshal ( ) ?;
204202 assert_eq ! ( dst, raw_pkt) ;
205203
206204 Ok ( ( ) )
@@ -266,8 +264,7 @@ fn test_rfc8285_one_byte_two_extension_of_two_bytes() -> Result<()> {
266264 payload : raw_pkt. slice ( 20 ..) ,
267265 } ;
268266
269- let mut dst = BytesMut :: new ( ) ;
270- let _ = p. marshal_to ( & mut dst) ?;
267+ let dst = p. marshal ( ) ?;
271268 assert_eq ! ( dst, raw_pkt) ;
272269
273270 Ok ( ( ) )
@@ -329,7 +326,7 @@ fn test_rfc8285_one_byte_multiple_extensions_with_padding() -> Result<()> {
329326 0x98 , 0x36 , 0xbe , 0x88 , 0x9e ,
330327 ] ;
331328
332- let checker = |name : & str , buf : & mut [ u8 ] , p : & mut Packet | -> Result < ( ) > {
329+ let checker = |name : & str , buf : & mut [ u8 ] , p : & Packet | -> Result < ( ) > {
333330 let size = p. marshal_to ( buf) ?;
334331
335332 assert_eq ! (
@@ -342,8 +339,16 @@ fn test_rfc8285_one_byte_multiple_extensions_with_padding() -> Result<()> {
342339 Ok ( ( ) )
343340 } ;
344341
345- checker ( "CleanBuffer" , & mut dst_buf[ 0 ] , & mut p) ?;
346- checker ( "DirtyBuffer" , & mut dst_buf[ 1 ] , & mut p)
342+ checker ( "CleanBuffer" , & mut dst_buf[ 0 ] , & packet) ?;
343+ checker ( "DirtyBuffer" , & mut dst_buf[ 1 ] , & packet) ?;
344+
345+ let result = packet. marshal_to ( & mut dst_buf[ 2 ] ) ;
346+ assert ! ( result. is_err( ) ) ;
347+ if let Err ( err) = result {
348+ assert ! ( Error :: ErrBufferTooSmall . equal( & err) ) ;
349+ }
350+
351+ Ok ( ( ) )
347352}
348353
349354/*
0 commit comments