summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2012-08-11 17:50:46 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2012-08-11 17:50:46 +0100
commitec944b2e6671f93b4ba6ec460122373b33418b14 (patch)
tree3c034e3dbe7072332c42e1768591c764ae9beafd
parentf0ca412e77069423a9c493afce010291ef7179f2 (diff)
parent0c8c8518bba6c2019c756e814781ee0c341b17ef (diff)
downloadrabbitmq-server-ec944b2e6671f93b4ba6ec460122373b33418b14.tar.gz
merge bug25096 into default
-rw-r--r--src/rabbit_control_main.erl22
-rw-r--r--src/rabbit_tests.erl5
2 files changed, 14 insertions, 13 deletions
diff --git a/src/rabbit_control_main.erl b/src/rabbit_control_main.erl
index 0dda32f1..27a35142 100644
--- a/src/rabbit_control_main.erl
+++ b/src/rabbit_control_main.erl
@@ -164,8 +164,8 @@ start() ->
{error, Reason} ->
print_error("~p", [Reason]),
rabbit_misc:quit(2);
- {error_string, Reason} ->
- print_error("~s", [Reason]),
+ {parse_error, {_Line, Mod, Err}} ->
+ print_error("~s", [lists:flatten(Mod:format_error(Err))]),
rabbit_misc:quit(2);
{badrpc, {'EXIT', Reason}} ->
print_error("~p", [Reason]),
@@ -445,16 +445,15 @@ action(eval, Node, [Expr], _Opts, _Inform) ->
case erl_scan:string(Expr) of
{ok, Scanned, _} ->
case erl_parse:parse_exprs(Scanned) of
- {ok, Parsed} ->
- {value, Value, _} = unsafe_rpc(
- Node, erl_eval, exprs, [Parsed, []]),
- io:format("~p~n", [Value]),
- ok;
- {error, E} ->
- {error_string, format_parse_error(E)}
+ {ok, Parsed} -> {value, Value, _} =
+ unsafe_rpc(
+ Node, erl_eval, exprs, [Parsed, []]),
+ io:format("~p~n", [Value]),
+ ok;
+ {error, E} -> {parse_error, E}
end;
{error, E, _} ->
- {error_string, format_parse_error(E)}
+ {parse_error, E}
end.
%%----------------------------------------------------------------------------
@@ -543,9 +542,6 @@ exit_loop(Port) ->
{Port, _} -> exit_loop(Port)
end.
-format_parse_error({_Line, Mod, Err}) ->
- lists:flatten(Mod:format_error(Err)).
-
%%----------------------------------------------------------------------------
default_if_empty(List, Default) when is_list(List) ->
diff --git a/src/rabbit_tests.erl b/src/rabbit_tests.erl
index 40ab9e25..56e952d7 100644
--- a/src/rabbit_tests.erl
+++ b/src/rabbit_tests.erl
@@ -1221,6 +1221,11 @@ test_server_status() ->
ok = control_action(set_vm_memory_high_watermark, ["1.0"]),
ok = control_action(set_vm_memory_high_watermark, [float_to_list(HWM)]),
+ %% eval
+ {error, {parse_error, _}} = control_action(eval, ["\""]),
+ {error, {parse_error, _}} = control_action(eval, ["a("]),
+ ok = control_action(eval, ["a."]),
+
%% cleanup
[{ok, _} = rabbit_amqqueue:delete(QR, false, false) || QR <- [Q, Q2]],