You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
4.6 KiB
109 lines
4.6 KiB
#!/usr/bin/env python2 |
|
|
|
# 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. |
|
""" |
|
|
|
from __future__ import print_function |
|
|
|
import unittest |
|
|
|
from benchmark_run import BenchmarkRun |
|
from results_cache import Result |
|
from results_organizer import OrganizeResults |
|
|
|
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): |
|
"""Test result organizer.""" |
|
|
|
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 |
|
|
|
organized = OrganizeResults(benchmark_runs, labels, benchmarks) |
|
self.assertEqual(organized, result) |
|
|
|
|
|
if __name__ == '__main__': |
|
unittest.main()
|
|
|