Revert "nitb_netreg_mass: Add code to declare a run successful/failure"
This reverts commit b4ad8d7243
.
Reason for revert: There was a true dependency on earlier changes (len(mobiles)). Rollback until the resource configuration is merged.
Change-Id: If0f5e24cec2f0d1d144b464180b341cacbdf0ebb
This commit is contained in:
parent
54b4fa928e
commit
44128f91d2
|
@ -146,18 +146,6 @@ class MsDriver(log.Origin):
|
|||
"""
|
||||
self._test_case.print_stats()
|
||||
|
||||
def get_stats(self):
|
||||
"""
|
||||
Returns a statistical summary of the test.
|
||||
"""
|
||||
return self._test_case.get_stats()
|
||||
|
||||
def get_result_values(self):
|
||||
"""
|
||||
Returns the raw result values of the test run in any order.
|
||||
"""
|
||||
return self._test_case.get_result_values()
|
||||
|
||||
def cleanup(self):
|
||||
"""
|
||||
Cleans up the driver (e.g. AF_UNIX files).
|
||||
|
|
|
@ -23,11 +23,9 @@ from .test_support import imsi_ki_gen, Results
|
|||
|
||||
from datetime import timedelta
|
||||
|
||||
import collections
|
||||
import time
|
||||
|
||||
class LUResult(Results):
|
||||
"""Representation of a Location Updating Result."""
|
||||
|
||||
def __init__(self, name):
|
||||
super().__init__(name)
|
||||
|
@ -46,10 +44,6 @@ class LUResult(Results):
|
|||
def lu_delay(self):
|
||||
return self.lu_time() - self.start_time()
|
||||
|
||||
|
||||
LUStats = collections.namedtuple("LUStats", ["num_attempted", "num_completed",
|
||||
"min_latency", "max_latency"])
|
||||
|
||||
class MassUpdateLocationTest(log.Origin):
|
||||
"""
|
||||
A test to launch a configurable amount of MS and make them
|
||||
|
@ -213,24 +207,9 @@ class MassUpdateLocationTest(log.Origin):
|
|||
max_value = result.lu_delay()
|
||||
return min_value, max_value
|
||||
|
||||
def get_result_values(self):
|
||||
"""
|
||||
Returns the raw result values of the test run in any order.
|
||||
"""
|
||||
return self._results.values()
|
||||
|
||||
def get_stats(self):
|
||||
"""
|
||||
Returns a statistical summary of the test.
|
||||
"""
|
||||
attempted = self._number_of_ms
|
||||
completed = attempted - self._outstanding
|
||||
min_latency, max_latency = self.find_min_max(filter(lambda x: x.has_lu_time(), self._results.values()))
|
||||
return LUStats(attempted, completed, min_latency, max_latency)
|
||||
|
||||
def print_stats(self):
|
||||
stats = self.get_stats()
|
||||
all_completed = stats.num_attempted == stats.num_completed
|
||||
all_completed = self.all_completed()
|
||||
min_value, max_value = self.find_min_max(filter(lambda x: x.has_lu_time(), self._results.values()))
|
||||
|
||||
self.log("Tests done", all_completed=all_completed,
|
||||
min=stats.min_latency, max=stats.max_latency)
|
||||
min=min_value, max=max_value)
|
||||
|
|
|
@ -1,17 +1,16 @@
|
|||
#!/usr/bin/env python3
|
||||
"""
|
||||
Runs a network registration with a 'massive' amount of MS
|
||||
Run a network registration with a 'massive' amount of MS
|
||||
using the ms_driver infrastructure.
|
||||
"""
|
||||
from osmo_gsm_tester.testenv import *
|
||||
from datetime import timedelta
|
||||
|
||||
print('Claiming resources for the test')
|
||||
print('use resources...')
|
||||
nitb = suite.nitb()
|
||||
bts = suite.bts()
|
||||
ms_driver = suite.ms_driver()
|
||||
|
||||
print('Launching a simple network')
|
||||
print('start nitb and bts...')
|
||||
nitb.bts_add(bts)
|
||||
nitb.start()
|
||||
bts.start()
|
||||
|
@ -24,35 +23,5 @@ for ms in ms_driver.ms_subscribers():
|
|||
# Run the base test.
|
||||
ms_driver.run_test()
|
||||
|
||||
# Print the stats of the run.
|
||||
# Print stats
|
||||
ms_driver.print_stats()
|
||||
|
||||
# Evaluate if this run was successful or not. Our initial acceptance criteria
|
||||
# is quite basic but it should allow us to scale to a larger number of MS and
|
||||
# reasons (e.g. have a full BCCH).
|
||||
#
|
||||
# 99% of LUs should complete
|
||||
# 99% of successful LUs should complete within 10s.
|
||||
stats = ms_driver.get_stats()
|
||||
if len(mobiles) > 0 and stats.num_completed < 1:
|
||||
raise Exception("No run completed.")
|
||||
completion_ratio = stats.num_attempted / stats.num_completed
|
||||
|
||||
# Verify that 99% of LUs completed.
|
||||
if completion_ratio < 0.99:
|
||||
raise Exception("Completion ratio of %f%% lower than threshold." % (completion_ratio * 100.0))
|
||||
|
||||
# Check how many results are below our threshold.
|
||||
acceptable_delay = timedelta(seconds=20)
|
||||
results = ms_driver.get_result_values()
|
||||
quick_enough = 0
|
||||
for result in results:
|
||||
if not result.has_lu_time():
|
||||
continue
|
||||
if timedelta(seconds=result.lu_delay()) >= acceptable_delay:
|
||||
continue
|
||||
quick_enough = quick_enough + 1
|
||||
|
||||
latency_ratio = quick_enough / len(results)
|
||||
if latency_ratio < 0.99:
|
||||
raise Exception("Latency ratio of %f%% lower than threshold." % (latency_ratio * 100.0))
|
||||
|
|
Loading…
Reference in New Issue