aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/test/logger_olp_SUITE.erl
blob: ea3eec89f55037174c5c5839ec3b6f5c8455f865 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
%%
%% %CopyrightBegin%
%%
%% Copyright Ericsson AB 2018. All Rights Reserved.
%%
%% Licensed 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.
%%
%% %CopyrightEnd%
%%
-module(logger_olp_SUITE).

-compile(export_all).

-include_lib("kernel/src/logger_olp.hrl").

suite() ->
    [{timetrap,{seconds,30}}].

init_per_suite(Config) ->
    Config.

end_per_suite(_Config) ->
    ok.

init_per_group(_Group, Config) ->
    Config.

end_per_group(_Group, _Config) ->
    ok.

init_per_testcase(_TestCase, Config) ->
    Config.

end_per_testcase(Case, Config) ->
    try apply(?MODULE,Case,[cleanup,Config])
    catch error:undef -> ok
    end,
    ok.

groups() ->
    [].

all() -> 
    [idle_timer].

%%%-----------------------------------------------------------------
%%% Test cases
idle_timer(_Config) ->
    {ok,_Pid,Olp} = logger_olp:start_link(?MODULE,?MODULE,self(),#{}),
    [logger_olp:load(Olp,{msg,N}) || N<-lists:seq(1,3)],
    timer:sleep(?IDLE_DETECT_TIME*2),
    [{load,{msg,1}},
     {load,{msg,2}},
     {load,{msg,3}},
     {notify,idle}] = test_server:messages_get(),
    logger_olp:cast(Olp,hello),
    timer:sleep(?IDLE_DETECT_TIME*2),
    [{cast,hello}] = test_server:messages_get(),
    ok.
idle_timer(cleanup,_Config) ->
    unlink(whereis(?MODULE)),
    logger_olp:stop(?MODULE),
    ok.

%%%-----------------------------------------------------------------
%%% Olp callbacks
init(P) ->
    {ok,P}.

handle_load(M,P) ->
    P ! {load,M},
    P.

handle_cast(M,P) ->
    P ! {cast,M},
    {noreply,P}.

notify(N,P) ->
    P ! {notify,N},
    P.