hnbgw: Start only needed amount of HNBs emulations

Change-Id: Id0e1c7423f016989de997e2be10516f4413ac245
diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn
index b440292..f3079da 100644
--- a/hnbgw/HNBGW_Tests.ttcn
+++ b/hnbgw/HNBGW_Tests.ttcn
@@ -228,6 +228,8 @@
 	var Iuh_Emulation_CT vc_Iuh[NUM_HNB];
 	var RUA_Emulation_CT vc_RUA[NUM_HNB];
 	port HNBAP_PT HNBAP[NUM_HNB];
+	/* Number of HNBs to be used/started by the test */
+	var integer g_num_hnbs := NUM_HNB;
 
 	var MGCP_Emulation_CT vc_MGCP;
 	port TELNETasp_PT HNBGWVTY;
@@ -328,7 +330,7 @@
 		create_cb := refers(IuhRanapCreateCallback),
 		unitdata_cb := refers(IuhRanapUnitdataCallback)
 	};
-	for (var integer i := 0; i < NUM_HNB; i := i+1) {
+	for (var integer i := 0; i < g_num_hnbs; i := i+1) {
 		g_hnb_cfg[i] := {
 			lai := {
 				mcc_mnc := '00101'H,
@@ -373,7 +375,7 @@
 
 /* helper function to start all of the simulated hNodeBs */
 function f_start_hnbs() runs on test_CT {
-	for (var integer i:= 0; i < NUM_HNB; i := i+1) {
+	for (var integer i:= 0; i < g_num_hnbs; i := i+1) {
 		f_hnbap_register(i, i);
 	}
 }
@@ -671,12 +673,14 @@
 }
 
 testcase TC_hnb_register() runs on test_CT {
+	g_num_hnbs := 1;
 	f_init();
 	f_hnbap_register(0);
 	f_shutdown_helper();
 }
 
 testcase TC_hnb_register_duplicate() runs on test_CT {
+	g_num_hnbs := 2;
 	f_init();
 	f_hnbap_register(0);
 	f_hnbap_register(1, 0, expect_reject := true);
@@ -708,6 +712,7 @@
 testcase TC_ranap_cs_initial_ue() runs on test_CT {
 	var ConnHdlr vc_conn;
 
+	g_num_hnbs := 1;
 	f_init();
 	f_start_hnbs();
 
@@ -717,6 +722,7 @@
 testcase TC_ranap_ps_initial_ue() runs on test_CT {
 	var ConnHdlr vc_conn;
 
+	g_num_hnbs := 1;
 	f_init();
 	f_start_hnbs();
 
@@ -735,6 +741,7 @@
 testcase TC_ranap_cs_initial_ue_empty_cr() runs on test_CT {
 	var ConnHdlr vc_conn;
 
+	g_num_hnbs := 1;
 	f_init();
 	f_start_hnbs();
 
@@ -749,6 +756,7 @@
 testcase TC_ranap_ps_initial_ue_empty_cr() runs on test_CT {
 	var ConnHdlr vc_conn;
 
+	g_num_hnbs := 1;
 	f_init();
 	f_start_hnbs();
 
@@ -988,6 +996,7 @@
 
 testcase TC_rab_assignment() runs on test_CT {
 	var ConnHdlr vc_conn;
+	g_num_hnbs := 1;
 	f_init();
 	f_start_hnbs();
 
@@ -1023,6 +1032,7 @@
 
 testcase TC_rab_assign_fail() runs on test_CT {
 	var ConnHdlr vc_conn;
+	g_num_hnbs := 1;
 	f_init();
 	f_start_hnbs();
 
@@ -1069,6 +1079,7 @@
 
 testcase TC_rab_release() runs on test_CT {
 	var ConnHdlr vc_conn;
+	g_num_hnbs := 1;
 	f_init();
 	f_start_hnbs();
 
@@ -1117,6 +1128,7 @@
 
 testcase TC_rab_assign_mgcp_to() runs on test_CT {
 	var ConnHdlr vc_conn;
+	g_num_hnbs := 1;
 	f_init();
 	f_start_hnbs();
 
@@ -1141,7 +1153,7 @@
 }
 testcase TC_ranap_cs_bidir() runs on test_CT {
 	var ConnHdlr vc_conn;
-
+	g_num_hnbs := 1;
 	f_init();
 	f_start_hnbs();
 
@@ -1150,7 +1162,7 @@
 }
 testcase TC_ranap_ps_bidir() runs on test_CT {
 	var ConnHdlr vc_conn;
-
+	g_num_hnbs := 1;
 	f_init();
 	f_start_hnbs();
 
@@ -1175,7 +1187,7 @@
 }
 testcase TC_ranap_cs_mo_disconnect() runs on test_CT {
 	var ConnHdlr vc_conn;
-
+	g_num_hnbs := 1;
 	f_init();
 	f_start_hnbs();
 
@@ -1184,7 +1196,7 @@
 }
 testcase TC_ranap_ps_mo_disconnect() runs on test_CT {
 	var ConnHdlr vc_conn;
-
+	g_num_hnbs := 1;
 	f_init();
 	f_start_hnbs();
 
@@ -1331,6 +1343,7 @@
 
 testcase TC_ps_rab_assignment() runs on test_CT {
 	var ConnHdlr vc_conn;
+	g_num_hnbs := 1;
 	f_init();
 	f_start_hnbs();
 	f_sleep(1.0);