Add test for E1 CUUP Setup Failure
This commit is contained in:
@@ -294,6 +294,47 @@ static void test_e1_cuup_setup_response(void)
|
|||||||
free_e1ap_cuup_setup_response(&cp);
|
free_e1ap_cuup_setup_response(&cp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Test for E1AP CU-UP Setup Failure
|
||||||
|
static void test_e1_cuup_setup_failure(void)
|
||||||
|
{
|
||||||
|
e1ap_setup_fail_t orig = {.transac_id = 42,
|
||||||
|
.cause.type = E1AP_CAUSE_RADIO_NETWORK,
|
||||||
|
.cause.value = E1AP_RADIO_CAUSE_NORMAL_RELEASE,
|
||||||
|
.time_to_wait = malloc_or_fail(sizeof(long)),
|
||||||
|
.crit_diag = malloc_or_fail(sizeof(criticality_diagnostics_t))};
|
||||||
|
*orig.time_to_wait = 5;
|
||||||
|
orig.crit_diag->procedure_code = malloc_or_fail(sizeof(*orig.crit_diag->procedure_code));
|
||||||
|
*orig.crit_diag->procedure_code = 99;
|
||||||
|
orig.crit_diag->triggering_msg = malloc_or_fail(sizeof(*orig.crit_diag->triggering_msg));
|
||||||
|
*orig.crit_diag->triggering_msg = TRIGGERING_MSG_SUCCESSFUL_OUTCOME;
|
||||||
|
orig.crit_diag->procedure_criticality = malloc_or_fail(sizeof(*orig.crit_diag->procedure_criticality));
|
||||||
|
*orig.crit_diag->procedure_criticality = CRITICALITY_IGNORE;
|
||||||
|
orig.crit_diag->num_errors = 1;
|
||||||
|
orig.crit_diag->errors[0].ie_id = 66;
|
||||||
|
orig.crit_diag->errors[0].error_type = ERROR_TYPE_MISSING;
|
||||||
|
orig.crit_diag->errors[0].criticality = CRITICALITY_IGNORE;
|
||||||
|
|
||||||
|
E1AP_E1AP_PDU_t *encoded = encode_e1ap_cuup_setup_failure(&orig);
|
||||||
|
E1AP_E1AP_PDU_t *decoded_msg = e1ap_encode_decode(encoded);
|
||||||
|
e1ap_msg_free(encoded);
|
||||||
|
|
||||||
|
e1ap_setup_fail_t decoded = {0};
|
||||||
|
bool ret = decode_e1ap_cuup_setup_failure(decoded_msg, &decoded);
|
||||||
|
AssertFatal(ret, "Failed to decode setup failure");
|
||||||
|
e1ap_msg_free(decoded_msg);
|
||||||
|
|
||||||
|
ret = eq_e1ap_cuup_setup_failure(&orig, &decoded);
|
||||||
|
AssertFatal(ret, "Decoded setup failure doesn't match original");
|
||||||
|
free_e1ap_cuup_setup_failure(&decoded);
|
||||||
|
|
||||||
|
e1ap_setup_fail_t cp = cp_e1ap_cuup_setup_failure(&orig);
|
||||||
|
ret = eq_e1ap_cuup_setup_failure(&orig, &cp);
|
||||||
|
AssertFatal(ret, "eq_e1ap_cuup_setup_failure(): copied message doesn't match\n");
|
||||||
|
|
||||||
|
free_e1ap_cuup_setup_failure(&cp);
|
||||||
|
free_e1ap_cuup_setup_failure(&orig);
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
// E1 Bearer Context Setup
|
// E1 Bearer Context Setup
|
||||||
@@ -302,5 +343,6 @@ int main()
|
|||||||
// E1 Interface Management
|
// E1 Interface Management
|
||||||
test_e1_cuup_setup_request();
|
test_e1_cuup_setup_request();
|
||||||
test_e1_cuup_setup_response();
|
test_e1_cuup_setup_response();
|
||||||
|
test_e1_cuup_setup_failure();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user