|
DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
#include "util/ari.h"#include "util/agent.h"#include <refda/exec.h>#include <refda/exec_proc.h>#include <refda/register.h>#include <refda/edd_prod_ctx.h>#include <refda/ctrl_exec_ctx.h>#include <refda/amm/const.h>#include <refda/amm/ctrl.h>#include <refda/adm/ietf.h>#include <cace/amm/semtype.h>#include <cace/ari/text_util.h>#include <cace/ari/cbor.h>#include <cace/util/logging.h>#include <cace/ari/text.h>#include <cace/util/defs.h>#include <timespec.h>#include <unity.h>
Include dependency graph for test_exec.c:Macros | |
| #define | TEST_CASE(...) |
| #define | EXAMPLE_ORG_ENUM 65535 |
| #define | EXAMPLE_ADM_ENUM 10 |
Functions | |
| static void | suite_adms_init (refda_agent_t *agent) |
| void | suiteSetUp (void) |
| int | suiteTearDown (int failures) |
| void | setUp (void) |
| static void | test_reporting_edd_one_int (refda_edd_prod_ctx_t *ctx) |
| static void | test_exec_ctrl_exec_one_int (refda_ctrl_exec_ctx_t *ctx) |
| static void | check_execute (const cace_ari_t *target, int expect_exp, int wait_limit, int wait_ms[]) |
| Perform a single execution on a single target from a dummy manager. | |
| void | test_refda_exec_target (const char *targethex, int expect_exp, const char *expectloghex) |
| void | test_refda_exec_wait_for (int delay_ms) |
| void | test_refda_exec_wait_until (int delay_ms) |
| void | test_refda_exec_wait_cond (int delay_ms) |
| void | test_refda_exec_time_based_rule (const char *actionhex, const char *starthex, bool convert_start_to_tp, const char *periodhex, int max_exec_count, bool init_enabled, cace_ari_uvast expect_exec_count) |
| void | test_refda_exec_state_based_rule (const char *actionhex, const char *condhex, const char *min_interval_hex, int max_exec_count, bool init_enabled, int expect_enable, cace_ari_uvast expect_exec_count) |
| void | test_refda_exec_state_based_rule_cond_false_then_true (const char *actionhex, const char *condhex, const char *min_interval_hex, int max_exec_count, bool init_enabled, int expect_enable, int expect_exec_count) |
Variables | |
| static refda_agent_t | agent |
| static atomic_int | edd_backing_value = ATOMIC_VAR_INIT(0) |
| static cace_ari_list_t | exec_log |
| #define EXAMPLE_ADM_ENUM 10 |
| #define EXAMPLE_ORG_ENUM 65535 |
| #define TEST_CASE | ( | ... | ) |
|
static |
Perform a single execution on a single target from a dummy manager.
| [in] | target | The target to execute. |
| expect_exp | The expected refda_exec_exp_target() return code. |
References agent, CACE_ARI_TEXT_ENC_OPTS_DEFAULT, cace_ari_text_encode(), CACE_LOG_DEBUG, cace_timeperiod_encode(), refda_timeline_exec_event_t::callback, refda_timeline_event_t::exec, refda_agent_t::exec_timeline, refda_exec_item_t::execution_stage, refda_timeline_exec_event_t::item, refda_exec_seq_t::items, refda_ctrl_exec_ctx_deinit(), refda_ctrl_exec_ctx_init(), refda_exec_proc_expand(), refda_exec_proc_run(), refda_exec_seq_deinit(), refda_exec_seq_init(), REFDA_EXEC_WAITING, refda_runctx_from(), refda_exec_seq_t::runctx, and refda_timeline_event_t::ts.
Referenced by test_refda_exec_target(), test_refda_exec_wait_cond(), test_refda_exec_wait_for(), and test_refda_exec_wait_until().
| void setUp | ( | void | ) |
References agent, exec_log, refda_agent_t::exec_state, and refda_agent_t::exec_timeline.
|
static |
Register CONST objects
Register EDD objects
Register CTRL objects
References agent, cace_amm_idseg_ref_withenum(), cace_amm_obj_store_add_ns(), cace_amm_type_set_use_builtin(), cace_ari_params_set_ac(), cace_ari_set_ac(), cace_ari_set_int(), cace_ari_set_objref_path_intid(), CACE_ARI_TYPE_CTRL, CACE_ARI_TYPE_INT, CACE_MALLOC, EXAMPLE_ADM_ENUM, EXAMPLE_ORG_ENUM, refda_amm_ctrl_desc_t::execute, cace_ari_ac_t::items, refda_agent_t::objs, cace_ari_ref_t::params, refda_amm_edd_desc_t::prod_type, refda_amm_edd_desc_t::produce, refda_agent_bindrefs(), refda_amm_const_desc_init(), refda_amm_ctrl_desc_init(), refda_amm_edd_desc_init(), refda_register_add_param(), refda_register_const(), refda_register_ctrl(), refda_register_edd(), refda_amm_ctrl_desc_t::res_type, test_exec_ctrl_exec_one_int(), test_reporting_edd_one_int(), cace_amm_formal_param_t::typeobj, and refda_amm_const_desc_t::value.
Referenced by suiteSetUp().
| void suiteSetUp | ( | void | ) |
| int suiteTearDown | ( | int | failures | ) |
References agent, cace_closelog(), exec_log, and refda_agent_deinit().
|
static |
| void test_refda_exec_state_based_rule | ( | const char * | actionhex, |
| const char * | condhex, | ||
| const char * | min_interval_hex, | ||
| int | max_exec_count, | ||
| bool | init_enabled, | ||
| int | expect_enable, | ||
| cace_ari_uvast | expect_exec_count | ||
| ) |
References refda_amm_sbr_desc_t::action, agent, cace_ari_get_td(), CACE_LOG_ERR, refda_amm_sbr_desc_t::condition, refda_amm_sbr_desc_t::exec_count, refda_agent_t::exec_timeline, refda_amm_sbr_desc_t::max_exec_count, refda_amm_sbr_desc_t::min_interval, refda_amm_sbr_desc_deinit(), refda_amm_sbr_desc_init(), refda_exec_sbr_enable(), refda_exec_waiting(), refda_exec_worker_iteration(), and test_util_ari_decode().
| void test_refda_exec_state_based_rule_cond_false_then_true | ( | const char * | actionhex, |
| const char * | condhex, | ||
| const char * | min_interval_hex, | ||
| int | max_exec_count, | ||
| bool | init_enabled, | ||
| int | expect_enable, | ||
| int | expect_exec_count | ||
| ) |
References refda_amm_sbr_desc_t::action, agent, cace_ari_get_td(), refda_amm_sbr_desc_t::condition, edd_backing_value, refda_amm_sbr_desc_t::exec_count, refda_amm_sbr_desc_t::max_exec_count, refda_amm_sbr_desc_t::min_interval, refda_amm_sbr_desc_deinit(), refda_amm_sbr_desc_init(), refda_exec_sbr_enable(), refda_exec_waiting(), refda_exec_worker_iteration(), and test_util_ari_decode().
| void test_refda_exec_target | ( | const char * | targethex, |
| int | expect_exp, | ||
| const char * | expectloghex | ||
| ) |
References agent, cace_ari_prim_val_u::as_ac, cace_ari_t::as_lit, cace_amm_type_get_builtin(), cace_amm_type_match(), CACE_AMM_TYPE_MATCH_POSITIVE, cace_ari_deinit(), cace_ari_equal(), CACE_ARI_INIT_UNDEFINED, CACE_ARI_TEXT_ENC_OPTS_DEFAULT, cace_ari_text_encode(), CACE_ARI_TYPE_AC, CACE_LOG_DEBUG, check_execute(), exec_log, refda_agent_t::exec_state, refda_agent_t::exec_state_mutex, refda_agent_t::exec_timeline, test_util_ari_decode(), and cace_ari_lit_t::value.
| void test_refda_exec_time_based_rule | ( | const char * | actionhex, |
| const char * | starthex, | ||
| bool | convert_start_to_tp, | ||
| const char * | periodhex, | ||
| int | max_exec_count, | ||
| bool | init_enabled, | ||
| cace_ari_uvast | expect_exec_count | ||
| ) |
References refda_amm_tbr_desc_t::absolute_start_time, refda_amm_tbr_desc_t::action, agent, cace_ari_get_td(), cace_ari_set_tp_posix(), refda_amm_tbr_desc_t::exec_count, refda_agent_t::exec_timeline, refda_amm_tbr_desc_t::max_exec_count, refda_amm_tbr_desc_t::period, refda_amm_tbr_desc_deinit(), refda_amm_tbr_desc_init(), refda_exec_tbr_enable(), refda_exec_waiting(), refda_exec_worker_iteration(), refda_amm_tbr_desc_t::start_time, and test_util_ari_decode().
| void test_refda_exec_wait_cond | ( | int | delay_ms | ) |
References cace_ari_deinit(), CACE_ARI_INIT_UNDEFINED, cace_ari_params_set_ac(), cace_ari_set_ac(), cace_ari_set_objref_path_intid(), CACE_ARI_TYPE_CTRL, CACE_ARI_TYPE_EDD, check_execute(), cace_ari_ac_t::items, cace_ari_ref_t::params, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_ADM, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_WAIT_COND, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_EDD_SW_VERSION, and REFDA_ADM_IETF_ENUM.
| void test_refda_exec_wait_for | ( | int | delay_ms | ) |
References cace_ari_deinit(), CACE_ARI_INIT_UNDEFINED, cace_ari_params_set_ac(), cace_ari_set_objref_path_intid(), cace_ari_set_td(), CACE_ARI_TYPE_CTRL, check_execute(), cace_ari_ref_t::params, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_ADM, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_WAIT_FOR, and REFDA_ADM_IETF_ENUM.
| void test_refda_exec_wait_until | ( | int | delay_ms | ) |
References cace_ari_deinit(), CACE_ARI_INIT_UNDEFINED, cace_ari_params_set_ac(), cace_ari_set_objref_path_intid(), cace_ari_set_tp_posix(), CACE_ARI_TYPE_CTRL, check_execute(), cace_ari_ref_t::params, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_ADM, REFDA_ADM_IETF_DTNMA_AGENT_ENUM_OBJID_CTRL_WAIT_UNTIL, and REFDA_ADM_IETF_ENUM.
|
static |
References CACE_ARI_INIT_UNDEFINED, cace_ari_set_int(), edd_backing_value, refda_edd_prod_ctx_set_result_move(), and result.
Referenced by suite_adms_init().
|
static |
|
static |
Referenced by test_refda_exec_state_based_rule_cond_false_then_true(), and test_reporting_edd_one_int().
|
static |
Referenced by setUp(), suiteSetUp(), suiteTearDown(), test_exec_ctrl_exec_one_int(), and test_refda_exec_target().