| #!/usr/bin/python |
| |
| # Copyright (c) 2013 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| """Testing of ResultsOrganizer. We create some labels, benchmark_runs |
| and then create a ResultsOrganizer, after that, we compare the result of |
| ResultOrganizer""" |
| |
| import unittest |
| |
| from benchmark_run import BenchmarkRun |
| from results_cache import Result |
| from results_organizer import ResultOrganizer |
| |
| import mock_instance |
| |
| result = {'benchmark1': [[{'': 'PASS', |
| 'bool': 'True', |
| 'milliseconds_1': '1', |
| 'milliseconds_2': '8', |
| 'milliseconds_3': '9.2', |
| 'ms_1': '2.1', |
| 'total': '5'}, {'test': '2'}, {'test': '4'}, |
| {'': 'PASS', |
| 'bool': 'FALSE', |
| 'milliseconds_1': '3', |
| 'milliseconds_2': '5', |
| 'ms_1': '2.2', |
| 'total': '6'}, {'test': '3'}, {'test': '4'}], |
| [{'': 'PASS', |
| 'bool': 'FALSE', |
| 'milliseconds_4': '30', |
| 'milliseconds_5': '50', |
| 'ms_1': '2.23', |
| 'total': '6'}, {'test': '5'}, {'test': '4'}, |
| {'': 'PASS', |
| 'bool': 'FALSE', |
| 'milliseconds_1': '3', |
| 'milliseconds_6': '7', |
| 'ms_1': '2.3', |
| 'total': '7'}, {'test': '2'}, {'test': '6'}]], |
| 'benchmark2': [[{'': 'PASS', |
| 'bool': 'TRUE', |
| 'milliseconds_1': '3', |
| 'milliseconds_8': '6', |
| 'ms_1': '2.3', |
| 'total': '7'}, {'test': '2'}, {'test': '6'}, |
| {'': 'PASS', |
| 'bool': 'TRUE', |
| 'milliseconds_1': '3', |
| 'milliseconds_8': '6', |
| 'ms_1': '2.2', |
| 'total': '7'}, {'test': '2'}, {'test': '2'}], |
| [{'': 'PASS', |
| 'bool': 'TRUE', |
| 'milliseconds_1': '3', |
| 'milliseconds_8': '6', |
| 'ms_1': '2', |
| 'total': '7'}, {'test': '2'}, {'test': '4'}, |
| {'': 'PASS', |
| 'bool': 'TRUE', |
| 'milliseconds_1': '3', |
| 'milliseconds_8': '6', |
| 'ms_1': '1', |
| 'total': '7'}, {'test': '1'}, {'test': '6'}]]} |
| |
| |
| class ResultOrganizerTest(unittest.TestCase): |
| |
| def testResultOrganizer(self): |
| labels = [mock_instance.label1, mock_instance.label2] |
| benchmarks = [mock_instance.benchmark1, mock_instance.benchmark2] |
| benchmark_runs = [None] * 8 |
| benchmark_runs[0] = BenchmarkRun('b1', benchmarks[0], labels[0], 1, '', '', |
| '', 'average', '') |
| benchmark_runs[1] = BenchmarkRun('b2', benchmarks[0], labels[0], 2, '', '', |
| '', 'average', '') |
| benchmark_runs[2] = BenchmarkRun('b3', benchmarks[0], labels[1], 1, '', '', |
| '', 'average', '') |
| benchmark_runs[3] = BenchmarkRun('b4', benchmarks[0], labels[1], 2, '', '', |
| '', 'average', '') |
| benchmark_runs[4] = BenchmarkRun('b5', benchmarks[1], labels[0], 1, '', '', |
| '', 'average', '') |
| benchmark_runs[5] = BenchmarkRun('b6', benchmarks[1], labels[0], 2, '', '', |
| '', 'average', '') |
| benchmark_runs[6] = BenchmarkRun('b7', benchmarks[1], labels[1], 1, '', '', |
| '', 'average', '') |
| benchmark_runs[7] = BenchmarkRun('b8', benchmarks[1], labels[1], 2, '', '', |
| '', 'average', '') |
| |
| i = 0 |
| for b in benchmark_runs: |
| b.result = Result('', b.label, 'average', 'machine') |
| b.result.keyvals = mock_instance.keyval[i] |
| i += 1 |
| |
| ro = ResultOrganizer(benchmark_runs, labels, benchmarks) |
| self.assertEqual(ro.result, result) |
| |
| |
| if __name__ == '__main__': |
| unittest.main() |