<p>pespin <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18048">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">testenv: deferr importing obj module class until use is required<br><br>Change-Id: Ie073256a03bb2d038ef7f715d534afb1c53bb241<br>---<br>M src/osmo_gsm_tester/testenv.py<br>1 file changed, 34 insertions(+), 23 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py</span><br><span>index 416fc58..42288aa 100644</span><br><span>--- a/src/osmo_gsm_tester/testenv.py</span><br><span>+++ b/src/osmo_gsm_tester/testenv.py</span><br><span>@@ -29,13 +29,6 @@</span><br><span> from .core import resource</span><br><span> from .core.event_loop import MainLoop</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3</span><br><span style="color: hsl(0, 100%, 40%);">-from .obj import run_node</span><br><span style="color: hsl(0, 100%, 40%);">-from .obj import epc</span><br><span style="color: hsl(0, 100%, 40%);">-from .obj import enb</span><br><span style="color: hsl(0, 100%, 40%);">-from .obj import bts</span><br><span style="color: hsl(0, 100%, 40%);">-from .obj import ms</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> suite = None</span><br><span> resources = None</span><br><span> log = None</span><br><span>@@ -172,57 +165,68 @@</span><br><span>         return self.get_reserved_resource(resource.R_IP_ADDRESS, specifics)</span><br><span> </span><br><span>     def nitb(self, ip_address=None):</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.nitb_osmo import OsmoNitb</span><br><span>         if ip_address is None:</span><br><span>             ip_address = self.ip_address()</span><br><span style="color: hsl(0, 100%, 40%);">-        return nitb_osmo.OsmoNitb(self, ip_address)</span><br><span style="color: hsl(120, 100%, 40%);">+        return OsmoNitb(self, ip_address)</span><br><span> </span><br><span>     def hlr(self, ip_address=None):</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.hlr_osmo import OsmoHlr</span><br><span>         if ip_address is None:</span><br><span>             ip_address = self.ip_address()</span><br><span style="color: hsl(0, 100%, 40%);">-        return hlr_osmo.OsmoHlr(self, ip_address)</span><br><span style="color: hsl(120, 100%, 40%);">+        return OsmoHlr(self, ip_address)</span><br><span> </span><br><span>     def ggsn(self, ip_address=None):</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.ggsn_osmo import OsmoGgsn</span><br><span>         if ip_address is None:</span><br><span>             ip_address = self.ip_address()</span><br><span style="color: hsl(0, 100%, 40%);">-        return ggsn_osmo.OsmoGgsn(self, ip_address)</span><br><span style="color: hsl(120, 100%, 40%);">+        return OsmoGgsn(self, ip_address)</span><br><span> </span><br><span>     def sgsn(self, hlr, ggsn, ip_address=None):</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj import sgsn_osmo</span><br><span>         if ip_address is None:</span><br><span>             ip_address = self.ip_address()</span><br><span>         return sgsn_osmo.OsmoSgsn(self, hlr, ggsn, ip_address)</span><br><span> </span><br><span>     def mgcpgw(self, ip_address=None, bts_ip=None):</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.mgcpgw_osmo import OsmoMgcpgw</span><br><span>         if ip_address is None:</span><br><span>             ip_address = self.ip_address()</span><br><span style="color: hsl(0, 100%, 40%);">-        return mgcpgw_osmo.OsmoMgcpgw(self, ip_address, bts_ip)</span><br><span style="color: hsl(120, 100%, 40%);">+        return OsmoMgcpgw(self, ip_address, bts_ip)</span><br><span> </span><br><span>     def mgw(self, ip_address=None):</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.mgw_osmo import OsmoMgw</span><br><span>         if ip_address is None:</span><br><span>             ip_address = self.ip_address()</span><br><span style="color: hsl(0, 100%, 40%);">-        return mgw_osmo.OsmoMgw(self, ip_address)</span><br><span style="color: hsl(120, 100%, 40%);">+        return OsmoMgw(self, ip_address)</span><br><span> </span><br><span>     def msc(self, hlr, mgcpgw, stp, ip_address=None):</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj import msc_osmo</span><br><span>         if ip_address is None:</span><br><span>             ip_address = self.ip_address()</span><br><span>         return msc_osmo.OsmoMsc(self, hlr, mgcpgw, stp, ip_address)</span><br><span> </span><br><span>     def bsc(self, msc, mgw, stp, ip_address=None):</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.bsc_osmo import OsmoBsc</span><br><span>         if ip_address is None:</span><br><span>             ip_address = self.ip_address()</span><br><span style="color: hsl(0, 100%, 40%);">-        return bsc_osmo.OsmoBsc(self, msc, mgw, stp, ip_address)</span><br><span style="color: hsl(120, 100%, 40%);">+        return OsmoBsc(self, msc, mgw, stp, ip_address)</span><br><span> </span><br><span>     def stp(self, ip_address=None):</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.stp_osmo import OsmoStp</span><br><span>         if ip_address is None:</span><br><span>             ip_address = self.ip_address()</span><br><span style="color: hsl(0, 100%, 40%);">-        return stp_osmo.OsmoStp(self, ip_address)</span><br><span style="color: hsl(120, 100%, 40%);">+        return OsmoStp(self, ip_address)</span><br><span> </span><br><span>     def ms_driver(self):</span><br><span style="color: hsl(0, 100%, 40%);">-        ms = ms_driver.MsDriver(self)</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.ms_driver import MsDriver</span><br><span style="color: hsl(120, 100%, 40%);">+        ms = MsDriver(self)</span><br><span>         self.register_for_cleanup(ms)</span><br><span>         return ms</span><br><span> </span><br><span>     def bts(self, specifics=None):</span><br><span style="color: hsl(0, 100%, 40%);">-        bts_obj = bts.Bts.get_instance_by_type(self, self.get_reserved_resource(resource.R_BTS, specifics=specifics))</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.bts import Bts</span><br><span style="color: hsl(120, 100%, 40%);">+        bts_obj = Bts.get_instance_by_type(self, self.get_reserved_resource(resource.R_BTS, specifics=specifics))</span><br><span>         bts_obj.set_lac(self.lac())</span><br><span>         bts_obj.set_rac(self.rac())</span><br><span>         bts_obj.set_cellid(self.cellid())</span><br><span>@@ -231,8 +235,9 @@</span><br><span>         return bts_obj</span><br><span> </span><br><span>     def modem(self, specifics=None):</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.ms import MS</span><br><span>         conf = self.get_reserved_resource(resource.R_MODEM, specifics=specifics)</span><br><span style="color: hsl(0, 100%, 40%);">-        ms_obj = ms.MS.get_instance_by_type(self, conf)</span><br><span style="color: hsl(120, 100%, 40%);">+        ms_obj = MS.get_instance_by_type(self, conf)</span><br><span>         self.register_for_cleanup(ms_obj)</span><br><span>         return ms_obj</span><br><span> </span><br><span>@@ -252,35 +257,41 @@</span><br><span>                 return l</span><br><span> </span><br><span>     def esme(self):</span><br><span style="color: hsl(0, 100%, 40%);">-        esme_obj = esme.Esme(self.msisdn())</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.esme import Esme</span><br><span style="color: hsl(120, 100%, 40%);">+        esme_obj = Esme(self.msisdn())</span><br><span>         self.register_for_cleanup(esme_obj)</span><br><span>         return esme_obj</span><br><span> </span><br><span>     def run_node(self, specifics=None):</span><br><span style="color: hsl(0, 100%, 40%);">-        return run_node.RunNode.from_conf(self.get_reserved_resource(resource.R_RUN_NODE, specifics=specifics))</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.run_node import RunNode</span><br><span style="color: hsl(120, 100%, 40%);">+        return RunNode.from_conf(self.get_reserved_resource(resource.R_RUN_NODE, specifics=specifics))</span><br><span> </span><br><span>     def enb(self, specifics=None):</span><br><span style="color: hsl(0, 100%, 40%);">-        enb_obj = enb.eNodeB.get_instance_by_type(self, self.get_reserved_resource(resource.R_ENB, specifics=specifics))</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.enb import eNodeB</span><br><span style="color: hsl(120, 100%, 40%);">+        enb_obj = eNodeB.get_instance_by_type(self, self.get_reserved_resource(resource.R_ENB, specifics=specifics))</span><br><span>         self.register_for_cleanup(enb_obj)</span><br><span>         return enb_obj</span><br><span> </span><br><span>     def epc(self, run_node=None):</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.epc import EPC</span><br><span>         if run_node is None:</span><br><span>             run_node = self.run_node()</span><br><span style="color: hsl(0, 100%, 40%);">-        epc_obj = epc.EPC.get_instance_by_type(self, run_node)</span><br><span style="color: hsl(120, 100%, 40%);">+        epc_obj = EPC.get_instance_by_type(self, run_node)</span><br><span>         self.register_for_cleanup(epc_obj)</span><br><span>         return epc_obj</span><br><span> </span><br><span>     def osmocon(self, specifics=None):</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.osmocon import Osmocon</span><br><span>         conf = self.get_reserved_resource(resource.R_OSMOCON, specifics=specifics)</span><br><span style="color: hsl(0, 100%, 40%);">-        osmocon_obj = osmocon.Osmocon(self, conf=conf)</span><br><span style="color: hsl(120, 100%, 40%);">+        osmocon_obj = Osmocon(self, conf=conf)</span><br><span>         self.register_for_cleanup(osmocon_obj)</span><br><span>         return osmocon_obj</span><br><span> </span><br><span>     def iperf3srv(self, ip_address=None):</span><br><span style="color: hsl(120, 100%, 40%);">+        from .obj.iperf3 import IPerf3Server</span><br><span>         if ip_address is None:</span><br><span>             ip_address = self.ip_address()</span><br><span style="color: hsl(0, 100%, 40%);">-        iperf3srv_obj = iperf3.IPerf3Server(self, ip_address)</span><br><span style="color: hsl(120, 100%, 40%);">+        iperf3srv_obj = IPerf3Server(self, ip_address)</span><br><span>         return iperf3srv_obj</span><br><span> </span><br><span>     def msisdn(self):</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18048">change 18048</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18048"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-gsm-tester </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ie073256a03bb2d038ef7f715d534afb1c53bb241 </div>
<div style="display:none"> Gerrit-Change-Number: 18048 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>