ms: Only use completed tests for min/max handling

Remove non completed results before calculating the min/max. We will
need to check success/failure based on completion ratio.

Change-Id: Icaf9e90dd729b2339e409b3ec1593f456969fd19
diff --git a/src/osmo_ms_driver/location_update_test.py b/src/osmo_ms_driver/location_update_test.py
index 48c57eb..848d8da 100644
--- a/src/osmo_ms_driver/location_update_test.py
+++ b/src/osmo_ms_driver/location_update_test.py
@@ -188,10 +188,18 @@
     def all_completed(self):
         return self._outstanding == 0
 
+    def results_min_max(self, results):
+        min_value = max_value = None
+        for result in results:
+            if min_value is None or result.lu_delay() < min_value:
+                min_value = result.lu_delay()
+            if max_value is None or result.lu_delay() > max_value:
+                max_value = result.lu_delay()
+        return min_value, max_value
+
     def print_stats(self):
         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())
+        min_value, max_value = self.results_min_max(filter(lambda x: x.has_lu_time(), self._results.values()))
 
         self.log("Tests done", all_completed=all_completed,
-                    min=min_value.lu_delay(), max=max_value.lu_delay())
+                    min=min_value, max=max_value)