cbc: Enable MMEs and BSCs selectively

Let's only create BSC handlers (no MM handlers) in tests validating CBSP
specific features.
A new test is added to specifically validate scenarios with both an MME
and BSC attached to the CBC.

Change-Id: I79ee41f183ef49e9fd606d2a3efa2767628bf142
This commit is contained in:
Pau Espin 2022-07-29 10:47:33 +02:00 committed by pespin
parent c78aeb7cc6
commit 1976346cb7
1 changed files with 29 additions and 17 deletions

View File

@ -135,7 +135,7 @@ private function f_start_mme(integer idx, charstring id, MME_ConnHdlrPars pars)
g_vc_conn_MME[idx].start(f_MME_ConnHdlr_main(id, pars));
}
private function f_init(integer num_bsc := 1, integer num_mme := 1) runs on test_CT {
private function f_init(integer num_bsc := 0, integer num_mme := 0) runs on test_CT {
f_http_init(mp_cbc_host, mp_cbc_ecbe_port);
g_num_bsc := num_bsc;
@ -168,7 +168,7 @@ private function f_bsc_TC_rx_keepalive() runs on BSC_ConnHdlr {
}
testcase TC_rx_keepalive() runs on test_CT {
f_init();
f_init(num_bsc := 1);
g_pars_BSC[0].start_fn := refers(f_bsc_TC_rx_keepalive);
f_start();
f_shutdown_helper();
@ -191,7 +191,7 @@ private function f_bsc_TC_rx_keepalive_timeout() runs on BSC_ConnHdlr {
CBSP[0].receive(PortEvent:{connClosed:=?})
}
testcase TC_rx_keepalive_timeout() runs on test_CT {
f_init();
f_init(num_bsc := 1);
g_pars_BSC[0].start_fn := refers(f_bsc_TC_rx_keepalive_timeout);
f_start();
f_shutdown_helper();
@ -220,7 +220,7 @@ testcase TC_write_replace() runs on test_CT {
}
};
f_init();
f_init(num_bsc := 1);
g_pars_BSC[0].exp_cbs_msg := msg;
g_pars_BSC[0].start_fn := refers(f_bsc_TC_write_replace);
f_start();
@ -330,7 +330,7 @@ private template (value) CBS_Message t_CBSmsg(uint16_t msg_id, uint16_t ser_nr)
/* specify a variety of different Cell Identifier formats to extend test coverage */
testcase TC_ecbe_create_delete_cgi() runs on test_CT {
f_init();
f_init(num_bsc := 1);
var template (value) BSSMAP_FIELD_CellIdentificationList cell_list_success;
var template (value) CBS_Message msg := t_CBSmsg(43, 16752);
@ -342,14 +342,12 @@ testcase TC_ecbe_create_delete_cgi() runs on test_CT {
g_pars_BSC[0].start_fn := refers(f_bsc_create_and_delete);
g_pars_BSC[0].exp_cbs_msg := valueof(msg);
g_pars_BSC[0].cell_list_success := valueof(cell_list_success);
g_pars_MME[0].start_fn := refers(f_mme_create_and_delete);
g_pars_MME[0].exp_cbs_msg := valueof(msg);
f_start();
f_create_and_delete(valueof(msg));
f_shutdown_helper();
}
testcase TC_ecbe_create_delete_lac_ci() runs on test_CT {
f_init();
f_init(num_bsc := 1);
var template (value) BSSMAP_FIELD_CellIdentificationList cell_list_success;
var template (value) CBS_Message msg := t_CBSmsg(44, 16752);
cell_list_success := ts_BSSMAP_CIL_LAC_CI({
@ -360,14 +358,12 @@ testcase TC_ecbe_create_delete_lac_ci() runs on test_CT {
g_pars_BSC[0].start_fn := refers(f_bsc_create_and_delete);
g_pars_BSC[0].exp_cbs_msg := valueof(msg);
g_pars_BSC[0].cell_list_success := valueof(cell_list_success);
g_pars_MME[0].start_fn := refers(f_mme_create_and_delete);
g_pars_MME[0].exp_cbs_msg := valueof(msg);
f_start();
f_create_and_delete(valueof(msg));
f_shutdown_helper();
}
testcase TC_ecbe_create_delete_lac() runs on test_CT {
f_init();
f_init(num_bsc := 1);
var template (value) BSSMAP_FIELD_CellIdentificationList cell_list_success;
var template (value) CBS_Message msg := t_CBSmsg(45, 16752);
cell_list_success := ts_BSSMAP_CIL_LAC({
@ -378,14 +374,12 @@ testcase TC_ecbe_create_delete_lac() runs on test_CT {
g_pars_BSC[0].start_fn := refers(f_bsc_create_and_delete);
g_pars_BSC[0].exp_cbs_msg := valueof(msg);
g_pars_BSC[0].cell_list_success := valueof(cell_list_success);
g_pars_MME[0].start_fn := refers(f_mme_create_and_delete);
g_pars_MME[0].exp_cbs_msg := valueof(msg);
f_start();
f_create_and_delete(valueof(msg));
f_shutdown_helper();
}
testcase TC_ecbe_create_delete_ci() runs on test_CT {
f_init();
f_init(num_bsc := 1);
var template (value) BSSMAP_FIELD_CellIdentificationList cell_list_success;
var template (value) CBS_Message msg := t_CBSmsg(46, 16752);
cell_list_success := ts_BSSMAP_CIL_CI({
@ -396,14 +390,12 @@ testcase TC_ecbe_create_delete_ci() runs on test_CT {
g_pars_BSC[0].start_fn := refers(f_bsc_create_and_delete);
g_pars_BSC[0].exp_cbs_msg := valueof(msg);
g_pars_BSC[0].cell_list_success := valueof(cell_list_success);
g_pars_MME[0].start_fn := refers(f_mme_create_and_delete);
g_pars_MME[0].exp_cbs_msg := valueof(msg);
f_start();
f_create_and_delete(valueof(msg));
f_shutdown_helper();
}
testcase TC_ecbe_create_delete_lai() runs on test_CT {
f_init();
f_init(num_bsc := 1);
var template (value) BSSMAP_FIELD_CellIdentificationList cell_list_success;
var template (value) CBS_Message msg := t_CBSmsg(47, 16752);
cell_list_success := ts_BSSMAP_CIL_LAI({
@ -414,6 +406,25 @@ testcase TC_ecbe_create_delete_lai() runs on test_CT {
g_pars_BSC[0].start_fn := refers(f_bsc_create_and_delete);
g_pars_BSC[0].exp_cbs_msg := valueof(msg);
g_pars_BSC[0].cell_list_success := valueof(cell_list_success);
f_start();
f_create_and_delete(valueof(msg));
f_shutdown_helper();
}
/* Create and delete message with both BSC and MME available */
testcase TC_ecbe_create_delete_bsc_and_mme() runs on test_CT {
f_init(num_bsc := 1, num_mme := 1);
var template (value) BSSMAP_FIELD_CellIdentificationList cell_list_success;
var template (value) CBS_Message msg := t_CBSmsg(43, 16752);
cell_list_success := ts_BSSMAP_CIL_CGI({
ts_BSSMAP_CI_CGI('901'H, '70'H, 23, 42),
ts_BSSMAP_CI_CGI('901'H, '70'H, 24, 42),
ts_BSSMAP_CI_CGI('901'H, '70'H, 24, 43)
});
g_pars_BSC[0].start_fn := refers(f_bsc_create_and_delete);
g_pars_BSC[0].exp_cbs_msg := valueof(msg);
g_pars_BSC[0].cell_list_success := valueof(cell_list_success);
g_pars_MME[0].start_fn := refers(f_mme_create_and_delete);
g_pars_MME[0].exp_cbs_msg := valueof(msg);
f_start();
@ -429,6 +440,7 @@ control {
execute( TC_ecbe_create_delete_lac() );
execute( TC_ecbe_create_delete_ci() );
execute( TC_ecbe_create_delete_lai() );
execute( TC_ecbe_create_delete_bsc_and_mme() );
}
}