B#14347: usp events not working for multi-instance objects

This commit is contained in:
Amin Ben Romdhane 2024-05-07 15:01:38 +02:00
parent d988764f9d
commit eee1130299
8 changed files with 182 additions and 60 deletions

View file

@ -45,8 +45,14 @@ static void bbfdm_event_handler(struct ubus_context *ctx, struct ubus_event_hand
if (!msg || !type) if (!msg || !type)
return; return;
char *dm_path = get_events_dm_path(&u->event_handlers, type); char *event_dm_path = get_events_dm_path(&u->event_handlers, type);
if (dm_path == NULL) if (event_dm_path == NULL)
return;
char dm_path[MAX_DM_PATH];
replace_str(event_dm_path, ".{i}.", ".*.", dm_path, sizeof(dm_path));
if (strlen(dm_path) == 0)
return; return;
char *str = blobmsg_format_json(msg, true); char *str = blobmsg_format_json(msg, true);
@ -80,12 +86,16 @@ static void bbfdm_event_handler(struct ubus_context *ctx, struct ubus_event_hand
blob_buf_init(&bb, 0); blob_buf_init(&bb, 0);
list_for_each_entry(param, &bbf_ctx.list_parameter, list) { list_for_each_entry(param, &bbf_ctx.list_parameter, list) {
blobmsg_add_string(&bb, param->name, param->data); if (strcmp(param->name, "Event_Path") == 0) {
blobmsg_add_string(&b, "name", param->data);
strncpyt(dm_path, param->data, sizeof(dm_path));
} else {
blobmsg_add_string(&bb, param->name, param->data);
}
} }
snprintf(method_name, sizeof(method_name), "%s.%s", DM_STRLEN(u->config.out_root_obj) ? u->config.out_root_obj : u->config.out_name, BBF_EVENT_NAME); snprintf(method_name, sizeof(method_name), "%s.%s", DM_STRLEN(u->config.out_root_obj) ? u->config.out_root_obj : u->config.out_name, BBF_EVENT_NAME);
blobmsg_add_string(&b, "name", dm_path);
blobmsg_add_field(&b, BLOBMSG_TYPE_TABLE, "input", blob_data(bb.head), blob_len(bb.head)); blobmsg_add_field(&b, BLOBMSG_TYPE_TABLE, "input", blob_data(bb.head), blob_len(bb.head));
ubus_send_event(ctx, method_name, b.head); ubus_send_event(ctx, method_name, b.head);

View file

@ -45,15 +45,22 @@ static int get_event_args_WiFiDataElementsAssociationEvent_Associated(char *refp
static int event_WiFiDataElementsAssociationEvent_Associated(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action) static int event_WiFiDataElementsAssociationEvent_Associated(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{ {
char *event_time = dmjson_get_value((json_object *)value, 1, "eventTime"); switch (action) {
char *bssid = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent.AssocData", "DisassocData", "BSSID"); case EVENT_CHECK:
char *mac_addr = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent.AssocData", "DisassocData", "MACAddress"); // Nothing to check
break;
case EVENT_RUN:
char *event_time = dmjson_get_value((json_object *)value, 1, "eventTime");
char *bssid = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent.AssocData", "DisassocData", "BSSID");
char *mac_addr = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent.AssocData", "DisassocData", "MACAddress");
add_list_parameter(ctx, dmstrdup("TimeStamp"), dmstrdup(event_time), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("TimeStamp"), dmstrdup(event_time), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("BSSID"), dmstrdup(bssid), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("BSSID"), dmstrdup(bssid), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("MACAddress"), dmstrdup(mac_addr), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("MACAddress"), dmstrdup(mac_addr), DMT_TYPE[DMT_STRING], NULL);
break;
}
return 0; return 0;
} }
DMLEAF tWiFiDataElementsAssociationEventParams[] = { DMLEAF tWiFiDataElementsAssociationEventParams[] = {

View file

@ -243,6 +243,11 @@ enum set_value_action {
VALUESET VALUESET
}; };
enum event_action_enum {
EVENT_RUN,
EVENT_CHECK
};
enum del_action_enum { enum del_action_enum {
DEL_INST, DEL_INST,
DEL_ALL DEL_ALL

View file

@ -2782,21 +2782,37 @@ static int mobj_event(DMOBJECT_ARGS)
static int mparam_event(DMPARAM_ARGS) static int mparam_event(DMPARAM_ARGS)
{ {
char full_param[MAX_DM_PATH]; char full_param[MAX_DM_PATH];
int fault = 0;
snprintf(full_param, MAX_DM_PATH, "%s%s", node->current_object, leaf->parameter); snprintf(full_param, MAX_DM_PATH, "%s%s", node->current_object, leaf->parameter);
if (DM_STRCMP(full_param, dmctx->in_param) != 0) if (dmctx->iswildcard) {
return USP_FAULT_INVALID_PATH; if (dm_strcmp_wildcard(dmctx->in_param, full_param) != 0)
return USP_FAULT_INVALID_PATH;
} else {
if (DM_STRCMP(dmctx->in_param, full_param) != 0)
return USP_FAULT_INVALID_PATH;
}
if (!leaf->setvalue) {
dmctx->stop = 1;
return USP_FAULT_INTERNAL_ERROR;
}
json_object *j_input = (dmctx->in_value) ? json_tokener_parse(dmctx->in_value) : NULL;
fault = (leaf->setvalue)(full_param, dmctx, data, instance, (char *)j_input, EVENT_CHECK);
if (fault)
goto end;
dmctx->stop = 1; dmctx->stop = 1;
if (!leaf->setvalue) fault = (leaf->setvalue)(full_param, dmctx, data, instance, (char *)j_input, EVENT_RUN);
return USP_FAULT_INTERNAL_ERROR; if (!fault)
add_list_parameter(dmctx, dmstrdup("Event_Path"), dmstrdup(full_param), DMT_TYPE[DMT_STRING], NULL);
json_object *j_input = (dmctx->in_value) ? json_tokener_parse(dmctx->in_value) : NULL; end:
int fault = (leaf->setvalue)(full_param, dmctx, data, instance, (char *)j_input, 0);
json_object_put(j_input); json_object_put(j_input);
return fault; return fault;
} }
@ -2812,8 +2828,8 @@ int dm_entry_event(struct dmctx *dmctx)
dmctx->isevent = 1; dmctx->isevent = 1;
dmctx->inparam_isparam = 1; dmctx->inparam_isparam = 1;
dmctx->stop = 0; dmctx->stop = 0;
dmctx->checkobj = plugin_obj_match; dmctx->checkobj = (dmctx->iswildcard) ? plugin_obj_wildcard_match : plugin_obj_match;
dmctx->checkleaf = plugin_leaf_match; dmctx->checkleaf = (dmctx->iswildcard) ? plugin_leaf_wildcard_match : plugin_leaf_match;
dmctx->method_obj = mobj_event; dmctx->method_obj = mobj_event;
dmctx->method_param = mparam_event; dmctx->method_param = mparam_event;

View file

@ -3876,23 +3876,32 @@ static int get_event_args_WiFiDataElementsAssociationEvent_Associated(char *refp
static int event_WiFiDataElementsAssociationEvent_Associated(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action) static int event_WiFiDataElementsAssociationEvent_Associated(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{ {
char *event_time = dmjson_get_value((json_object *)value, 1, "eventTime"); switch (action) {
char *bssid = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent", "AssocData", "BSSID"); case EVENT_CHECK:
char *mac_addr = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent", "AssocData", "MACAddress"); // Nothing to check
char *status_code = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent", "AssocData", "StatusCode"); break;
char *ht_cap = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent", "AssocData", "HTCapabilities"); case EVENT_RUN:
char *vht_cap = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent", "AssocData", "VHTCapabilities"); {
char *he_cap = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent", "AssocData", "HECapabilities"); char *event_time = dmjson_get_value((json_object *)value, 1, "eventTime");
char *bssid = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent", "AssocData", "BSSID");
char *mac_addr = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent", "AssocData", "MACAddress");
char *status_code = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent", "AssocData", "StatusCode");
char *ht_cap = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent", "AssocData", "HTCapabilities");
char *vht_cap = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent", "AssocData", "VHTCapabilities");
char *he_cap = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:AssociationEvent", "AssocData", "HECapabilities");
add_list_parameter(ctx, dmstrdup("TimeStamp"), dmstrdup(event_time), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("TimeStamp"), dmstrdup(event_time), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("BSSID"), dmstrdup(bssid), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("BSSID"), dmstrdup(bssid), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("MACAddress"), dmstrdup(mac_addr), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("MACAddress"), dmstrdup(mac_addr), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("StatusCode"), dmstrdup(status_code), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("StatusCode"), dmstrdup(status_code), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("HTCapabilities"), dmstrdup(ht_cap), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("HTCapabilities"), dmstrdup(ht_cap), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("VHTCapabilities"), dmstrdup(vht_cap), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("VHTCapabilities"), dmstrdup(vht_cap), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("HECapabilities"), dmstrdup(he_cap), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("HECapabilities"), dmstrdup(he_cap), DMT_TYPE[DMT_STRING], NULL);
break;
}
}
return 0; return 0;
} }
static event_args wifidataelementsdisassociationevent_disassociated_args = { static event_args wifidataelementsdisassociationevent_disassociated_args = {
@ -3924,29 +3933,38 @@ static int get_event_args_WiFiDataElementsDisassociationEvent_Disassociated(char
static int event_WiFiDataElementsDisassociationEvent_Disassociated(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action) static int event_WiFiDataElementsDisassociationEvent_Disassociated(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{ {
char *event_time = dmjson_get_value((json_object *)value, 1, "eventTime"); switch (action) {
char *bssid = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "BSSID"); case EVENT_CHECK:
char *mac_addr = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "MACAddress"); // Nothing to check
char *reason_code = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "ReasonCode"); break;
char *bytes_sent = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "BytesSent"); case EVENT_RUN:
char *bytes_received = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "BytesReceived"); {
char *packet_sent = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "PacketsSent"); char *event_time = dmjson_get_value((json_object *)value, 1, "eventTime");
char *packet_received = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "PacketsReceived"); char *bssid = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "BSSID");
char *errors_sent = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "ErrorsSent"); char *mac_addr = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "MACAddress");
char *errors_received = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "ErrorsReceived"); char *reason_code = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "ReasonCode");
char *retrans_count = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "RetransCount"); char *bytes_sent = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "BytesSent");
char *bytes_received = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "BytesReceived");
char *packet_sent = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "PacketsSent");
char *packet_received = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "PacketsReceived");
char *errors_sent = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "ErrorsSent");
char *errors_received = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "ErrorsReceived");
char *retrans_count = dmjson_get_value((json_object *)value, 3, "wfa-dataelements:DisassociationEvent", "DisassocData", "RetransCount");
add_list_parameter(ctx, dmstrdup("TimeStamp"), dmstrdup(event_time), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("TimeStamp"), dmstrdup(event_time), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("BSSID"), dmstrdup(bssid), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("BSSID"), dmstrdup(bssid), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("MACAddress"), dmstrdup(mac_addr), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("MACAddress"), dmstrdup(mac_addr), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("ReasonCode"), dmstrdup(reason_code), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("ReasonCode"), dmstrdup(reason_code), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("BytesSent"), dmstrdup(bytes_sent), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("BytesSent"), dmstrdup(bytes_sent), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("BytesReceived"), dmstrdup(bytes_received), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("BytesReceived"), dmstrdup(bytes_received), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("PacketsSent"), dmstrdup(packet_sent), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("PacketsSent"), dmstrdup(packet_sent), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("PacketsReceived"), dmstrdup(packet_received), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("PacketsReceived"), dmstrdup(packet_received), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("ErrorsSent"), dmstrdup(errors_sent), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("ErrorsSent"), dmstrdup(errors_sent), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("ErrorsReceived"), dmstrdup(errors_received), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("ErrorsReceived"), dmstrdup(errors_received), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("RetransCount"), dmstrdup(retrans_count), DMT_TYPE[DMT_STRING], NULL); add_list_parameter(ctx, dmstrdup("RetransCount"), dmstrdup(retrans_count), DMT_TYPE[DMT_STRING], NULL);
break;
}
}
return 0; return 0;
} }

View file

@ -23,6 +23,24 @@ DM_MAP_OBJ tDynamicObj[] = {
{0} {0}
}; };
/*************************************************************
* ENTRY METHOD
**************************************************************/
static int browseX_IOPSYS_EU_EventTESTInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance)
{
char *inst = NULL;
for (int i = 0; i < 2; i++) {
inst = handle_instance_without_section(dmctx, parent_node, i + 1);
if (DM_LINK_INST_OBJ(dmctx, parent_node, NULL, inst) == DM_STOP)
break;
}
return 0;
}
/************************************************************* /*************************************************************
* GET & SET PARAM * GET & SET PARAM
**************************************************************/ **************************************************************/
@ -158,6 +176,44 @@ static int get_event_args_XIOPSYSEU_Boot(char *refparam, struct dmctx *ctx, void
return 0; return 0;
} }
static event_args test_event_args = {
.name = "bbf.test",
.param = (const char *[]) {
"CommandKey",
"Status",
NULL
}
};
static int get_event_args_XIOPSYSEUEventTEST_Test(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
*value = (char *)&test_event_args;
return 0;
}
static int event_XIOPSYSEUEventTEST_Test(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
switch (action) {
case EVENT_CHECK:
{
char *test_instance = dmjson_get_value((json_object *)value, 1, "instance");
if (DM_STRCMP(test_instance, instance) != 0)
return USP_FAULT_INVALID_PATH_SYNTAX;
break;
}
case EVENT_RUN:
{
char *command_key = dmjson_get_value((json_object *)value, 1, "command_key");
char *status = dmjson_get_value((json_object *)value, 1, "status");
add_list_parameter(ctx, dmstrdup("CommandKey"), dmstrdup(command_key), DMT_TYPE[DMT_STRING], NULL);
add_list_parameter(ctx, dmstrdup("Status"), dmstrdup(status), DMT_TYPE[DMT_STRING], NULL);
break;
}
}
return 0;
}
/********************************************************************************************************************************** /**********************************************************************************************************************************
* OBJ & PARAM DEFINITION * OBJ & PARAM DEFINITION
***********************************************************************************************************************************/ ***********************************************************************************************************************************/
@ -166,6 +222,7 @@ DMOBJ tDynamicDeviceObj[] = {
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys*/ /* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys*/
{"X_IOPSYS_EU_Syslog", &DMREAD, NULL, NULL, "file:/etc/config/system", NULL, NULL, NULL, NULL, tX_IOPSYS_EU_SyslogParam, NULL, BBFDM_BOTH}, {"X_IOPSYS_EU_Syslog", &DMREAD, NULL, NULL, "file:/etc/config/system", NULL, NULL, NULL, NULL, tX_IOPSYS_EU_SyslogParam, NULL, BBFDM_BOTH},
{"X_IOPSYS_EU_PingTEST", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tX_IOPSYS_EU_PingTESTParam, NULL, BBFDM_BOTH}, {"X_IOPSYS_EU_PingTEST", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, NULL, tX_IOPSYS_EU_PingTESTParam, NULL, BBFDM_BOTH},
{"X_IOPSYS_EU_EventTEST", &DMREAD, NULL, NULL, NULL, browseX_IOPSYS_EU_EventTESTInst, NULL, NULL, NULL, tX_IOPSYS_EU_EventTESTParam, NULL, BBFDM_BOTH},
{0} {0}
}; };
@ -192,3 +249,11 @@ DMLEAF tX_IOPSYS_EU_PingTESTParam[] = {
{"Run()", &DMASYNC, DMT_COMMAND, get_operate_args_XIOPSYSEUPingTEST_Run, operate_DeviceXIOPSYSEUPingTEST_Run, BBFDM_USP}, {"Run()", &DMASYNC, DMT_COMMAND, get_operate_args_XIOPSYSEUPingTEST_Run, operate_DeviceXIOPSYSEUPingTEST_Run, BBFDM_USP},
{0} {0}
}; };
/*** Device.X_IOPSYS_EU_EventTEST. ***/
DMLEAF tX_IOPSYS_EU_EventTESTParam[] = {
/* PARAM, permission, type, getvalue, setvalue, bbfdm_type*/
{"Test!", &DMREAD, DMT_EVENT, get_event_args_XIOPSYSEUEventTEST_Test, event_XIOPSYSEUEventTEST_Test, BBFDM_USP},
{0}
};

View file

@ -15,6 +15,7 @@ extern DMOBJ tDynamicDeviceObj[];
extern DMLEAF tDynamicDeviceParams[]; extern DMLEAF tDynamicDeviceParams[];
extern DMLEAF tX_IOPSYS_EU_SyslogParam[]; extern DMLEAF tX_IOPSYS_EU_SyslogParam[];
extern DMLEAF tX_IOPSYS_EU_PingTESTParam[]; extern DMLEAF tX_IOPSYS_EU_PingTESTParam[];
extern DMLEAF tX_IOPSYS_EU_EventTESTParam[];
#endif //__LIBBBFD_TEST_H #endif //__LIBBBFD_TEST_H

View file

@ -1667,7 +1667,7 @@ static void test_api_bbfdm_valid_library_event(void **state)
idx++; idx++;
} }
assert_int_equal(idx, 9); assert_int_not_equal(idx, 0);
} }
static void test_api_bbfdm_valid_json_event(void **state) static void test_api_bbfdm_valid_json_event(void **state)
@ -1714,7 +1714,7 @@ static void test_api_bbfdm_valid_json_event(void **state)
idx++; idx++;
} }
assert_int_equal(idx, 9); assert_int_not_equal(idx, 0);
} }
static void test_api_bbfdm_valid_json_v1_event(void **state) static void test_api_bbfdm_valid_json_v1_event(void **state)
@ -1763,7 +1763,7 @@ static void test_api_bbfdm_valid_json_v1_event(void **state)
idx++; idx++;
} }
assert_int_equal(idx, 9); assert_int_not_equal(idx, 0);
} }
int main(void) int main(void)