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

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

Powered by Google App Engine
This is Rietveld 408576698