pespin has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41785?usp=email )

Change subject: bts: Fix sporadic failure in TC_rsl_ms_pwr_ctrl
......................................................................

bts: Fix sporadic failure in TC_rsl_ms_pwr_ctrl

Fix following sporadic race condition:
TTCN-MS         IUTS-BTS           TTCN-BSC
   |              |<----CHAN_ACT------|
   |<--SACCH(A)-- |                   |
   |              |<--MS_PWR_CTRL(B)- |
   |<--SACCH(B)---|

Change-Id: I088b58bf76765c8a5bd167590c5afc5055fbdbf8
---
M bts/BTS_Tests.ttcn
1 file changed, 10 insertions(+), 1 deletion(-)

Approvals:
  Jenkins Builder: Verified
  fixeria: Looks good to me, approved




diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 26fe18d..c681da9 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -3834,6 +3834,7 @@
 private function f_tc_rsl_ms_pwr_ctrl(charstring id) runs on ConnHdlr {
        var SacchL1Header l1h;
        var uint5_t power_level := 0;
+       var boolean first_after_wait := true;

        f_l1_tune(L1CTL);
        RSL.clear;
@@ -3849,10 +3850,18 @@
        alt {
        [] as_l1_sacch_l1h(l1h, do_apply := false) {
                if (l1h.ms_power_lvl != power_level) {
-                       setverdict(fail, "Power level := ", l1h.ms_power_lvl, 
"does not ",
+                       if (first_after_wait) {
+                               /* It may happen that BTS transmits SACCH 
before it receives our RSL MS POWER CONTROL: */
+                               log("Power level := ", l1h.ms_power_lvl, " does 
not ",
+                                   "match the signaled (RSL) power level := ", 
power_level);
+                               first_after_wait := false;
+                               repeat;
+                       }
+                       setverdict(fail, "Power level := ", l1h.ms_power_lvl, " 
does not ",
                                   "match the signaled (RSL) power level := ", 
power_level);
                        Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
                }
+               first_after_wait := true;

                /* Signal a new power level via RSL for the next turn. */
                if (power_level < 31) {

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41785?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I088b58bf76765c8a5bd167590c5afc5055fbdbf8
Gerrit-Change-Number: 41785
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>

Reply via email to