This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19378 )
Change subject: Introduce test TC_si_acc_ramp_rotate
......................................................................
Introduce test TC_si_acc_ramp_rotate
Change-Id: I29acf4f117ccea53028c780cc9feb1da1fc16739
---
M bsc/BSC_Tests.ttcn
1 file changed, 91 insertions(+), 18 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/78/19378/1
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index ac6b356..63271c1 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -1865,12 +1865,39 @@
return count;
}
+/* result is stored in g_system_information[rsl_idx] */
+private function f_si_recv_one_si(integer rsl_idx := 0) runs on test_CT
+{
+ var ASP_RSL_Unitdata rx_rsl_ud;
+ IPA_RSL[rsl_idx].receive(tr_ASP_RSL_UD((tr_RSL_NO_BCCH_INFO,
+ tr_RSL_BCCH_INFO,
+ tr_RSL_NO_SACCH_FILL,
+ tr_RSL_SACCH_FILL))
+ ) -> value rx_rsl_ud;
+
+ f_sysinfo_seen(rsl_idx, rx_rsl_ud.rsl);
+}
+
+private function f_recv_next_si1(integer rsl_idx := 0) runs on test_CT return SystemInformationConfig
+{
+ var SystemInformationConfig last_si;
+ while (true) {
+ f_si_recv_one_si(rsl_idx);
+ last_si := g_system_information[rsl_idx];
+ if (last_si.si1 == omit) {
+ continue;
+ }
+ g_system_information[rsl_idx].si1 := omit;
+ break;
+ }
+ return last_si;
+}
+
/* verify ACC rotate feature */
testcase TC_si_acc_rotate() runs on test_CT {
var template SystemInformationConfig sic := SystemInformationConfig_default;
var SystemInformationConfig last_si;
var AccessControlClass acc;
- var ASP_RSL_Unitdata rx_rsl_ud;
var uint8_t count;
var integer times_allowed[10] := { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
@@ -1883,21 +1910,8 @@
/* Init and get first sysinfo */
f_init_bts_and_check_sysinfo(0, expect_si := ?);
- var integer i := 0;
- while (i < 20) {
- IPA_RSL[0].receive(tr_ASP_RSL_UD((tr_RSL_NO_BCCH_INFO,
- tr_RSL_BCCH_INFO,
- tr_RSL_NO_SACCH_FILL,
- tr_RSL_SACCH_FILL))
- ) -> value rx_rsl_ud;
-
- f_sysinfo_seen(0, rx_rsl_ud.rsl);
- last_si := g_system_information[0];
- if (last_si.si1 == omit) {
- continue;
- }
-
- g_system_information[0].si1 := omit;
+ for (var integer i:= 0; i < 20; i := i + 1) {
+ last_si := f_recv_next_si1(0);
acc := last_si.si1.rach_control.acc;
count := f_acc09_count_allowed(acc);
log("RSL: GOT SI1 ACC len=", count, ": ", acc);
@@ -1913,8 +1927,6 @@
times_allowed[j] := times_allowed[j] + 1;
}
}
-
- i := i + 1;
}
for (var integer j := 0; j < 10; j := j + 1) {
@@ -1930,6 +1942,66 @@
"rach access-control-class 5 allowed"});
}
+/* verify ACC startup ramp+rotate feature */
+testcase TC_si_acc_ramp_rotate() runs on test_CT {
+ var template SystemInformationConfig sic := SystemInformationConfig_default;
+ var SystemInformationConfig last_si;
+ var AccessControlClass acc;
+ var ASP_RSL_Unitdata rx_rsl_ud;
+ var uint8_t count;
+ var uint8_t prev_count;
+ var integer times_allowed[10] := { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+
+ f_init(0, guard_timeout := 80.0);
+
+ f_bts_0_cfg(BSCVTY, {"rach access-control-class 4 barred",
+ "access-control-class-rotate 0",
+ "access-control-class-rotate-quantum 1",
+ "access-control-class-ramping",
+ "access-control-class-ramping-step-interval 5",
+ "access-control-class-ramping-step-size 5"});
+
+ /* Init and get first sysinfo */
+ f_init_bts_and_check_sysinfo(0, expect_si := ?);
+ last_si := g_system_information[0];
+ acc := last_si.si1.rach_control.acc;
+ count := f_acc09_count_allowed(acc);
+ /* Adm subset size was set to 0 above, so wait until all ACC are barred */
+ while (count > 0) {
+ last_si := f_recv_next_si1(0);
+ acc := last_si.si1.rach_control.acc;
+ count := f_acc09_count_allowed(acc);
+ log("RSL: wait len()=0: GOT SI1 ACC len=", count, ": ", acc);
+ }
+
+ /* Increase adm subset size, we should see ramping start up */
+ f_bts_0_cfg(BSCVTY, {"access-control-class-rotate 10"});
+ prev_count := 0;
+ while (true) {
+ last_si := f_recv_next_si1(0);
+ acc := last_si.si1.rach_control.acc;
+ count := f_acc09_count_allowed(acc);
+ log("RSL: GOT SI1 ACC len=", count, ": ", acc);
+
+ if (prev_count > count) {
+ setverdict(fail, "ACC allowed count dropped while expecting grow: ", prev_count, " -> ", count);
+ break;
+ }
+
+ if (count == 9) {
+ break; /* Maximum reached (10 - 1 perm barred), done here */
+ }
+
+ prev_count := count;
+ }
+
+ setverdict(pass);
+
+ f_bts_0_cfg(BSCVTY, {"access-control-class-rotate 10",
+ "rach access-control-class 4 allowed",
+ "no access-control-class-ramping"});
+}
+
testcase TC_ctrl_msc_connection_status() runs on test_CT {
var charstring ctrl_resp;
@@ -5905,6 +5977,7 @@
execute( TC_si2quater_48_earfcns() );
execute( TC_si2quater_49_earfcns() );
execute( TC_si_acc_rotate() );
+ execute (TC_si_acc_ramp_rotate() );
/* RSL DCHAN Channel ACtivation / Deactivation */
execute( TC_chan_act_noreply() );
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/19378
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I29acf4f117ccea53028c780cc9feb1da1fc16739
Gerrit-Change-Number: 19378
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200724/17c7db49/attachment.htm>