aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo_gsm_tester/ms_driver.py
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2019-04-28 16:55:30 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2019-04-30 22:11:31 +0100
commit92cc0c9b69a55d37063e68945e8fff361bc11114 (patch)
tree1e34469718ceee5f561c836fba59d16ac4444b07 /src/osmo_gsm_tester/ms_driver.py
parent41cd68146d33b4edd776665acaeaa942e5982329 (diff)
virtual: Separate starting virtphy/mobile from the test
Move the starting code out of the Update Location "test". In the mid term we can have a SMS test run in addition to waiting the Update Location tests. A mass-test testcase will have a life-cycle of: * Creation * Configure (number of subscribers, probably all subs) * Pre-Start trigger (same as configure so it can be omitted) * Post-Start (all processes run) * Query if the test has completed The next step is an actual implementation to send SMS. Change-Id: Ie15f5123775d11dd44243b2741d047ed93f318f9
Diffstat (limited to 'src/osmo_gsm_tester/ms_driver.py')
-rw-r--r--src/osmo_gsm_tester/ms_driver.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/osmo_gsm_tester/ms_driver.py b/src/osmo_gsm_tester/ms_driver.py
index 3cfcad6..329662a 100644
--- a/src/osmo_gsm_tester/ms_driver.py
+++ b/src/osmo_gsm_tester/ms_driver.py
@@ -20,7 +20,7 @@ from . import log, util
from osmo_ms_driver.cdf import cdfs
from osmo_ms_driver.event_server import EventServer
from osmo_ms_driver.simple_loop import SimpleLoop
-from osmo_ms_driver.location_update_test import MassUpdateLocationTest
+from osmo_ms_driver.location_update_test import MassUpdateLocationTest, MobileTestStarter
from osmo_ms_driver.starter import BinaryOptions
import os.path
@@ -92,14 +92,18 @@ class MsDriver(log.Origin):
self._ev_server = EventServer("ev_server", event_server_path)
self._ev_server.listen(self._loop)
+ self._results = {}
options = self.build_binary_options()
- self._test_case = MassUpdateLocationTest("mass", options, self._cdf,
- self._ev_server,
- util.Dir(self.event_server_sk_tmp_dir),
- suite_run=self._suite_run)
+ self._starter = MobileTestStarter("mass", options, self._cdf,
+ self._ev_server,
+ util.Dir(self.event_server_sk_tmp_dir),
+ self._results, suite_run=self._suite_run)
+ self._test_case = MassUpdateLocationTest("mass", self._ev_server, self._results)
for sub in self._subscribers:
- self._test_case.subscriber_add(sub)
+ self._starter.subscriber_add(sub)
+
+ self._test_case.configure(len(self._subscribers))
self._configured = True
def run_test(self):
@@ -110,7 +114,8 @@ class MsDriver(log.Origin):
"""
if not self._configured:
self.configure()
- self._test_case.run_test(self._loop, self._test_duration)
+ deadline = self._starter.start_all(self._loop, self._test_duration)
+ self._test_case.wait_for_test(self._loop, deadline)
def print_stats(self):
"""