21
21
-include_lib (" eunit/include/eunit.hrl" ).
22
22
23
23
-include (" rabbit_memory.hrl" ).
24
+ -include (" rabbit.hrl" ).
24
25
25
26
-compile (export_all ).
26
27
@@ -42,7 +43,8 @@ groups() ->
42
43
encrypt_decrypt_term ,
43
44
version_equivalence ,
44
45
pid_decompose_compose ,
45
- platform_and_version
46
+ platform_and_version ,
47
+ frame_encoding_does_not_fail_with_empty_binary_payload
46
48
]},
47
49
{parse_mem_limit , [parallel ], [
48
50
parse_mem_limit_relative_exactly_max ,
@@ -388,6 +390,21 @@ version_equivalence(_Config) ->
388
390
false = rabbit_misc :version_minor_equivalent (<<" 3.0.0" >>, <<" 3.1.0" >>),
389
391
false = rabbit_misc :version_minor_equivalent (<<" 3.0.0.1" >>, <<" 3.1.0.1" >>).
390
392
393
+ frame_encoding_does_not_fail_with_empty_binary_payload (_Config ) ->
394
+ [begin
395
+ Content = # content {
396
+ class_id = 60 , properties = none , properties_bin = <<0 ,0 >>, protocol = rabbit_framing_amqp_0_9_1 ,
397
+ payload_fragments_rev = P
398
+ },
399
+ ExpectedFrames = rabbit_binary_generator :build_simple_content_frames (1 , Content , 0 , rabbit_framing_amqp_0_9_1 )
400
+ end || {P , ExpectedFrames } <- [
401
+ {[], [[<<2 ,0 ,1 ,0 ,0 ,0 ,14 >>,[<<0 ,60 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 >>,<<0 ,0 >>],206 ]]},
402
+ {[<<>>], [[<<2 ,0 ,1 ,0 ,0 ,0 ,14 >>,[<<0 ,60 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 >>,<<0 ,0 >>],206 ]]},
403
+ {[<<" payload" >>], [[<<2 ,0 ,1 ,0 ,0 ,0 ,14 >>,[<<0 ,60 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,7 >>,<<0 ,0 >>],206 ],
404
+ [<<3 ,0 ,1 ,0 ,0 ,0 ,7 >>,[<<" payload" >>],206 ]]}
405
+ ]],
406
+ ok .
407
+
391
408
set_stats_interval (Interval ) ->
392
409
application :set_env (rabbit , collect_statistics , coarse ),
393
410
application :set_env (rabbit , collect_statistics_interval , Interval ).
0 commit comments