riak_test/tests/rpc_output.erl
Kelly McLaughlin 1f538d7ee0 Update tests that return something other than pass for success
As of commit 3044839456 tests that
return something other than the prescribed success atom 'pass' to
indicate success result in test failure. Change tests that return the
atom 'ok' or some other value to instead return 'pass' to indicate
success.
2014-05-22 15:54:23 -06:00

85 lines
2.8 KiB
Erlang

%% -------------------------------------------------------------------
%%
%% Copyright (c) 2012 Basho Technologies, Inc.
%%
%% This file is provided to you under the Apache License,
%% Version 2.0 (the "License"); you may not use this file
%% except in compliance with the License. You may obtain
%% a copy of the License at
%%
%% http://www.apache.org/licenses/LICENSE-2.0
%%
%% Unless required by applicable law or agreed to in writing,
%% software distributed under the License is distributed on an
%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
%% KIND, either express or implied. See the License for the
%% specific language governing permissions and limitations
%% under the License.
%%
%% -------------------------------------------------------------------
-module(rpc_output).
-behavior(riak_test).
-export([confirm/0]).
-include_lib("eunit/include/eunit.hrl").
-compile([{parse_transform, lager_transform}]).
-behavior(gen_event).
%% gen_event callbacks
-export([init/1,
handle_call/2,
handle_event/2,
handle_info/2,
terminate/2,
code_change/3]).
confirm() ->
gen_event:add_handler(lager_event, ?MODULE, []),
io:put_chars("This is an io:put_chars/1 call"),
io:format("This is an io:format/1 call"),
io:format("This is an io:format/~w call", [2]),
lager:info("This is a lager message"),
{ok, {LogId, Failures}} = gen_event:delete_handler(lager_event, ?MODULE, []),
?assertEqual(5, LogId),
?assertEqual([], Failures),
pass.
-record(state, {level = debug, verbose = true, log_id = 1, failures = []}).
init(_) -> {ok, #state{}}.
handle_event({log, _Dest, _Level, {_Date, _Time}, [_LevelStr, _Location, Message]},
State) ->
check_log_message(lists:flatten(Message), State);
handle_event({log, _Level, {_Date, _Time}, [_LevelStr, _Location, Message]}, State) ->
check_log_message(lists:flatten(Message), State);
handle_event(_, State) ->
{ok, State}.
handle_call(_, State) ->
{ok, State}.
handle_info(_, State) ->
{ok, State}.
code_change(_OldVsn, State, _Extra) ->
{ok, State}.
terminate(_Reason, #state{log_id = LogId, failures = Failures}) ->
{ok, {LogId, Failures}}.
check_log_message(Message, #state{log_id = LogId, failures = Failures} = State) ->
try
case LogId of
1 -> ?assertEqual(Message, "This is an io:put_chars/1 call");
2 -> ?assertEqual(Message, "This is an io:format/1 call");
3 -> ?assertEqual(Message, "This is an io:format/2 call");
4 -> ?assertEqual(Message, "This is a lager message");
_ -> ?assert(false)
end,
{ok, State#state{log_id = LogId + 1}}
catch
_:Reason -> {ok, State#state{log_id = LogId + 1, failures = [Reason|Failures]}}
end.