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

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

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

Powered by Google App Engine
This is Rietveld 408576698