| #!/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, "", "", "", "") |
| benchmark_runs[1] = BenchmarkRun("b2", benchmarks[0], |
| labels[0], 2, "", "", "", "") |
| benchmark_runs[2] = BenchmarkRun("b3", benchmarks[0], |
| labels[1], 1, "", "", "", "") |
| benchmark_runs[3] = BenchmarkRun("b4", benchmarks[0], |
| labels[1], 2, "", "", "", "") |
| benchmark_runs[4] = BenchmarkRun("b5", benchmarks[1], |
| labels[0], 1, "", "", "", "") |
| benchmark_runs[5] = BenchmarkRun("b6", benchmarks[1], |
| labels[0], 2, "", "", "", "") |
| benchmark_runs[6] = BenchmarkRun("b7", benchmarks[1], |
| labels[1], 1, "", "", "", "") |
| benchmark_runs[7] = BenchmarkRun("b8", benchmarks[1], |
| labels[1], 2, "", "", "", "") |
| |
| i = 0 |
| for b in benchmark_runs: |
| b.result = Result("", b.label) |
| 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() |