blob: 7bb8ed68cfe2eb5f8cb360be00ed1ee154be0e42 [file] [log] [blame]
#!/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()