| #!/usr/bin/env python2.7 |
| # Copyright 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import unittest |
| |
| from perfbot_stats import chrome_perf_stats |
| |
| |
| class TestChromePerfStats(unittest.TestCase): |
| |
| def testUpdateSuccessRatesWithResult(self): |
| success_rates = {} |
| chrome_perf_stats._UpdateSuccessRatesWithResult( |
| success_rates, |
| {'count': 0}, |
| 'invalid_date_str', |
| 'invalid_builder') |
| self.assertDictEqual({}, success_rates) |
| chrome_perf_stats._UpdateSuccessRatesWithResult( |
| success_rates, |
| {'count': 5, 'failure_count': 3}, |
| '20151010', |
| 'android_nexus_10') |
| self.assertDictEqual( |
| {'20151010': {'android_nexus_10': {'count': 5, 'success_count': 2}}}, |
| success_rates) |
| chrome_perf_stats._UpdateSuccessRatesWithResult( |
| success_rates, |
| {'count': 5, 'failure_count': 4}, |
| '20151010', |
| 'android_nexus_4') |
| self.assertDictEqual( |
| { |
| '20151010': { |
| 'android_nexus_10': {'count': 5, 'success_count': 2}, |
| 'android_nexus_4': {'count': 5, 'success_count': 1}, |
| } |
| }, |
| success_rates) |
| chrome_perf_stats._UpdateSuccessRatesWithResult( |
| success_rates, |
| {'count': 5, 'failure_count': 0}, |
| '20151009', |
| 'win_xp') |
| self.assertDictEqual( |
| { |
| '20151010': { |
| 'android_nexus_10': {'count': 5, 'success_count': 2}, |
| 'android_nexus_4': {'count': 5, 'success_count': 1}, |
| }, |
| '20151009': { |
| 'win_xp': {'count': 5, 'success_count': 5}, |
| }, |
| }, |
| success_rates) |
| |
| def testSummarizeSuccessRates(self): |
| rates = chrome_perf_stats._SummarizeSuccessRates( |
| { |
| '20151010': { |
| 'android_nexus_10': {'count': 5, 'success_count': 2}, |
| 'android_nexus_4': {'count': 5, 'success_count': 3}, |
| }, |
| '20151009': { |
| 'win_xp': {'count': 5, 'success_count': 5}, |
| }, |
| }) |
| self.assertListEqual([['20151010', 0.5], ['20151009', 1.0]], rates) |
| |
| |
| if __name__ == '__main__': |
| unittest.main() |