summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docker/storperf-master/storperf/utilities/math.py3
-rw-r--r--docker/storperf-master/tests/utilities_tests/math_slope_test.py5
2 files changed, 8 insertions, 0 deletions
diff --git a/docker/storperf-master/storperf/utilities/math.py b/docker/storperf-master/storperf/utilities/math.py
index 2e78c9d..601ae37 100644
--- a/docker/storperf-master/storperf/utilities/math.py
+++ b/docker/storperf-master/storperf/utilities/math.py
@@ -133,6 +133,9 @@ def slope_series(data_series):
avg = average(average_series)
slp = slope(data_series)
+ if slp is None or avg is None:
+ return new_series
+
multiplier = float(len(data_series) + 1) / 2.0 - len(data_series)
for index, _ in data_series:
new_value = avg + (slp * multiplier)
diff --git a/docker/storperf-master/tests/utilities_tests/math_slope_test.py b/docker/storperf-master/tests/utilities_tests/math_slope_test.py
index 24d5cd7..5c286ad 100644
--- a/docker/storperf-master/tests/utilities_tests/math_slope_test.py
+++ b/docker/storperf-master/tests/utilities_tests/math_slope_test.py
@@ -21,6 +21,11 @@ class MathSlopeTest(unittest.TestCase):
actual = Slope.slope([])
self.assertEqual(expected, actual)
+ def test_slope_one_series(self):
+ expected = None
+ actual = Slope.slope([[1, 0.0]])
+ self.assertEqual(expected, actual)
+
def test_slope_integer_series(self):
expected = 1.4
actual = Slope.slope([[1, 6], [2, 5], [3, 7], [4, 10]])