Change in osmo-gsm-tester[master]: enb, ue, process: move stdout counter helper to process objects

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.org
Tue Feb 9 16:14:34 UTC 2021


pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22042 )

Change subject: enb,ue,process: move stdout counter helper to process objects
......................................................................

enb,ue,process: move stdout counter helper to process objects

this patch adds the stdout counter to count events happening
on the stdout (known from the UE already) to the common
process class so they can also be used from the eNB (and other objects)

In addition, we add a PRACH counter to be used for tests.

Change-Id: I434f072b8aa6f4dce9f90889c6b40832f6798ff8
---
M src/osmo_gsm_tester/core/process.py
M src/osmo_gsm_tester/obj/enb.py
M src/osmo_gsm_tester/obj/enb_amarisoft.py
M src/osmo_gsm_tester/obj/enb_srs.py
M src/osmo_gsm_tester/obj/ms_srs.py
M src/osmo_gsm_tester/obj/srslte_common.py
6 files changed, 31 insertions(+), 17 deletions(-)

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



diff --git a/src/osmo_gsm_tester/core/process.py b/src/osmo_gsm_tester/core/process.py
index bac258a..e305c64 100644
--- a/src/osmo_gsm_tester/core/process.py
+++ b/src/osmo_gsm_tester/core/process.py
@@ -164,6 +164,15 @@
         self.outputs[name] = (path, f)
         return f
 
+    def get_counter_stdout(self, keyword):
+        # Match stdout against keyword
+        n = 0
+        stdout_lines = (self.get_stdout() or '').splitlines()
+        for l in stdout_lines:
+            if keyword in l:
+                n += 1
+        return n
+
     def launch(self):
         preexec_fn = None
         log.dbg('cd %r; %s %s' % (
diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py
index 3944459..d2e48a6 100644
--- a/src/osmo_gsm_tester/obj/enb.py
+++ b/src/osmo_gsm_tester/obj/enb.py
@@ -346,4 +346,8 @@
     def addr(self):
         return self._run_node.run_addr()
 
+    @abstractmethod
+    def get_counter(self, counter_name):
+        pass
+
 # vim: expandtab tabstop=4 shiftwidth=4
diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py
index ef28100..60985f4 100644
--- a/src/osmo_gsm_tester/obj/enb_amarisoft.py
+++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py
@@ -247,6 +247,11 @@
     def running(self):
         return not self.process.terminated()
 
+    def get_counter(self, counter_name):
+        if counter_name == 'prach_received':
+            return self.process.get_counter_stdout('PRACH:')
+        raise log.Error('counter %s not implemented!' % counter_name)
+
     def get_rfemu(self, cell=0, dl=True):
         cell_list = self.gen_conf['enb'].get('cell_list', None)
         if cell_list is None or len(cell_list) < cell + 1:
diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py
index 6afc873..bf988eb 100644
--- a/src/osmo_gsm_tester/obj/enb_srs.py
+++ b/src/osmo_gsm_tester/obj/enb_srs.py
@@ -258,6 +258,11 @@
     def running(self):
         return not self.process.terminated()
 
+    def get_counter(self, counter_name):
+        if counter_name == 'prach_received':
+            return self.process.get_counter_stdout('RACH:')
+        raise log.Error('counter %s not implemented!' % counter_name)
+
     def get_rfemu(self, cell=0, dl=True):
         cell_list = self.gen_conf['enb'].get('cell_list', None)
         if cell_list is None or len(cell_list) < cell + 1:
diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py
index 610d3e6..2f19f3f 100644
--- a/src/osmo_gsm_tester/obj/ms_srs.py
+++ b/src/osmo_gsm_tester/obj/ms_srs.py
@@ -382,30 +382,21 @@
         proc.launch_sync()
         return proc
 
-    def _get_counter_stdout(self, keyword):
-        # Match stdout against keyword
-        n = 0
-        stdout_lines = (self.process.get_stdout() or '').splitlines()
-        for l in stdout_lines:
-            if keyword in l:
-                n += 1
-        return n
-
     def get_counter(self, counter_name):
         if counter_name == 'handover_success':
-            return self._get_counter_stdout('HO successful')
+            return self.process.get_counter_stdout('HO successful')
         if counter_name == 'prach_sent':
-            return self._get_counter_stdout('Random Access Transmission')
+            return self.process.get_counter_stdout('Random Access Transmission')
         if counter_name == 'paging_received':
-            return self._get_counter_stdout('S-TMSI match in paging message')
+            return self.process.get_counter_stdout('S-TMSI match in paging message')
         if counter_name == 'reestablishment_attempts':
-            return self._get_counter_stdout('RRC Connection Reestablishment')
+            return self.process.get_counter_stdout('RRC Connection Reestablishment')
         if counter_name == 'reestablishment_ok':
-            return self._get_counter_stdout('Reestablishment OK')
+            return self.process.get_counter_stdout('Reestablishment OK')
         if counter_name == 'rrc_connected_transitions':
-            return self._get_counter_stdout('RRC Connected')
+            return self.process.get_counter_stdout('RRC Connected')
         if counter_name == 'rrc_idle_transitions':
-            return self._get_counter_stdout('RRC IDLE')
+            return self.process.get_counter_stdout('RRC IDLE')
         raise log.Error('counter %s not implemented!' % counter_name)
 
     def verify_metric(self, value, operation='avg', metric='dl_brate', criterion='gt', window=1):
diff --git a/src/osmo_gsm_tester/obj/srslte_common.py b/src/osmo_gsm_tester/obj/srslte_common.py
index e221940..1d03a58 100644
--- a/src/osmo_gsm_tester/obj/srslte_common.py
+++ b/src/osmo_gsm_tester/obj/srslte_common.py
@@ -97,4 +97,4 @@
             return analyzer.get_num_phy_errors(kpi)
         except ImportError:
             self.log("Can't load KPI analyzer module.")
-            return 0
\ No newline at end of file
+            return 0

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22042
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Change-Id: I434f072b8aa6f4dce9f90889c6b40832f6798ff8
Gerrit-Change-Number: 22042
Gerrit-PatchSet: 6
Gerrit-Owner: srs_andre <andre at softwareradiosystems.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210209/6f71e5da/attachment.htm>


More information about the gerrit-log mailing list