diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2019-04-28 16:55:30 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2019-04-30 22:11:31 +0100 |
commit | 92cc0c9b69a55d37063e68945e8fff361bc11114 (patch) | |
tree | 1e34469718ceee5f561c836fba59d16ac4444b07 /src/osmo_gsm_tester/ms_driver.py | |
parent | 41cd68146d33b4edd776665acaeaa942e5982329 (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.py | 19 |
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): """ |