[PATCH] osmo-gsm-tester[master]: Create Pcu abstract class and make OsmoPcu inherit from it

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/.

Pau Espin Pedrol gerrit-no-reply at lists.osmocom.org
Fri Mar 9 17:30:59 UTC 2018


Hello Harald Welte, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/7158

to look at the new patch set (#2).

Create Pcu abstract class and make OsmoPcu inherit from it

This base class will be used to describe the required accessors for all
PCU objects.

It is introduced in this commit and will be further used in the future
when adding a Dummy PCU object which will be used by NanoBts object.

Change-Id: Ia3fd4551d1f2932362f99f7d44d65f8ae4fd1979
---
A src/osmo_gsm_tester/pcu.py
M src/osmo_gsm_tester/pcu_osmo.py
2 files changed, 50 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/58/7158/2

diff --git a/src/osmo_gsm_tester/pcu.py b/src/osmo_gsm_tester/pcu.py
new file mode 100644
index 0000000..c43ee16
--- /dev/null
+++ b/src/osmo_gsm_tester/pcu.py
@@ -0,0 +1,47 @@
+# osmo_gsm_tester: specifics pcu base abstract class
+#
+# Copyright (C) 2018 by sysmocom - s.f.m.c. GmbH
+#
+# Author: Pau Espin Pedrol <pespin at sysmocom.de>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+from abc import ABCMeta, abstractmethod
+from . import log
+
+class Pcu(log.Origin, metaclass=ABCMeta):
+    suite_run = None
+    run_dir = None
+    bts = None
+
+##############
+# PROTECTED
+##############
+
+    def __init__(self, suite_run, bts, conf, name):
+        super().__init__(log.C_RUN, name)
+        self.suite_run = suite_run
+        self.bts = bts
+        self.conf = conf
+
+###################
+# PUBLIC (test API included)
+###################
+
+    @abstractmethod
+    def start(self):
+        'Start the PCU'
+        pass
+
+# vim: expandtab tabstop=4 shiftwidth=4
diff --git a/src/osmo_gsm_tester/pcu_osmo.py b/src/osmo_gsm_tester/pcu_osmo.py
index 23c93eb..deaeb80 100644
--- a/src/osmo_gsm_tester/pcu_osmo.py
+++ b/src/osmo_gsm_tester/pcu_osmo.py
@@ -20,11 +20,9 @@
 import os
 import pprint
 import tempfile
-from . import log, config, util, template, process, event_loop
+from . import log, config, util, template, process, event_loop, pcu
 
-class OsmoPcu(log.Origin):
-    suite_run = None
-    run_dir = None
+class OsmoPcu(pcu.Pcu):
     inst = None
     env = None
 
@@ -32,9 +30,7 @@
     PCU_OSMO_CFG = 'osmo-pcu.cfg'
 
     def __init__(self, suite_run, bts, conf):
-        super().__init__(log.C_RUN, OsmoPcu.BIN_PCU)
-        self.suite_run = suite_run
-        self.bts = bts
+        super().__init__(suite_run, bts, conf, OsmoPcu.BIN_PCU)
         self.conf = conf
         self.env = {}
 

-- 
To view, visit https://gerrit.osmocom.org/7158
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia3fd4551d1f2932362f99f7d44d65f8ae4fd1979
Gerrit-PatchSet: 2
Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list