bts: Add TC_sms_cb_cmd_cbch_sdcch{4,8}_multi()
These new tests verify that multiple SMSCB commands are equeued,
and that each related message is sent exactly once.
Change-Id: Ice22fd2689a42c3b1951a02e65664102d4eaccc2
Related: OS#4011
diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn
index 6cb257c..6835f02 100644
--- a/bts/BTS_Tests_SMSCB.ttcn
+++ b/bts/BTS_Tests_SMSCB.ttcn
@@ -242,6 +242,24 @@
omit }
}
+private const CbchTestMsgs msgs_3m_4b_norm := {
+ { RSL_CB_CMD_NORMAL, 3, '001000320f1141660c344dd3cba09a0c000000000000'O &
+ '000102030405060708090a0b0c0d0e0f101213141516'O &
+ '101112131415161718191a1b1c1d1e1f202223242526'O &
+ '201122232425262728292a2b2c2d2e2f303233343536'O,
+ omit },
+ { RSL_CB_CMD_NORMAL, 3, '002000320f1141660c344dd3cba09a0c000000000000'O &
+ '002102030405060708090a0b0c0d0e0f101213141516'O &
+ '102112131415161718191a1b1c1d1e1f202223242526'O &
+ '202122232425262728292a2b2c2d2e2f303233343536'O,
+ omit },
+ { RSL_CB_CMD_NORMAL, 3, '003000320f1141660c344dd3cba09a0c000000000000'O &
+ '003102030405060708090a0b0c0d0e0f101213141516'O &
+ '103112131415161718191a1b1c1d1e1f202223242526'O &
+ '203122232425262728292a2b2c2d2e2f303233343536'O,
+ omit }
+}
+
/* transmit single-block SMSCB COMMAND */
testcase TC_sms_cb_cmd_sdcch4_1block() runs on test_CT {
var CbchTestPars pars := {
@@ -306,6 +324,22 @@
f_TC_smscb(pars);
}
+/* transmit multiple commands of each 4 blocks */
+testcase TC_sms_cb_cmd_sdcch4_multi() runs on test_CT {
+ var CbchTestPars pars := {
+ use_sdcch4 := true,
+ msgs := msgs_3m_4b_norm
+ };
+ f_TC_smscb(pars);
+}
+testcase TC_sms_cb_cmd_sdcch8_multi() runs on test_CT {
+ var CbchTestPars pars := {
+ use_sdcch4 := false,
+ msgs := msgs_3m_4b_norm
+ };
+ f_TC_smscb(pars);
+}
+
/* transmit SMSCB COMMAND with SCHEDULE payload */
testcase TC_sms_cb_cmd_sdcch4_schedule() runs on test_CT {
var CbchTestPars pars := {
@@ -333,12 +367,14 @@
execute( TC_sms_cb_cmd_sdcch4_2block() );
execute( TC_sms_cb_cmd_sdcch4_3block() );
execute( TC_sms_cb_cmd_sdcch4_4block() );
+ execute( TC_sms_cb_cmd_sdcch4_multi() );
execute( TC_sms_cb_cmd_sdcch4_schedule() );
if (false) { /* FIXME: SDCCH/8 support broken, needs trxcon + L1CTL work */
execute( TC_sms_cb_cmd_sdcch8_1block() );
execute( TC_sms_cb_cmd_sdcch8_2block() );
execute( TC_sms_cb_cmd_sdcch8_3block() );
execute( TC_sms_cb_cmd_sdcch8_4block() );
+ execute( TC_sms_cb_cmd_sdcch8_multi() );
execute( TC_sms_cb_cmd_sdcch8_schedule() );
}
}