Change in osmo-gsm-tester[master]: ms: Quit early when all tests concluded..

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Holger Freyther gerrit-no-reply at lists.osmocom.org
Tue Jul 24 21:58:54 UTC 2018


Holger Freyther has submitted this change and it was merged. ( https://gerrit.osmocom.org/9716 )

Change subject: ms: Quit early when all tests concluded..
......................................................................

ms: Quit early when all tests concluded..

And fix the the detection if everything has completed.

Change-Id: I3575ee7618c35e3b66d25fa31844d267489d9179
---
M src/osmo_ms_driver/location_update_test.py
1 file changed, 11 insertions(+), 3 deletions(-)

Approvals:
  Pau Espin Pedrol: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/osmo_ms_driver/location_update_test.py b/src/osmo_ms_driver/location_update_test.py
index 2a3c246..4b1c499 100644
--- a/src/osmo_ms_driver/location_update_test.py
+++ b/src/osmo_ms_driver/location_update_test.py
@@ -35,6 +35,9 @@
         assert self._time_of_lu is None
         self._time_of_lu = time
 
+    def has_lu_time(self):
+        return self._time_of_lu is not None
+
     def lu_time(self):
         return self._time_of_lu or 0
 
@@ -64,6 +67,7 @@
         self._results = {}
         imsi_gen = imsi_ki_gen()
 
+        self._outstanding = number_of_ms
         for i in range(0, number_of_ms):
             ms_name = "%.5d" % i
 
@@ -155,6 +159,8 @@
         elif data['type'] == 'event':
             if data['data']['lu_done'] == 1:
                 ms = self._results[data['ms']]
+                if not ms.has_lu_time():
+                    self._outstanding = self._outstanding - 1
                 ms.set_lu_time(time)
                 self.log("MS performed LU ", ms=ms, at=time, lu_delay=ms.lu_delay())
         else:
@@ -165,7 +171,7 @@
     def wait_for_result(self, loop):
         to_complete_time = self._start_time + self.TEST_TIME.total_seconds()
 
-        while True:
+        while not self.all_completed():
             now_time = time.clock_gettime(time.CLOCK_MONOTONIC)
             sleep_time = to_complete_time - now_time
             if sleep_time < 0:
@@ -173,9 +179,11 @@
             loop.schedule_timeout(sleep_time)
             loop.select()
 
+    def all_completed(self):
+        return self._outstanding == 0
+
     def print_stats(self):
-        from functools import reduce
-        all_completed = reduce(lambda b, ms: b and ms.lu_time() is not None, self._results.values(), True)
+        all_completed = self.all_completed()
         min_value = min(self._results.values(), key=lambda x: x.lu_delay())
         max_value = max(self._results.values(), key=lambda x: x.lu_delay())
 

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

Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I3575ee7618c35e3b66d25fa31844d267489d9179
Gerrit-Change-Number: 9716
Gerrit-PatchSet: 4
Gerrit-Owner: Holger Freyther <holger at freyther.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Holger Freyther <holger at freyther.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180724/c411cd55/attachment.htm>


More information about the gerrit-log mailing list