Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(241)

Side by Side Diff: build/android/pylib/perf/surface_stats_collector_unittest.py

Issue 2101243005: Add a snapshot of flutter/engine/src/build to our sdk (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: add README.dart Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 """Unittests for SurfaceStatsCollector."""
6 # pylint: disable=W0212
7
8 import unittest
9
10 from pylib.perf.surface_stats_collector import SurfaceStatsCollector
11
12
13 class TestSurfaceStatsCollector(unittest.TestCase):
14 @staticmethod
15 def _CreateUniformTimestamps(base, num, delta):
16 return [base + i * delta for i in range(1, num + 1)]
17
18 @staticmethod
19 def _CreateDictionaryFromResults(results):
20 dictionary = {}
21 for result in results:
22 dictionary[result.name] = result
23 return dictionary
24
25 def setUp(self):
26 self.refresh_period = 0.1
27
28 def testOneFrameDelta(self):
29 timestamps = self._CreateUniformTimestamps(0, 10, self.refresh_period)
30 results = self._CreateDictionaryFromResults(
31 SurfaceStatsCollector._CalculateResults(
32 self.refresh_period, timestamps, ''))
33
34 self.assertEquals(results['avg_surface_fps'].value,
35 int(round(1 / self.refresh_period)))
36 self.assertEquals(results['jank_count'].value, 0)
37 self.assertEquals(results['max_frame_delay'].value, 1)
38 self.assertEquals(len(results['frame_lengths'].value), len(timestamps) - 1)
39
40 def testAllFramesTooShort(self):
41 timestamps = self._CreateUniformTimestamps(0, 10, self.refresh_period / 100)
42 self.assertRaises(Exception,
43 SurfaceStatsCollector._CalculateResults,
44 [self.refresh_period, timestamps, ''])
45
46 def testSomeFramesTooShort(self):
47 timestamps = self._CreateUniformTimestamps(0, 5, self.refresh_period)
48 # The following timestamps should be skipped.
49 timestamps += self._CreateUniformTimestamps(timestamps[4],
50 5,
51 self.refresh_period / 100)
52 timestamps += self._CreateUniformTimestamps(timestamps[4],
53 5,
54 self.refresh_period)
55
56 results = self._CreateDictionaryFromResults(
57 SurfaceStatsCollector._CalculateResults(
58 self.refresh_period, timestamps, ''))
59
60 self.assertEquals(len(results['frame_lengths'].value), 9)
61
62
63 if __name__ == '__main__':
64 unittest.main()
OLDNEW
« no previous file with comments | « build/android/pylib/perf/surface_stats_collector.py ('k') | build/android/pylib/perf/test_options.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698