%% %% %CopyrightBegin% %% %% Copyright Ericsson AB 2002-2015. 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. %% %% The Initial Developer of the Original Code is Ericsson AB. %% %CopyrightEnd% %% %%---------------------------------------------------------------------- %% Purpose: Define common macros for testing %%---------------------------------------------------------------------- %% - (some of the) Macros stolen from the test server - %% -define(line,put(test_server_loc,{?MODULE,?LINE}),). %% - Misc macros - -ifndef(APPLICATION). -define(APPLICATION, snmp). -endif. -define(SCONF(K,D,C), snmp_test_lib:set_config(K,D,C)). -define(GCONF(K,C), snmp_test_lib:get_config(K,C)). -define(RCONF(K,C,V), snmp_test_lib:replace_config(K,C,V)). -define(HOSTNAME(N), snmp_test_lib:hostname(N)). -define(LOCALHOST(), snmp_test_lib:localhost()). -define(LOCALHOST(Family), snmp_test_lib:localhost(Family)). -define(SZ(X), snmp_test_lib:sz(X)). -define(OSTYPE(), snmp_test_lib:os_type()). -define(DISPLAY_SUITE_INFO(), snmp_test_lib:display_suite_info(?MODULE)). %% - Test case macros - -define(OS_BASED_SKIP(Skippable), snmp_test_lib:os_based_skip(Skippable)). -define(NON_PC_TC_MAYBE_SKIP(Config, Condition), snmp_test_lib:non_pc_tc_maybe_skip(Config, Condition, ?MODULE, ?LINE)). -define(SKIP(Reason), snmp_test_lib:skip(Reason, ?MODULE, ?LINE)). -define(FAIL(Reason), snmp_test_lib:fail(Reason, ?MODULE, ?LINE)). %% - Time macros - -ifdef(DONT_USE_TEST_SERVER). -define(HOURS(N), snmp_test_lib:hours(N)). -define(MINS(N), snmp_test_lib:minutes(N)). -define(SECS(N), snmp_test_lib:seconds(N)). -else. -define(HOURS(N), test_server:hours(N)). -define(MINS(N), test_server:minutes(N)). -define(SECS(N), test_server:seconds(N)). -endif. -ifdef(DONT_USE_TEST_SERVER). -define(WD_START(T), snmp_test_lib:watchdog_start(T)). -define(WD_STOP(P), snmp_test_lib:watchdog_stop(P)). -else. -define(WD_START(T), test_server:timetrap(T)). -define(WD_STOP(P), test_server:timetrap_cancel(P)). -endif. -define(SLEEP(MSEC), snmp_test_lib:sleep(MSEC)). %% - Process utility macros - -define(FLUSH(), snmp_test_lib:flush_mqueue()). -define(ETRAP_GET(), snmp_test_lib:trap_exit()). -define(ETRAP_SET(O), snmp_test_lib:trap_exit(O)). %% - Node utility macros - -define(PING(N), snmp_test_lib:ping(N)). -define(LNODES(), snmp_test_lib:local_nodes()). -define(NODES(H), snmp_test_lib:nodes_on(H)). -define(START_NODE(N,A), snmp_test_lib:start_node(N,A)). %% - Application and Crypto utility macros - -define(IS_APP_RUNNING(A), snmp_test_lib:is_app_running(A)). -define(IS_SNMP_RUNNING(), snmp_test_lib:is_snmp_running()). -define(IS_MNESIA_RUNNING(), snmp_test_lib:is_mnesia_running()). -define(IS_CRYPTO_RUNNING(), snmp_test_lib:is_crypto_running()). -define(CRYPTO_START(), snmp_test_lib:crypto_start()). -define(CRYPTO_SUPPORT(), snmp_test_lib:crypto_support()). %% - Dir macros - -define(DEL_DIR(D), snmp_test_lib:del_dir(D)). %% - Print macros -define(P(C), snmp_test_lib:p(?MODULE, C)). -define(P1(F), snmp_test_lib:p(F, [])). -define(P2(F, A), snmp_test_lib:p(F, A)). -ifdef(snmp_debug). -ifndef(snmp_log). -define(snmp_log,true). -endif. -ifndef(snmp_error). -define(snmp_error,true). -endif. -else. -ifdef(snmp_log). -ifndef(snmp_error). -define(snmp_error,true). -endif. -endif. -endif. -ifdef(snmp_debug). -define(DBG(F,A),?PRINT("DBG",F,A)). -else. -define(DBG(F,A),ok). -endif. -ifdef(snmp_log). -define(LOG(F,A),?PRINT("LOG",F,A)). -else. -define(LOG(F,A),ok). -endif. -ifdef(snmp_error). -define(ERR(F,A),?PRINT("ERR",F,A)). -else. -define(ERR(F,A),ok). -endif. -define(INF(F,A),?PRINT("INF",F,A)). -define(PRINT(P,F,A), snmp_test_lib:print(P,?MODULE,?LINE,F,A)).