| Index: tools/bisect-perf-regression_test.py
|
| diff --git a/tools/bisect-perf-regression_test.py b/tools/bisect-perf-regression_test.py
|
| index 7a50316c4520a2bb6ec8486ebd1018a5a6815a33..16047acc1caaa9fb88d85ddeca8286895e0002c3 100644
|
| --- a/tools/bisect-perf-regression_test.py
|
| +++ b/tools/bisect-perf-regression_test.py
|
| @@ -9,6 +9,15 @@ import unittest
|
| bisect_perf_module = __import__('bisect-perf-regression')
|
|
|
|
|
| +RESULTS_OUTPUT = """RESULT write_operations: write_operations= 23089 count
|
| +RESULT read_bytes_gpu: read_bytes_gpu= 35201 kb
|
| +RESULT write_bytes_gpu: write_bytes_gpu= 542 kb
|
| +RESULT telemetry_page_measurement_results: num_failed= 0 count
|
| +RESULT telemetry_page_measurement_results: num_errored= 0 count
|
| +*RESULT Total: Total_ref= %(value)s
|
| +"""
|
| +
|
| +
|
| class BisectPerfRegressionTest(unittest.TestCase):
|
| """Test case for top-level functions in the bisect-perf-regrssion module."""
|
|
|
| @@ -128,6 +137,108 @@ vars = {
|
| self.assertEqual(3.0, bisect_perf_module.CalculateRelativeChange(1, -2))
|
| self.assertEqual(1.0, bisect_perf_module.CalculateRelativeChange(-1, -2))
|
|
|
| + def testTryParseResultValuesFromOutputWithSingleValue(self):
|
| + """Tests result pattern <*>RESULT <graph>: <trace>= <value>"""
|
| + bisect_options = bisect_perf_module.BisectOptions()
|
| + bisect_instance = bisect_perf_module.BisectPerformanceMetrics(
|
| + None, bisect_options)
|
| + metrics = ['Total', 'Total_ref']
|
| + self.assertEqual(
|
| + [66.88], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '66.88 kb'}))
|
| + self.assertEqual(
|
| + [66.88], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '66.88kb'}))
|
| + self.assertEqual(
|
| + [66.88], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': ' 66.88 '}))
|
| + self.assertEqual(
|
| + [-66.88], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': ' -66.88 kb'}))
|
| + self.assertEqual(
|
| + [66], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '66 kb'}))
|
| + self.assertEqual(
|
| + [.66], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '.66 kb'}))
|
| + self.assertEqual(
|
| + [], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '. kb'}))
|
| + self.assertEqual(
|
| + [], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': 'aaa kb'}))
|
| +
|
| + def testTryParseResultValuesFromOutputWithMulitValue(self):
|
| + """Tests result pattern <*>RESULT <graph>: <trace>= [<value>,<value>, ..]"""
|
| + bisect_options = bisect_perf_module.BisectOptions()
|
| + bisect_instance = bisect_perf_module.BisectPerformanceMetrics(
|
| + None, bisect_options)
|
| + metrics = ['Total', 'Total_ref']
|
| + self.assertEqual(
|
| + [66.88], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '[66.88] kb'}))
|
| + self.assertEqual(
|
| + [66.88, 99.44], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '[66.88, 99.44]kb'}))
|
| + self.assertEqual(
|
| + [66.88, 99.44], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '[ 66.88, 99.44 ]'}))
|
| + self.assertEqual(
|
| + [-66.88, 99.44], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '[-66.88,99.44] kb'}))
|
| + self.assertEqual(
|
| + [-66, 99], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '[-66,99] kb'}))
|
| + self.assertEqual(
|
| + [-66, 99], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '[-66,99,] kb'}))
|
| + self.assertEqual(
|
| + [.66, .99], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '[.66,.99] kb'}))
|
| + self.assertEqual(
|
| + [], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '[] kb'}))
|
| + self.assertEqual(
|
| + [], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '[-66,abc] kb'}))
|
| +
|
| + def testTryParseResultValuesFromOutputWithMeanStd(self):
|
| + """Tests result pattern <*>RESULT <graph>: <trace>= {<mean, std}"""
|
| + bisect_options = bisect_perf_module.BisectOptions()
|
| + bisect_instance = bisect_perf_module.BisectPerformanceMetrics(
|
| + None, bisect_options)
|
| + metrics = ['Total', 'Total_ref']
|
| + self.assertEqual(
|
| + [33.22], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '{33.22, 3.6} kb'}))
|
| + self.assertEqual(
|
| + [33.22], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '{33.22,3.6}kb'}))
|
| + self.assertEqual(
|
| + [33.22], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '{33.22,3.6} kb'}))
|
| + self.assertEqual(
|
| + [33.22], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '{ 33.22,3.6 }kb'}))
|
| + self.assertEqual(
|
| + [-33.22], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '{-33.22,3.6}kb'}))
|
| + self.assertEqual(
|
| + [22], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '{22,6}kb'}))
|
| + self.assertEqual(
|
| + [.22], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '{.22,6}kb'}))
|
| + self.assertEqual(
|
| + [], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '{.22,6, 44}kb'}))
|
| + self.assertEqual(
|
| + [], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '{}kb'}))
|
| + self.assertEqual(
|
| + [], bisect_instance.TryParseResultValuesFromOutput(
|
| + metrics, RESULTS_OUTPUT % {'value': '{XYZ}kb'}))
|
| +
|
|
|
| if __name__ == '__main__':
|
| unittest.main()
|
|
|