1: %% 2: %% %CopyrightBegin% 3: %% 4: %% Copyright Ericsson AB 1997-2011. All Rights Reserved. 5: %% 6: %% The contents of this file are subject to the Erlang Public License, 7: %% Version 1.1, (the "License"); you may not use this file except in 8: %% compliance with the License. You should have received a copy of the 9: %% Erlang Public License along with this software. If not, it can be 10: %% retrieved online at http://www.erlang.org/. 11: %% 12: %% Software distributed under the License is distributed on an "AS IS" 13: %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 14: %% the License for the specific language governing rights and limitations 15: %% under the License. 16: %% 17: %% %CopyrightEnd% 18: %% 19: -module(os_mon_SUITE). 20: -include_lib("test_server/include/test_server.hrl"). 21: 22: %% Test server specific exports 23: -export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, 24: init_per_group/2,end_per_group/2]). 25: -export([init_per_testcase/2, end_per_testcase/2]). 26: 27: %% Test cases 28: -export([app_file/1, config/1]). 29: 30: %% Default timetrap timeout (set in init_per_testcase) 31: -define(default_timeout, ?t:minutes(1)). 32: 33: init_per_testcase(_Case, Config) -> 34: Dog = test_server:timetrap(?default_timeout), 35: [{watchdog, Dog}|Config]. 36: 37: end_per_testcase(_Case, Config) -> 38: Dog = ?config(watchdog, Config), 39: test_server:timetrap_cancel(Dog), 40: ok. 41: 42: suite() -> [{ct_hooks,[ts_install_cth]}]. 43: 44: all() -> 45: case test_server:os_type() of 46: {unix, sunos} -> [app_file, config]; 47: _OS -> [app_file] 48: end. 49: 50: groups() -> 51: []. 52: 53: init_per_suite(Config) -> 54: Config. 55: 56: end_per_suite(_Config) -> 57: ok. 58: 59: init_per_group(_GroupName, Config) -> 60: Config. 61: 62: end_per_group(_GroupName, Config) -> 63: Config. 64: 65: 66: app_file(suite) -> 67: []; 68: app_file(doc) -> 69: ["Testing .app file"]; 70: app_file(Config) when is_list(Config) -> 71: ?line ok = test_server:app_test(os_mon), 72: ok. 73: 74: config(suite) -> 75: []; 76: config(doc) -> 77: ["Test OS_Mon configuration"]; 78: config(Config) when is_list(Config) -> 79: 80: IsReg = fun(Name) -> is_pid(whereis(Name)) end, 81: IsNotReg = fun(Name) -> undefined == whereis(Name) end, 82: 83: ?line ok = application:start(os_mon), 84: ?line true = lists:all(IsReg, [cpu_sup, disksup, memsup]), 85: ?line ok = application:stop(os_mon), 86: 87: ?line ok = application:set_env(os_mon, start_cpu_sup, false), 88: ?line ok = application:start(os_mon), 89: ?line true = lists:all(IsReg, [disksup, memsup]), 90: ?line true = IsNotReg(cpu_sup), 91: ?line ok = application:stop(os_mon), 92: ?line ok = application:set_env(os_mon, start_cpu_sup, true), 93: 94: ?line ok = application:set_env(os_mon, start_disksup, false), 95: ?line ok = application:start(os_mon), 96: ?line true = lists:all(IsReg, [cpu_sup, memsup]), 97: ?line true = IsNotReg(disksup), 98: ?line ok = application:stop(os_mon), 99: ?line ok = application:set_env(os_mon, start_disksup, true), 100: 101: ?line ok = application:set_env(os_mon, start_memsup, false), 102: ?line ok = application:start(os_mon), 103: ?line true = lists:all(IsReg, [cpu_sup, disksup]), 104: ?line true = IsNotReg(memsup), 105: ?line ok = application:stop(os_mon), 106: ?line ok = application:set_env(os_mon, start_memsup, true), 107: 108: ok.