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

Side by Side Diff: chrome/test/functional/media/ui_perf_test_utils_unittest.py

Issue 9666032: Cleanup deprecated PyAuto media tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update year. Created 8 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « chrome/test/functional/media/ui_perf_test_utils.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Copyright (c) 2011 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 import time
6 import unittest
7
8 from ui_perf_test_utils import UIPerfTestUtils
9
10
11 class TestUIPerfUtils(unittest.TestCase):
12 """Test UIPerfUtils class."""
13
14 def testConvertDataListToString(self):
15 times = [1.023344324, 2.3233333, 2.442324444]
16 output_string = UIPerfTestUtils.ConvertDataListToString(times)
17 self.assertEqual(output_string, '[1.02334, 2.32333, 2.44232]',
18 msg='result output is wrong')
19
20 def testGetResultStringForPerfBot(self):
21 """Test PrintResultList method."""
22 times = [1.023, 2.323, 2.44232]
23 output_string = UIPerfTestUtils.GetResultStringForPerfBot(
24 'playback', '', 'bear', times, 'ms')
25 self.assertEqual(output_string,
26 'RESULT playback: bear= [1.02300, 2.32300, 2.44232] ms',
27 msg='result output is wrong')
28
29 def testGetResultStringForPerfBotEmptyData(self):
30 """Test PrintResultList method with empty data."""
31 times = []
32 output_string = UIPerfTestUtils.GetResultStringForPerfBot(
33 'playback', '', 'bear', times, 'ms')
34 self.assertFalse(output_string, msg='Result output is not empty.')
35
36 def testFindProcessesAndGetResourceInfo(self):
37 """Test FindProcesses and GetResourceInfo methods.
38
39 Python process should be found when we run this script. Assert all
40 elements in processInfo are not None.
41 """
42 list = UIPerfTestUtils.FindProcesses('python')
43 self.assertTrue(len(list) > 0, 'python process cannot be found')
44 info = UIPerfTestUtils.GetResourceInfo(list[0], time.time())
45 self._AssertProcessInfo(info)
46
47 def GetChromeRendererProcessInfo(self):
48 """Test GetChromeRendererProcessInfo method.
49
50 You must start Chrome before you run your test. Otherwise, it fails.
51 So, this test is not included in the unit test (i.e., the method name
52 does not start with "test").
53
54 TODO(imasaki@chromium.org): find a way to start Chrome automatically.
55 """
56 start_time = time.time()
57 info = UIPerfTestUtils.GetChromeRendererProcessInfo(start_time)
58 self._AssertProcessInfo(info)
59
60 def _AssertProcessInfo(self, info):
61 """Assert process info has correct length and each element is not null."""
62 # See UIPerfTestUtils.chrome_process_info_names.
63 self.assertEqual(len(info), 7, msg='the length of info should be 7')
64 for i in range(len(info)):
65 self.assertTrue(info[i] is not None, msg='process info has None data')
66
67 def _CreateFakeProcessInfo(self, time, process_info_length):
68 """Create fake process info for testing.
69
70 Args:
71 time: time used for measured_time.
72
73 Returns:
74 a process info with some data for testing.
75 """
76 chrome_renderer_process_info = []
77 for i in range(process_info_length):
78 chrome_renderer_process_info.append(i + time)
79 return chrome_renderer_process_info
80
81 def _PrintMeasuredDataTestHelper(self, show_time_index,
82 expected_output_string,
83 display_filter=None):
84 """A helper function for tests testPrintMeasuredData*.
85
86 Create fake process and call PrintMeasuredData with appropriate arguments.
87
88 Args:
89 show_time_index: call PrintMeasuredData with this show_time_index.
90 expected_output_string: the expected result string to be compared.
91 display_filter: run test with this display_filter, which specifies which
92 measurements to display.
93 """
94 # Build process info for testing.
95 chrome_renderer_process_infos = []
96 run_info1 = []
97 run_info1.append(self._CreateFakeProcessInfo(10, 7))
98 run_info1.append(self._CreateFakeProcessInfo(20, 7))
99 chrome_renderer_process_infos.append(run_info1)
100 run_info2 = []
101 run_info2.append(self._CreateFakeProcessInfo(10, 7))
102 chrome_renderer_process_infos.append(run_info2)
103 chrome_process_info_names = ['measure-time', 'pct-cpu', 'cpu-user',
104 'cpu-system', 'memory-rss', 'memory-vms',
105 'pct-process-memory']
106 chrome_process_info_units = ['sec', 'percent', 'load',
107 'load', 'MB', 'MB', 'percent']
108 chrome_process_trace_list = ['t', 'p', 'l', 'l', 'm', 'm', 'p']
109
110 output_string = UIPerfTestUtils.PrintMeasuredData(
111 measured_data_list=chrome_renderer_process_infos,
112 measured_data_name_list=chrome_process_info_names,
113 measured_data_unit_list=chrome_process_info_units,
114 parameter_string='', trace_list=chrome_process_trace_list,
115 show_time_index=show_time_index, remove_first_result=False,
116 display_filter=display_filter)
117
118 self.assertEqual(output_string, expected_output_string,
119 msg=('output string is wrong'
120 '\nexpected:\n%s \nactual:\n%s') % (
121 expected_output_string, output_string))
122
123 def testPrintMeasuredDataShowTimeIndex(self):
124 expected_output_string = (
125 'RESULT measure-time-0: t= [10.00000, 10.00000] sec\n'
126 'RESULT measure-time-1: t= [20.00000] sec\n'
127 'RESULT pct-cpu-0: p= [11.00000, 11.00000] percent\n'
128 'RESULT pct-cpu-1: p= [21.00000] percent\n'
129 'RESULT cpu-user-0: l= [12.00000, 12.00000] load\n'
130 'RESULT cpu-user-1: l= [22.00000] load\n'
131 'RESULT cpu-system-0: l= [13.00000, 13.00000] load\n'
132 'RESULT cpu-system-1: l= [23.00000] load\n'
133 'RESULT memory-rss-0: m= [14.00000, 14.00000] MB\n'
134 'RESULT memory-rss-1: m= [24.00000] MB\n'
135 'RESULT memory-vms-0: m= [15.00000, 15.00000] MB\n'
136 'RESULT memory-vms-1: m= [25.00000] MB\n'
137 'RESULT pct-process-memory-0: p= [16.00000, 16.00000] percent\n'
138 'RESULT pct-process-memory-1: p= [26.00000] percent\n')
139 self._PrintMeasuredDataTestHelper(True, expected_output_string)
140
141 def testPrintMeasuredDataNoShowTimeIndex(self):
142 expected_output_string = (
143 'RESULT measure-time: t= [10.00000, 10.00000, 20.00000] sec\n'
144 'RESULT pct-cpu: p= [11.00000, 11.00000, 21.00000] percent\n'
145 'RESULT cpu-user: l= [12.00000, 12.00000, 22.00000] load\n'
146 'RESULT cpu-system: l= [13.00000, 13.00000, 23.00000] load\n'
147 'RESULT memory-rss: m= [14.00000, 14.00000, 24.00000] MB\n'
148 'RESULT memory-vms: m= [15.00000, 15.00000, 25.00000] MB\n'
149 'RESULT pct-process-memory: p= [16.00000, 16.00000, 26.00000]'
150 ' percent\n')
151 self._PrintMeasuredDataTestHelper(False, expected_output_string)
152
153 def testPrintMeasuredDataNoShowTimeIndexWithDisplayFilter(self):
154 expected_output_string = (
155 'RESULT pct-cpu: p= [11.00000, 11.00000, 21.00000] percent\n')
156 self._PrintMeasuredDataTestHelper(False, expected_output_string,
157 display_filter=['pct-cpu'])
OLDNEW
« no previous file with comments | « chrome/test/functional/media/ui_perf_test_utils.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698