summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2010-07-06 11:44:58 +0100
committerSimon MacMullen <simon@rabbitmq.com>2010-07-06 11:44:58 +0100
commit877b428bbe8c70510a26b2c583da35cc32226334 (patch)
tree4160dd1ff436865dbeeb3cfe94dcbd224f042699
parentcef5c164fe09d12befde719fd086736e710e55cd (diff)
parente3cb023a3b58254c5b744b773db60f7944547a23 (diff)
downloadrabbitmq-server-877b428bbe8c70510a26b2c583da35cc32226334.tar.gz
Merged bug22938 into default.
-rw-r--r--src/rabbit_amqqueue.erl2
-rw-r--r--src/rabbit_exchange.erl4
-rw-r--r--src/rabbit_tests.erl40
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),