Holger Freyther has uploaded this change for review. ( 
https://gerrit.osmocom.org/13075


Change subject: resource: Use a factory to initiate a modem
......................................................................

resource: Use a factory to initiate a modem

Change-Id: I4baa791c92196cda477b2d969d4f67dfbe1152af
---
M src/osmo_gsm_tester/resource.py
M src/osmo_gsm_tester/suite.py
2 files changed, 13 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester 
refs/changes/75/13075/1

diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py
index 292bac6..b574ad4 100644
--- a/src/osmo_gsm_tester/resource.py
+++ b/src/osmo_gsm_tester/resource.py
@@ -107,6 +107,14 @@
         'nanobts': bts_nanobts.NanoBts,
     }

+
+KNOWN_MS_TYPES = {
+        # Map None to ofono for forward compability
+        None: modem.Modem,
+        'ofono': modem.Modem,
+}
+
+
 def register_bts_type(name, clazz):
     KNOWN_BTS_TYPES[name] = clazz

diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py
index e5ac9a8..7cfbf65 100644
--- a/src/osmo_gsm_tester/suite.py
+++ b/src/osmo_gsm_tester/suite.py
@@ -327,8 +327,12 @@

     def modem(self, specifics=None):
         conf = self.reserved_resources.get(resource.R_MODEM, 
specifics=specifics)
+        ms_type = conf.get('type')
+        ms_class = resource.KNOWN_MS_TYPES.get(ms_type)
+        if ms_class is None:
+            raise RuntimeError('No such Modem type is defined: %r' % ms_type)
         self.dbg('create Modem object', conf=conf)
-        ms = modem.Modem(self, conf)
+        ms = ms_class(self, conf)
         self.register_for_cleanup(ms)
         return ms


--
To view, visit https://gerrit.osmocom.org/13075
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4baa791c92196cda477b2d969d4f67dfbe1152af
Gerrit-Change-Number: 13075
Gerrit-PatchSet: 1
Gerrit-Owner: Holger Freyther <[email protected]>

Reply via email to