<p>Holger Freyther <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/9712">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, but someone else must approve
  Pau Espin Pedrol: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">ms: Begin to refactor and be able to share functionality<br><br>Change-Id: I840af0396f08744ce8ee6a2967f880d5cb7f815f<br>---<br>M src/osmo_ms_driver/location_update_test.py<br>A src/osmo_ms_driver/test_support.py<br>2 files changed, 57 insertions(+), 30 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_ms_driver/location_update_test.py b/src/osmo_ms_driver/location_update_test.py</span><br><span>index 0d27d0e..2a3c246 100644</span><br><span>--- a/src/osmo_ms_driver/location_update_test.py</span><br><span>+++ b/src/osmo_ms_driver/location_update_test.py</span><br><span>@@ -1,5 +1,5 @@</span><br><span style="color: hsl(0, 100%, 40%);">-# osmo_ms_driver: Starter for processes</span><br><span style="color: hsl(0, 100%, 40%);">-# Help to start processes over time.</span><br><span style="color: hsl(120, 100%, 40%);">+# osmo_ms_driver: Locationg Update Test</span><br><span style="color: hsl(120, 100%, 40%);">+# Create MS's and wait for the Location Update to succeed.</span><br><span> #</span><br><span> # Copyright (C) 2018 by Holger Hans Peter Freyther</span><br><span> #</span><br><span>@@ -19,46 +19,22 @@</span><br><span> </span><br><span> from osmo_gsm_tester import log</span><br><span> from .starter import OsmoVirtPhy, OsmoMobile</span><br><span style="color: hsl(120, 100%, 40%);">+from .test_support import imsi_ki_gen, Results</span><br><span> </span><br><span> from datetime import timedelta</span><br><span> </span><br><span> import time</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-def imsi_ki_gen():</span><br><span style="color: hsl(0, 100%, 40%);">-    """</span><br><span style="color: hsl(0, 100%, 40%);">-    Generate IMSIs and KIs to be used by test.</span><br><span style="color: hsl(0, 100%, 40%);">-    """</span><br><span style="color: hsl(0, 100%, 40%);">-    n = 1010000000000</span><br><span style="color: hsl(0, 100%, 40%);">-    while True:</span><br><span style="color: hsl(0, 100%, 40%);">-        yield ("%.15d" % n, "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00")</span><br><span style="color: hsl(0, 100%, 40%);">-        n += 1</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-class Results(log.Origin):</span><br><span style="color: hsl(120, 100%, 40%);">+class LUResult(Results):</span><br><span> </span><br><span>     def __init__(self, name):</span><br><span style="color: hsl(0, 100%, 40%);">-        super().__init__(log.C_RUN, name)</span><br><span style="color: hsl(0, 100%, 40%);">-        self._time_of_registration = None</span><br><span style="color: hsl(0, 100%, 40%);">-        self._time_of_launch = None</span><br><span style="color: hsl(120, 100%, 40%);">+        super().__init__(name)</span><br><span>         self._time_of_lu = None</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    def set_start_time(self, time):</span><br><span style="color: hsl(0, 100%, 40%);">-        assert self._time_of_registration is None</span><br><span style="color: hsl(0, 100%, 40%);">-        self._time_of_registration = time</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    def set_launch_time(self, time):</span><br><span style="color: hsl(0, 100%, 40%);">-        assert self._time_of_launch is None</span><br><span style="color: hsl(0, 100%, 40%);">-        self._time_of_launch = time</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>     def set_lu_time(self, time):</span><br><span>         assert self._time_of_lu is None</span><br><span>         self._time_of_lu = time</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    def start_time(self):</span><br><span style="color: hsl(0, 100%, 40%);">-        return self._time_of_registration or 0</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    def launch_time(self):</span><br><span style="color: hsl(0, 100%, 40%);">-        return self._time_of_launch or 0</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>     def lu_time(self):</span><br><span>         return self._time_of_lu or 0</span><br><span> </span><br><span>@@ -98,7 +74,7 @@</span><br><span>                                 self.TEMPLATE_CFG, imsi_gen,</span><br><span>                                 phy.phy_filename(),</span><br><span>                                 event_server.server_path())</span><br><span style="color: hsl(0, 100%, 40%);">-            self._results[ms_name] = Results(ms_name)</span><br><span style="color: hsl(120, 100%, 40%);">+            self._results[ms_name] = LUResult(ms_name)</span><br><span>             self._unstarted.append(launcher)</span><br><span>         self._event_server = event_server</span><br><span>         self._event_server.register(self.handle_msg)</span><br><span>diff --git a/src/osmo_ms_driver/test_support.py b/src/osmo_ms_driver/test_support.py</span><br><span>new file mode 100644</span><br><span>index 0000000..f1c34fb</span><br><span>--- /dev/null</span><br><span>+++ b/src/osmo_ms_driver/test_support.py</span><br><span>@@ -0,0 +1,51 @@</span><br><span style="color: hsl(120, 100%, 40%);">+# osmo_ms_driver: Test helpers and base classes</span><br><span style="color: hsl(120, 100%, 40%);">+#</span><br><span style="color: hsl(120, 100%, 40%);">+# Copyright (C) 2018 by Holger Hans Peter Freyther</span><br><span style="color: hsl(120, 100%, 40%);">+#</span><br><span style="color: hsl(120, 100%, 40%);">+# This program is free software: you can redistribute it and/or modify</span><br><span style="color: hsl(120, 100%, 40%);">+# it under the terms of the GNU General Public License as</span><br><span style="color: hsl(120, 100%, 40%);">+# published by the Free Software Foundation, either version 3 of the</span><br><span style="color: hsl(120, 100%, 40%);">+# License, or (at your option) any later version.</span><br><span style="color: hsl(120, 100%, 40%);">+#</span><br><span style="color: hsl(120, 100%, 40%);">+# This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(120, 100%, 40%);">+# but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(120, 100%, 40%);">+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span><br><span style="color: hsl(120, 100%, 40%);">+# GNU General Public License for more details.</span><br><span style="color: hsl(120, 100%, 40%);">+#</span><br><span style="color: hsl(120, 100%, 40%);">+# You should have received a copy of the GNU General Public License</span><br><span style="color: hsl(120, 100%, 40%);">+# along with this program.  If not, see <http://www.gnu.org/licenses/>.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+from osmo_gsm_tester import log</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+def imsi_ki_gen():</span><br><span style="color: hsl(120, 100%, 40%);">+    """</span><br><span style="color: hsl(120, 100%, 40%);">+    Generate IMSIs and KIs to be used by test.</span><br><span style="color: hsl(120, 100%, 40%);">+    """</span><br><span style="color: hsl(120, 100%, 40%);">+    n = 1010000000000</span><br><span style="color: hsl(120, 100%, 40%);">+    while True:</span><br><span style="color: hsl(120, 100%, 40%);">+        yield ("%.15d" % n, "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00")</span><br><span style="color: hsl(120, 100%, 40%);">+        n += 1</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+class Results(log.Origin):</span><br><span style="color: hsl(120, 100%, 40%);">+    """</span><br><span style="color: hsl(120, 100%, 40%);">+    A base class to collect results from tests.</span><br><span style="color: hsl(120, 100%, 40%);">+    """</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    def __init__(self, name):</span><br><span style="color: hsl(120, 100%, 40%);">+        super().__init__(log.C_RUN, name)</span><br><span style="color: hsl(120, 100%, 40%);">+        self._time_of_registration = None</span><br><span style="color: hsl(120, 100%, 40%);">+        self._time_of_launch = None</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    def set_start_time(self, time):</span><br><span style="color: hsl(120, 100%, 40%);">+        assert self._time_of_registration is None</span><br><span style="color: hsl(120, 100%, 40%);">+        self._time_of_registration = time</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    def set_launch_time(self, time):</span><br><span style="color: hsl(120, 100%, 40%);">+        assert self._time_of_launch is None</span><br><span style="color: hsl(120, 100%, 40%);">+        self._time_of_launch = time</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    def start_time(self):</span><br><span style="color: hsl(120, 100%, 40%);">+        return self._time_of_registration or 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    def launch_time(self):</span><br><span style="color: hsl(120, 100%, 40%);">+        return self._time_of_launch or 0</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/9712">change 9712</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/9712"/><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-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I840af0396f08744ce8ee6a2967f880d5cb7f815f </div>
<div style="display:none"> Gerrit-Change-Number: 9712 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: Holger Freyther <holger@freyther.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Holger Freyther <holger@freyther.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: Pau Espin Pedrol <pespin@sysmocom.de> </div>