BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind
Change-Id: Id11094774d737a545a2cce389059d7e527219573
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 2dc6635..a18777a 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -5761,6 +5761,41 @@
setverdict(pass);
}
+/* Verify coding of two NSVCs in the INFO.ind message */
+testcase TC_pcu_socket_two_nsvc() runs on test_CT {
+ f_init_vty_bsc();
+
+ f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 nsvci 1234");
+ f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 local udp port 1234");
+ f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip 127.127.127.127");
+ f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote udp port 1234");
+
+ f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 nsvci 5678");
+ f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 local udp port 5678");
+ f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 remote ip fd00::ca:ff:ee");
+ f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 remote udp port 5678");
+
+ f_init_pcu_test();
+
+ var PCUIF_info_ind info_ind := g_pcu_last_info.u.info_ind;
+ var PCUIF_RemoteAddr remote_addr := info_ind.remote_addr;
+ var template PCUIF_RemoteAddr tr_remote_addr := {
+ addr_type := { PCUIF_ADDR_TYPE_IPV4, PCUIF_ADDR_TYPE_IPV6 },
+ addr := { f_inet_addr("127.127.127.127"), f_inet6_addr("fd00::ca:ff:ee") }
+ };
+
+ if (not match(info_ind.nsvci, { 1234, 5678 }))
+ { setverdict(fail, "NSVCI ", info_ind.nsvci, " does not match { 1234, 5678 }"); }
+ if (not match(remote_addr, tr_remote_addr))
+ { setverdict(fail, "NSVC address ", remote_addr, " does not match ", tr_remote_addr); }
+ if (not match(info_ind.local_port, { 1234, 5678 }))
+ { setverdict(fail, "NSVC lport ", info_ind.local_port, " does not match { 1234, 5678 }"); }
+ if (not match(info_ind.remote_port, { 1234, 5678 }))
+ { setverdict(fail, "NSVC rport ", info_ind.remote_port, " does not match { 1234, 5678 }"); }
+
+ setverdict(pass);
+}
+
/***********************************************************************
* Osmocom Style Dynamic Timeslot Support
***********************************************************************/
@@ -7353,6 +7388,7 @@
execute( TC_pcu_info_ind_fh_params() );
execute( TC_pcu_socket_nsvc_ipv4() );
execute( TC_pcu_socket_nsvc_ipv6() );
+ execute( TC_pcu_socket_two_nsvc() );
} else {
log("PCU socket path not available, skipping PCU tests");
}