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

Side by Side Diff: tools/perf/benchmarks/ct_benchmarks_unittest.py

Issue 1393023002: Move CT pages / page sets / benchmarks into Telemetry repo (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rename benchmarks Created 5 years, 2 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 2015 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 """Test Cluster Telemetry benchmarks and page sets."""
6
7 from optparse import OptionParser
8 import unittest
9
10 from telemetry.page import shared_page_state
11
12 from benchmarks import rasterize_and_record_micro
13 from benchmarks import repaint
14 from benchmarks import skpicture_printer
15
16
17 class MockErrorParser(object):
18 def error(self, err_msg):
19 self.err_msg = err_msg
20
21
22 class CTBenchmarks(unittest.TestCase):
23
24 def setUp(self):
25 self.ct_benchmarks = [
26 rasterize_and_record_micro.RasterizeAndRecordMicroCT(),
27 repaint.RepaintCT(),
28 skpicture_printer.SkpicturePrinterCT(),
29 ]
30 self.shared_page_state_class = shared_page_state.SharedMobilePageState
31 self.archive_data_file = '/b/test'
32 self.urls_list = 'http://test1.com,http://test2.com,http://test3.net'
33 self.mock_parser = MockErrorParser()
34
35 def testCTBenchmarks(self):
36 for benchmark in self.ct_benchmarks:
37 parser = OptionParser()
38 parser.user_agent = 'mobile'
39 parser.archive_data_file = self.archive_data_file
40 parser.urls_list = self.urls_list
41
42 benchmark.AddBenchmarkCommandLineArgs(parser)
43 benchmark.ProcessCommandLineArgs(None, parser)
44 ct_page_set = benchmark.CreateStorySet(parser)
45
46 self.assertEquals(
47 len(self.urls_list.split(',')), len(ct_page_set.stories))
48 self.assertEquals(
49 self.archive_data_file, ct_page_set.archive_data_file)
50 for i in range(len(self.urls_list.split(','))):
51 url = self.urls_list.split(',')[i]
52 story = ct_page_set.stories[i]
53 self.assertEquals(url, story.url)
54 self.assertEquals(
55 self.shared_page_state_class, story.shared_state_class)
56 self.assertEquals(self.archive_data_file, story.archive_data_file)
57
58 def testCTBenchmarks_wrongAgent(self):
59 for benchmark in self.ct_benchmarks:
60 parser = OptionParser()
61 parser.user_agent = 'mobileeeeee'
62 parser.archive_data_file = self.archive_data_file
63 parser.urls_list = self.urls_list
64
65 benchmark.AddBenchmarkCommandLineArgs(parser)
66 benchmark.ProcessCommandLineArgs(None, parser)
67 try:
68 benchmark.CreateStorySet(parser)
69 self.fail('Expected ValueError')
70 except ValueError, e:
71 self.assertEquals('user_agent mobileeeeee is unrecognized', e.message)
72
73 def testCTBenchmarks_missingDataFile(self):
74 for benchmark in self.ct_benchmarks:
75 parser = OptionParser()
76 parser.user_agent = 'mobile'
77 parser.urls_list = self.urls_list
78 benchmark.AddBenchmarkCommandLineArgs(parser)
79
80 # Should fail due to missing archive_data_file.
81 try:
82 benchmark.ProcessCommandLineArgs(None, parser)
83 self.fail('Expected AttributeError')
84 except AttributeError, e:
85 self.assertEquals(
86 'OptionParser instance has no attribute \'archive_data_file\'',
87 e.message)
88
89 # Now add an empty archive_data_file.
90 parser.archive_data_file = ''
91 benchmark.ProcessCommandLineArgs(self.mock_parser, parser)
92 self.assertEquals(
93 'Please specify --archive_data_file.', self.mock_parser.err_msg)
94
95 def testCTBenchmarks_missingUrlsList(self):
96 for benchmark in self.ct_benchmarks:
97 parser = OptionParser()
98 parser.user_agent = 'mobile'
99 parser.archive_data_file = self.archive_data_file
100 benchmark.AddBenchmarkCommandLineArgs(parser)
101
102 # Should fail due to missing urls_list.
103 try:
104 benchmark.ProcessCommandLineArgs(None, parser)
105 self.fail('Expected AttributeError')
106 except AttributeError, e:
107 self.assertEquals(
108 'OptionParser instance has no attribute \'urls_list\'',
109 e.message)
110
111 # Now add an empty urls_list.
112 parser.urls_list = ''
113 benchmark.ProcessCommandLineArgs(self.mock_parser, parser)
114 self.assertEquals('Please specify --urls_list.', self.mock_parser.err_msg)
115
116
117 if __name__ == '__main__':
nednguyen 2015/10/15 12:51:19 nits: remove this
rmistry 2015/10/15 13:24:32 Done.
118 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698