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);
|
||||
}
|
||||
|
||||
// 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()
|
||||
{
|
||||
// E1 Bearer Context Setup
|
||||
@@ -302,5 +343,6 @@ int main()
|
||||
// E1 Interface Management
|
||||
test_e1_cuup_setup_request();
|
||||
test_e1_cuup_setup_response();
|
||||
test_e1_cuup_setup_failure();
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user