summaryrefslogtreecommitdiffstats
path: root/tests/utilities_tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/utilities_tests')
-rw-r--r--tests/utilities_tests/__init__.py11
-rw-r--r--tests/utilities_tests/data_handler_test.py297
-rw-r--r--tests/utilities_tests/data_treatment_test.py81
-rw-r--r--tests/utilities_tests/dictionary_test.py42
-rw-r--r--tests/utilities_tests/math_average_test.py52
-rw-r--r--tests/utilities_tests/math_range_test.py120
-rw-r--r--tests/utilities_tests/math_slope_test.py72
-rw-r--r--tests/utilities_tests/steady_state_test.py65
-rw-r--r--tests/utilities_tests/thread_gate_test.py57
9 files changed, 0 insertions, 797 deletions
diff --git a/tests/utilities_tests/__init__.py b/tests/utilities_tests/__init__.py
deleted file mode 100644
index 6218fe3..0000000
--- a/tests/utilities_tests/__init__.py
+++ /dev/null
@@ -1,11 +0,0 @@
-##############################################################################
-# Copyright (c) 2016 EMC and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-import logging
-
-logging.basicConfig(level=logging.DEBUG)
diff --git a/tests/utilities_tests/data_handler_test.py b/tests/utilities_tests/data_handler_test.py
deleted file mode 100644
index 6d57b0d..0000000
--- a/tests/utilities_tests/data_handler_test.py
+++ /dev/null
@@ -1,297 +0,0 @@
-##############################################################################
-# Copyright (c) 2016 EMC and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-import os
-from storperf.utilities.data_handler import DataHandler
-import unittest
-
-import mock
-
-
-class MockGraphiteDB(object):
-
- def __init__(self):
- self.series = []
-
- def fetch_series(self, job_id, timeframe):
- return self.series
-
-
-class DataHandlerTest(unittest.TestCase):
-
- def setUp(self):
- self.event_listeners = set()
- self.data_handler = DataHandler()
- self._terminated = False
- self.args = None
- self.start_time = 0
- self.steady_state_samples = 10
- self.end_time = 1
- self.metadata = {}
- self.block_sizes = "1"
- self.queue_depths = "1"
- mock.job_id = "1"
- self.job_db = mock
- self.pushed = False
- self.current_workload = None
- self.db_results = None
- pass
-
- @property
- def terminated(self):
- return self._terminated
-
- def push_results_to_db(self, *args):
- self.pushed = True
- self.db_results = args
- results = {"href": "http://localhost/api/result/uuid-that-is-long"}
- return results
-
- def terminate(self):
- self._terminated = True
-
- def terminate_current_run(self):
- self._terminated = True
-
- @mock.patch("time.time")
- @mock.patch.dict(os.environ, {'TEST_DB_URL': 'mock'})
- @mock.patch("storperf.db.graphite_db.GraphiteDB.fetch_series")
- def test_lookup_prior_data(self, mock_graphite_db, mock_time):
- self._terminated = False
- expected = [[1480455910, 205.345],
- [1480455920, 201.59],
- [1480455930, 205.76],
- [1480455970, 215.655],
- [1480455980, 214.16],
- [1480455990, 213.57],
- [1480456030, 219.37],
- [1480456040, 219.28],
- [1480456050, 217.75]]
- mock_graphite_db.return_value = expected
- mock_time.return_value = expected[-1][0] + 10
-
- self.current_workload = ("%s.%s.queue-depth.%s.block-size.%s" %
- ("job_id",
- "rw",
- 8,
- 8192))
-
- actual = self.data_handler._lookup_prior_data(self, 'read', 'iops')
- self.assertEqual(expected, actual)
-
- def test_short_sample(self):
- series = [[1480455910, 205.345],
- [1480455920, 201.59],
- [1480455930, 205.76],
- [1480455970, 215.655],
- [1480455980, 214.16],
- [1480455990, 213.57],
- [1480456030, 219.37],
- [1480456040, 219.28],
- [1480456050, 217.75]]
-
- actual = self.data_handler._evaluate_prior_data(
- series, self.steady_state_samples)
- self.assertEqual(False, actual)
-
- def test_long_not_steady_sample(self):
- series = [[4804559100, 205345],
- [4804559200, 20159],
- [4804559300, 20576],
- [4804560300, 21937],
- [4804560400, 21928],
- [4804560500, 21775]]
- actual = self.data_handler._evaluate_prior_data(
- series, self.steady_state_samples)
- self.assertEqual(False, actual)
-
- def test_long_steady_sample(self):
- series = [[4804559100, 205.345],
- [4804559200, 201.59],
- [4804559300, 205.76],
- [4804559400, 205.76],
- [4804559500, 205.76],
- [4804559600, 205.76],
- [4804559700, 205.76],
- [4804560300, 219.37],
- [4804560400, 219.28],
- [4804560500, 217.75]]
- actual = self.data_handler._evaluate_prior_data(
- series, self.steady_state_samples)
- self.assertEqual(True, actual)
-
- @mock.patch.dict(os.environ, {'TEST_DB_URL': 'mock'})
- @mock.patch("storperf.db.test_results_db.push_results_to_db")
- @mock.patch("storperf.utilities.data_handler.GraphiteDB")
- def test_terminated_report(self, mock_graphite_db, mock_results_db):
- self._terminated = True
- mock_results_db.side_effect = self.push_results_to_db
- mock_graphite_db.side_effect = MockGraphiteDB
- self.metadata = {
- "steady_state": {
- "rr.queue-depth.8.block-size.16384": True,
- "rr.queue-depth.8.block-size.2048": False,
- "rr.queue-depth.8.block-size.8192": True,
- },
- }
-
- self.data_handler.data_event(self)
- self.assertEqual(True, self.pushed)
-
- @mock.patch.dict(os.environ, {'TEST_DB_URL': 'mock'})
- @mock.patch("time.time")
- @mock.patch("storperf.db.test_results_db.push_results_to_db")
- @mock.patch("storperf.db.graphite_db.GraphiteDB.fetch_series")
- @mock.patch("storperf.db.graphite_db.JobDB.fetch_workloads")
- def test_non_terminated_report(self, mock_job_db, mock_graphite_db,
- mock_results_db, mock_time):
- self._terminated = False
- mock_results_db.side_effect = self.push_results_to_db
- series = \
- [[1480455910, 205.345],
- [1480455920, 201.59],
- [1480455930, 205.76],
- [1480455970, 215.655],
- [1480455980, 214.16],
- [1480455990, 213.57],
- [1480456030, 219.37],
- [1480456040, 219.28],
- [1480456050, 217.75]]
- mock_graphite_db.return_value = series
- mock_time.return_value = series[-1][0] + 10
- expected_slope = 12.292030334472656
- expected_range = 17.78
- expected_average = 212.49777777777774
-
- self.current_workload = ("%s.%s.queue-depth.%s.block-size.%s" %
- ("job_id",
- "rw",
- 8,
- 8192))
-
- mock_job_db.return_value = [[self.current_workload, 4804559000, None]]
-
- self.data_handler.data_event(self)
- self.assertEqual(False, self.pushed)
- self.assertEqual(False, self._terminated)
-
- self.assertEqual(expected_slope, self.metadata['report_data']
- ['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
- ['read']
- ['slope'])
- self.assertEqual(expected_range, self.metadata['report_data']
- ['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
- ['read']
- ['range'])
- self.assertEqual(expected_average, self.metadata['report_data']
- ['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
- ['read']
- ['average'])
-
- @mock.patch.dict(os.environ, {'TEST_DB_URL': 'mock'})
- @mock.patch("time.time")
- @mock.patch("storperf.db.test_results_db.push_results_to_db")
- @mock.patch("storperf.db.graphite_db.GraphiteDB.fetch_series")
- @mock.patch("storperf.db.graphite_db.JobDB.fetch_workloads")
- def test_report_that_causes_termination(self,
- mock_job_db,
- mock_graphite_db,
- mock_results_db,
- mock_time):
- self._terminated = False
- mock_results_db.side_effect = self.push_results_to_db
- series = [[4804559100, 205.345],
- [4804559200, 201.59],
- [4804559300, 205.76],
- [4804559400, 205.76],
- [4804559500, 205.76],
- [4804559600, 205.76],
- [4804559700, 205.76],
- [4804560300, 219.37],
- [4804560400, 219.28],
- [4804560500, 217.75]]
- report_data = [[2, 205.345],
- [3, 201.59],
- [5, 205.76],
- [7, 205.76],
- [8, 205.76],
- [10, 205.76],
- [12, 205.76],
- [22, 219.37],
- [23, 219.28],
- [25, 217.75]]
- mock_graphite_db.return_value = series
- mock_time.return_value = 4804560500 + 10
-
- expected_slope = 0.7419522662249607
- expected_range = 17.78
- expected_average = 209.2135
-
- self.current_workload = ("%s.%s.queue-depth.%s.block-size.%s" %
- ("job_id",
- "rw",
- 8,
- 8192))
-
- mock_job_db.return_value = [[self.current_workload, 4804559000, None]]
-
- self.data_handler.data_event(self)
-
- self.assertEqual(expected_slope, self.metadata['report_data']
- ['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
- ['read']
- ['slope'])
- self.assertEqual(expected_range, self.metadata['report_data']
- ['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
- ['read']
- ['range'])
- self.assertEqual(expected_average, self.metadata['report_data']
- ['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
- ['read']
- ['average'])
- self.assertEqual(report_data, self.metadata['report_data']
- ['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
- ['read']
- ['series'])
- self.assertEqual(True, self._terminated)
-
- self.assertEqual(False, self.pushed)
-
- @mock.patch.dict(os.environ, {'TEST_DB_URL': 'mock'})
- @mock.patch("storperf.db.test_results_db.push_results_to_db")
- def test_playload_report(self,
- mock_results_db):
- mock_results_db.side_effect = self.push_results_to_db
- self.start_time = 1504559100
- self.end_time = 1504560000
- self.metadata = {
- "scenario_name": "ceph_ws,wr,rs,rr,rw",
- "status": "OK",
- "steady_state": {
- "rr.queue-depth.8.block-size.16384": True,
- "rr.queue-depth.8.block-size.2048": False,
- "rr.queue-depth.8.block-size.8192": True,
- },
- "storage_node_count": 5,
- "volume_size": 10
- }
- self.data_handler._push_to_db(self)
- self.assertEqual('FAIL', self.db_results[9],
- 'Expected FAIL in criteria')
- self.assertEqual('2017-09-04 21:05:00', self.db_results[3],
- 'Start time')
- self.assertEqual('2017-09-04 21:20:00', self.db_results[4],
- 'End time')
diff --git a/tests/utilities_tests/data_treatment_test.py b/tests/utilities_tests/data_treatment_test.py
deleted file mode 100644
index 4450f92..0000000
--- a/tests/utilities_tests/data_treatment_test.py
+++ /dev/null
@@ -1,81 +0,0 @@
-##############################################################################
-# Copyright (c) 2016 CENGN and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-import unittest
-from storperf.utilities import data_treatment as DataTreatment
-
-
-class DataTreatmentTest(unittest.TestCase):
-
- def setUp(self):
- unittest.TestCase.setUp(self)
-
- def test_empty_series(self):
- expected = {
- 'slope_data': [],
- 'range_data': [],
- 'average_data': []
- }
- data_series = []
- actual = DataTreatment.data_treatment(data_series)
- self.assertEqual(expected, actual)
-
- def test_integer_series(self):
- expected = {
- 'slope_data': [[1, 5], [66, 2], [12, 98], [74, 669], [33, 66]],
- 'range_data': [5, 2, 98, 669, 66],
- 'average_data': [5, 2, 98, 669, 66]
- }
- data_series = [[1, 5], [66, 2], [12, 98], [74, 669], [33, 66]]
- actual = DataTreatment.data_treatment(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_series(self):
- expected = {
- 'slope_data': [[5.6, 12.7], [96.66, 78.212],
- [639.568, 5.3], [4.65, 6.667]],
- 'range_data': [12.7, 78.212, 5.3, 6.667],
- 'average_data': [12.7, 78.212, 5.3, 6.667]
- }
- data_series = [
- [5.6, 12.7], [96.66, 78.212], [639.568, 5.3], [4.65, 6.667]]
- actual = DataTreatment.data_treatment(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_int_mix(self):
- expected = {
- 'slope_data': [[5, 12.7], [96.66, 7], [639.568, 5.3], [4, 6]],
- 'range_data': [12.7, 7, 5.3, 6],
- 'average_data': [12.7, 7, 5.3, 6]
- }
- data_series = [[5, 12.7], [96.66, 7], [639.568, 5.3], [4, 6]]
- actual = DataTreatment.data_treatment(data_series)
- self.assertEqual(expected, actual)
-
- def test_negative_values(self):
- expected = {
- 'slope_data': [[-15, 5.56], [41.3, -278], [41.3, -98],
- [78.336, -0.12], [33.667, 66]],
- 'range_data': [5.56, -278, -98, -0.12, 66],
- 'average_data': [5.56, -278, -98, -0.12, 66]
- }
- data_series = [
- [-15, 5.56], [41.3, -278], [41.3, -98],
- [78.336, -0.12], [33.667, 66]]
- actual = DataTreatment.data_treatment(data_series)
- self.assertEqual(expected, actual)
-
- def test_single_value(self):
- expected = {
- 'slope_data': [[86.8, 65.36]],
- 'range_data': [65.36],
- 'average_data': [65.36]
- }
- data_series = [[86.8, 65.36]]
- actual = DataTreatment.data_treatment(data_series)
- self.assertEqual(expected, actual)
diff --git a/tests/utilities_tests/dictionary_test.py b/tests/utilities_tests/dictionary_test.py
deleted file mode 100644
index 0819cef..0000000
--- a/tests/utilities_tests/dictionary_test.py
+++ /dev/null
@@ -1,42 +0,0 @@
-##############################################################################
-# Copyright (c) 2016 EMC and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-import unittest
-from storperf.utilities import dictionary
-
-
-class DictionaryTest(unittest.TestCase):
-
- def setUp(self):
- self.dictionary = {}
- self.dictionary['key'] = 'value'
- pass
-
- def test_get_no_default(self):
- expected = None
- actual = dictionary.get_key_from_dict(self.dictionary, 'no-key')
- self.assertEqual(expected, actual)
-
- def test_get_with_default(self):
- expected = 'value 2'
- actual = dictionary.get_key_from_dict(
- self.dictionary, 'no-key', expected)
- self.assertEqual(expected, actual)
-
- def test_get_with_value(self):
- expected = 'value'
- actual = dictionary.get_key_from_dict(
- self.dictionary, 'key')
- self.assertEqual(expected, actual)
-
- def test_get_with_value_and_default(self):
- expected = 'value'
- actual = dictionary.get_key_from_dict(
- self.dictionary, 'key', 'value 2')
- self.assertEqual(expected, actual)
diff --git a/tests/utilities_tests/math_average_test.py b/tests/utilities_tests/math_average_test.py
deleted file mode 100644
index 3095f56..0000000
--- a/tests/utilities_tests/math_average_test.py
+++ /dev/null
@@ -1,52 +0,0 @@
-##############################################################################
-# Copyright (c) 2016 CENGN and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-import unittest
-from storperf.utilities import math as math
-
-
-class MathAverageTest(unittest.TestCase):
-
- def setUp(self):
- unittest.TestCase.setUp(self)
-
- def test_empty_series(self):
- expected = None
- data_series = []
- actual = math.average(data_series)
- self.assertEqual(expected, actual)
-
- def test_integer_series(self):
- expected = 19.75
- data_series = [5, 12, 7, 55]
- actual = math.average(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_series(self):
- expected = 63.475899999999996
- data_series = [78.6, 45.187, 33.334, 96.7826]
- actual = math.average(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_int_mix(self):
- expected = 472.104
- data_series = [10, 557.33, 862, 56.99, 874.2]
- actual = math.average(data_series)
- self.assertEqual(expected, actual)
-
- def test_negative_values(self):
- expected = -17.314
- data_series = [-15.654, 59.5, 16.25, -150, 3.334]
- actual = math.average(data_series)
- self.assertEqual(expected, actual)
-
- def test_single_value(self):
- expected = -66.6667
- data_series = [-66.6667]
- actual = math.average(data_series)
- self.assertEqual(expected, actual)
diff --git a/tests/utilities_tests/math_range_test.py b/tests/utilities_tests/math_range_test.py
deleted file mode 100644
index 90519e7..0000000
--- a/tests/utilities_tests/math_range_test.py
+++ /dev/null
@@ -1,120 +0,0 @@
-##############################################################################
-# Copyright (c) 2016 CENGN and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-from random import uniform, randrange
-import unittest
-
-from storperf.utilities import math as Range
-
-
-class MathRangeTest(unittest.TestCase):
-
- def setUp(self):
- unittest.TestCase.setUp(self)
-
- def test_empty_series(self):
- expected = None
- data_series = []
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_integer_series(self):
- expected = 11946
- data_series = [5, 351, 847, 2, 1985, 18,
- 96, 389, 687, 1, 11947, 758, 155]
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_series_1_decimal(self):
- expected = 778595.5
- data_series = [736.4, 9856.4, 684.2, 0.3, 0.9, 778595.8]
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_series_2_decimals(self):
- expected = 5693.47
- data_series = [51.36, 78.40, 1158.24, 5.50, 0.98, 5694.45]
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_series_3_decimals(self):
- expected = 992.181
- data_series = [4.562, 12.582, 689.452,
- 135.162, 996.743, 65.549, 36.785]
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_series_4_decimals(self):
- expected = 122985.3241
- data_series = [39.4785, 896.7845, 11956.3654,
- 44.2398, 6589.7134, 0.3671, 122985.6912]
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_series_5_decimals(self):
- expected = 8956208.84494
- data_series = [12.78496, 55.91275, 668.94378,
- 550396.5671, 512374.9999, 8956221.6299]
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_series_10_decimals(self):
- expected = 5984.507397972699
- data_series = [1.1253914785, 5985.6327894512,
- 256.1875693287, 995.8497623415]
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_mix(self):
- expected = 60781.6245372199
- data_series = [60785.9962, 899.4, 78.66, 69.58, 4.93795,
- 587.195486, 96.7694536, 5.13755964,
- 33.333333334, 60786.5624872199]
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_integer_mix(self):
- expected = 460781.05825
- data_series = [460785.9962, 845.634, 24.1, 69.58, 89, 4.93795]
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_negative_values(self):
- expected = 596.78163
- data_series = [-4.655, -33.3334, -596.78422, -0.00259, -66.785]
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_negative_positive_mix(self):
- expected = 58.859500000000004
- data_series = [6.85698, -2.8945, 0, -0.15, 55.965]
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_single_element(self):
- expected = 0
- data_series = [2.265]
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_10000_values_processing(self):
- expected = 28001.068
- data_series = [uniform(-10000, 10000) for _ in range(10000)]
- data_series.insert(randrange(len(data_series)), 15000.569)
- data_series.insert(randrange(len(data_series)), -13000.499)
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
-
- def test_processing_100_values_100_times(self):
- expected = 35911.3134
- for _ in range(1, 100):
- data_series = [uniform(-10000, 10000) for _ in range(100)]
- data_series.insert(randrange(len(data_series)), 16956.3334)
- data_series.insert(randrange(len(data_series)), -18954.98)
- actual = Range.range_value(data_series)
- self.assertEqual(expected, actual)
diff --git a/tests/utilities_tests/math_slope_test.py b/tests/utilities_tests/math_slope_test.py
deleted file mode 100644
index 24d5cd7..0000000
--- a/tests/utilities_tests/math_slope_test.py
+++ /dev/null
@@ -1,72 +0,0 @@
-##############################################################################
-# Copyright (c) 2016 CENGN and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-import unittest
-from storperf.utilities import math as Slope
-
-
-class MathSlopeTest(unittest.TestCase):
-
- def setUp(self):
- unittest.TestCase.setUp(self)
- pass
-
- def test_slope_empty_series(self):
- expected = None
- actual = Slope.slope([])
- self.assertEqual(expected, actual)
-
- def test_slope_integer_series(self):
- expected = 1.4
- actual = Slope.slope([[1, 6], [2, 5], [3, 7], [4, 10]])
- self.assertEqual(expected, actual)
-
- def test_slope_decimal_series(self):
- expected = 1.4
- actual = Slope.slope([[1.0, 6.0], [2.0, 5.0], [3.0, 7.0], [4.0, 10.0]])
- self.assertEqual(expected, actual)
-
- def test_slope_decimal_integer_mix(self):
- expected = 1.4
- actual = Slope.slope([[1.0, 6], [2, 5.0], [3, 7], [4.0, 10]])
- self.assertEqual(expected, actual)
-
- def test_slope_negative_y_series(self):
- expected = 2
- actual = Slope.slope([[1.0, -2], [2, 2], [3, 2]])
- self.assertEqual(expected, actual)
-
- def test_slope_negative_x_series(self):
- expected = 1.4
- actual = Slope.slope([[-24, 6.0], [-23, 5], [-22, 7.0], [-21, 10]])
- self.assertEqual(expected, actual)
-
- def test_slope_out_of_order_series(self):
- expected = 1.4
- actual = Slope.slope([[2, 5.0], [4, 10], [3.0, 7], [1, 6]])
- self.assertEqual(expected, actual)
-
- def test_slope_0_in_y(self):
- expected = -0.5
- actual = Slope.slope([[15.5, 1], [16.5, 0], [17.5, 0]])
- self.assertEqual(expected, actual)
-
- def test_slope_0_in_x(self):
- expected = 1.4
- actual = Slope.slope([[0, 6.0], [1, 5], [2, 7], [3, 10]])
- self.assertEqual(expected, actual)
-
- def test_slope_0_in_x_and_y(self):
- expected = 1.5
- actual = Slope.slope([[0.0, 0], [1, 1], [2, 3]])
- self.assertEqual(expected, actual)
-
- def test_infinte_slope(self):
- expected = None
- actual = Slope.slope([[1480623510, 1295.87], [1480623520, 1380.79]])
- self.assertEqual(expected, actual)
diff --git a/tests/utilities_tests/steady_state_test.py b/tests/utilities_tests/steady_state_test.py
deleted file mode 100644
index 564c090..0000000
--- a/tests/utilities_tests/steady_state_test.py
+++ /dev/null
@@ -1,65 +0,0 @@
-##############################################################################
-# Copyright (c) 2016 CENGN and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-import unittest
-from storperf.utilities import steady_state as SteadyState
-
-
-class SteadyStateTest(unittest.TestCase):
-
- def setUp(self):
- unittest.TestCase.setUp(self)
-
- def test_integer_values(self):
- expected = True
- data_series = [[305, 20], [306, 21], [307, 21], [308, 19]]
- actual = SteadyState.steady_state(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_values(self):
- expected = True
- data_series = [
- [55.5, 40.5], [150.2, 42.3], [150.8, 41.8], [151.2, 41.5]]
- actual = SteadyState.steady_state(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_integer_mix_false(self):
- expected = False
- data_series = [[1, 2], [2, 2.2], [3, 1.8], [4, 1.8]]
- actual = SteadyState.steady_state(data_series)
- self.assertEqual(expected, actual)
-
- def test_float_integer_mix_true(self):
- expected = True
- data_series = [[12, 18], [12.5, 18.2], [13, 16.8], [15, 16.8]]
- actual = SteadyState.steady_state(data_series)
- self.assertEqual(expected, actual)
-
- def test_empty_series(self):
- expected = False
- data_series = []
- actual = SteadyState.steady_state(data_series)
- self.assertEqual(expected, actual)
-
- def test_negative_values(self):
- expected = True
- data_series = [[-1, -24.2], [0.5, -23.8], [1.1, -24.0], [3.2, -24.0]]
- actual = SteadyState.steady_state(data_series)
- self.assertEqual(expected, actual)
-
- def test_out_of_order_series(self):
- expected = True
- data_series = [[-15, 0.43], [-16, 0.41], [-3, 0.45], [4, 0.42]]
- actual = SteadyState.steady_state(data_series)
- self.assertEqual(expected, actual)
-
- def test_negative_slope(self):
- expected = False
- data_series = [[1.3, 1], [1.2, 1], [1.1, 1.1], [1.0, 1.1]]
- actual = SteadyState.steady_state(data_series)
- self.assertEqual(expected, actual)
diff --git a/tests/utilities_tests/thread_gate_test.py b/tests/utilities_tests/thread_gate_test.py
deleted file mode 100644
index de8b15a..0000000
--- a/tests/utilities_tests/thread_gate_test.py
+++ /dev/null
@@ -1,57 +0,0 @@
-##############################################################################
-# Copyright (c) 2016 EMC and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-import time
-import unittest
-
-from storperf.utilities.thread_gate import FailureToReportException
-from storperf.utilities.thread_gate import ThreadGate
-
-
-class ThreadGateTest(unittest.TestCase):
-
- def setUp(self):
- pass
-
- def test_one_one_report(self):
- gate = ThreadGate(1)
- self.assertEqual(True, gate.report(1))
-
- def test_two_one_report(self):
- gate = ThreadGate(2)
- self.assertEqual(False, gate.report(1))
-
- def test_two_two_reports(self):
- gate = ThreadGate(2)
- self.assertEqual(False, gate.report(1))
- self.assertEqual(True, gate.report(2))
-
- def test_two_one_duplicate_reports(self):
- gate = ThreadGate(2)
- self.assertEqual(False, gate.report(1))
- self.assertEqual(False, gate.report(1))
- self.assertEqual(True, gate.report(2))
-
- def test_two_old_old_report(self):
- timeout = 5
- gate = ThreadGate(2, timeout)
- report_time = time.time() - (timeout * 2)
- gate._registrants[2] = report_time
- self.assertEqual(False, gate.report(1))
-
- def test_two_never_report(self):
- timeout = 5
- gate = ThreadGate(2, timeout)
- report_time = time.time() - (timeout * 3)
- gate._creation_time = report_time
- try:
- gate.report(1)
- self.fail()
- except FailureToReportException:
- pass