diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2010-07-06 11:44:58 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2010-07-06 11:44:58 +0100 |
commit | 877b428bbe8c70510a26b2c583da35cc32226334 (patch) | |
tree | 4160dd1ff436865dbeeb3cfe94dcbd224f042699 | |
parent | cef5c164fe09d12befde719fd086736e710e55cd (diff) | |
parent | e3cb023a3b58254c5b744b773db60f7944547a23 (diff) | |
download | rabbitmq-server-877b428bbe8c70510a26b2c583da35cc32226334.tar.gz |
Merged bug22938 into default.
-rw-r--r-- | src/rabbit_amqqueue.erl | 2 | ||||
-rw-r--r-- | src/rabbit_exchange.erl | 4 | ||||
-rw-r--r-- | src/rabbit_tests.erl | 40 |
3 files changed, 21 insertions, 25 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index 7b3d793b..9764e368 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -223,7 +223,7 @@ assert_equivalence(#amqqueue{durable = Durable, auto_delete = AutoDelete} = Q, assert_equivalence(#amqqueue{name = QueueName}, _Durable, _AutoDelete, _Args, _Owner) -> rabbit_misc:protocol_error( - precondition_failed, "parameters for ~s not equivalent", + not_allowed, "parameters for ~s not equivalent", [rabbit_misc:rs(QueueName)]). check_exclusive_access(Q, Owner) -> check_exclusive_access(Q, Owner, lax). diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl index d77bf833..bd9d3d29 100644 --- a/src/rabbit_exchange.erl +++ b/src/rabbit_exchange.erl @@ -198,7 +198,7 @@ assert_equivalence(X = #exchange{ durable = Durable, assert_equivalence(#exchange{ name = Name }, _Type, _Durable, _AutoDelete, _Args) -> rabbit_misc:protocol_error( - precondition_failed, + not_allowed, "cannot redeclare ~s with different type, durable or autodelete value", [rabbit_misc:rs(Name)]). @@ -215,7 +215,7 @@ assert_args_equivalence(#exchange{ name = Name, Ae2 = alternate_exchange_value(Args), if Ae1==Ae2 -> ok; true -> rabbit_misc:protocol_error( - precondition_failed, + not_allowed, "cannot redeclare ~s with inequivalent args", [rabbit_misc:rs(Name)]) end. diff --git a/src/rabbit_tests.erl b/src/rabbit_tests.erl index 960d9a9c..7fbbc1ea 100644 --- a/src/rabbit_tests.erl +++ b/src/rabbit_tests.erl @@ -355,42 +355,38 @@ test_field_values() -> passed. %% Test that content frames don't exceed frame-max -test_content_framing(FrameMax, Fragments) -> +test_content_framing(FrameMax, BodyBin) -> [Header | Frames] = rabbit_binary_generator:build_simple_content_frames( 1, - #content{class_id = 0, properties_bin = <<>>, - payload_fragments_rev = Fragments}, + rabbit_binary_generator:ensure_content_encoded( + rabbit_basic:build_content(#'P_basic'{}, BodyBin)), FrameMax), %% header is formatted correctly and the size is the total of the %% fragments <<_FrameHeader:7/binary, _ClassAndWeight:4/binary, BodySize:64/unsigned, _Rest/binary>> = list_to_binary(Header), - BodySize = size(list_to_binary(Fragments)), - false = lists:any( - fun (ContentFrame) -> - FrameBinary = list_to_binary(ContentFrame), - %% assert - <<_TypeAndChannel:3/binary, - Size:32/unsigned, - _Payload:Size/binary, - 16#CE>> = FrameBinary, - size(FrameBinary) > FrameMax - end, - Frames), + BodySize = size(BodyBin), + true = lists:all( + fun (ContentFrame) -> + FrameBinary = list_to_binary(ContentFrame), + %% assert + <<_TypeAndChannel:3/binary, + Size:32/unsigned, _Payload:Size/binary, 16#CE>> = + FrameBinary, + size(FrameBinary) =< FrameMax + end, Frames), passed. test_content_framing() -> %% no content - passed = test_content_framing(4096, []), - passed = test_content_framing(4096, [<<>>]), + passed = test_content_framing(4096, <<>>), %% easily fit in one frame - passed = test_content_framing(4096, [<<"Easy">>]), + passed = test_content_framing(4096, <<"Easy">>), %% exactly one frame (empty frame = 8 bytes) - passed = test_content_framing(11, [<<"One">>]), + passed = test_content_framing(11, <<"One">>), %% more than one frame - passed = test_content_framing(20, [<<"into more than one frame">>, - <<"This will have to go">>]), + passed = test_content_framing(11, <<"More than one frame">>), passed. test_topic_match(P, R) -> @@ -953,7 +949,7 @@ test_memory_pressure() -> ok = test_memory_pressure_receive_flow(true), %% if we publish at this point, the channel should die - Content = rabbit_basic:build_content([], <<>>), + Content = rabbit_basic:build_content(#'P_basic'{}, <<>>), ok = rabbit_channel:do(Ch0, #'basic.publish'{}, Content), expect_normal_channel_termination(MRef0, Ch0), |