aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2020-11-19 15:58:43 +0100
committerdaniel <dwillmann@sysmocom.de>2020-11-20 15:08:35 +0000
commit087a33d5d49879d87af019fa8641d2f5e66a2333 (patch)
treef465ef59b893d0322b12ce30dc73ee1d0dfb0ba1
parentfa67f49798bd0aab455651bf1420856a527ceab2 (diff)
gbproxy: Add test for BSSGP resume procedure
-rw-r--r--gbproxy/GBProxy_Tests.ttcn41
1 files changed, 41 insertions, 0 deletions
diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn
index 61bc2120..bf777cc8 100644
--- a/gbproxy/GBProxy_Tests.ttcn
+++ b/gbproxy/GBProxy_Tests.ttcn
@@ -821,6 +821,46 @@ testcase TC_suspend() runs on test_CT
f_cleanup();
}
+private function f_TC_resume(charstring id) runs on BSSGP_ConnHdlr {
+ var integer i;
+
+ /* TODO: Generate RA ID for each ConnHdlr */
+ var RoutingAreaIdentification ra_id := g_pars.pcu[0].cfg.bvc[0].cell_id.ra_id;
+ for (i := 0; i < 10; i := i+1) {
+
+ var template (value) PDU_BSSGP pdu_tx := ts_BSSGP_RESUME(g_pars.tlli, ra_id, int2oct(i, 1));
+ /* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
+ var template (present) PDU_BSSGP pdu_rx := tr_BSSGP_RESUME(g_pars.tlli, ra_id, int2oct(i, 1));
+
+ f_pcu2sgsn(pdu_tx, pdu_rx);
+
+ pdu_tx := ts_BSSGP_RESUME_ACK(g_pars.tlli, ra_id);
+ /* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
+ pdu_rx := tr_BSSGP_RESUME_ACK(g_pars.tlli, ra_id);
+
+ f_sgsn2pcu(pdu_tx, pdu_rx);
+
+ /* These messages are simple passed through so just also test sending NACK */
+ pdu_tx := ts_BSSGP_RESUME_NACK(g_pars.tlli, ra_id, BSSGP_CAUSE_UNKNOWN_MS);
+ /* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
+ pdu_rx := tr_BSSGP_RESUME_NACK(g_pars.tlli, ra_id, BSSGP_CAUSE_UNKNOWN_MS);
+
+ f_sgsn2pcu(pdu_tx, pdu_rx);
+ }
+ setverdict(pass);
+}
+testcase TC_resume() runs on test_CT
+{
+ var BSSGP_ConnHdlr vc_conn;
+ f_init();
+
+ vc_conn := f_start_handler(refers(f_TC_resume), testcasename(), g_pcu, g_sgsn, 6);
+ vc_conn.done;
+ /* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
+
+ f_cleanup();
+}
+
control {
execute( TC_BVC_bringup() );
@@ -830,6 +870,7 @@ control {
execute( TC_ra_capability_upd() );
execute( TC_radio_status() );
execute( TC_suspend() );
+ execute( TC_resume() );
}