146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)# Copyright 2013 The Chromium Authors. All rights reserved.
2ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch# Use of this source code is governed by a BSD-style license that can be
3ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch# found in the LICENSE file.
4ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
5ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochfrom measurements import page_cycler
6f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)import page_sets
7116680a4aac90f2aa7413d9095a592090648e557Ben Murdochfrom telemetry import benchmark
8ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
9ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerBloat(benchmark.Benchmark):
11ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  test = page_cycler.PageCycler
12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.BloatPageSet
1323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  options = {'pageset_repeat': 10}
14ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
15ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerDhtml(benchmark.Benchmark):
17ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  test = page_cycler.PageCycler
18f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.DhtmlPageSet
1923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  options = {'pageset_repeat': 10}
20ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
21ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
22116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerIntlArFaHe(benchmark.Benchmark):
23ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  test = page_cycler.PageCycler
24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.IntlArFaHePageSet
2523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  options = {'pageset_repeat': 10}
26ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
27ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled('win')  # crbug.com/388337
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerIntlEsFrPtBr(benchmark.Benchmark):
30ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  test = page_cycler.PageCycler
31f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.IntlEsFrPtBrPageSet
3223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  options = {'pageset_repeat': 10}
33ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
34ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
35116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerIntlHiRu(benchmark.Benchmark):
36ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  test = page_cycler.PageCycler
37f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.IntlHiRuPageSet
3823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  options = {'pageset_repeat': 10}
39ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
40ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled('android', 'win')  # crbug.com/379564, crbug.com/330909
42116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerIntlJaZh(benchmark.Benchmark):
43ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  test = page_cycler.PageCycler
44f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.IntlJaZhPageSet
4523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  options = {'pageset_repeat': 10}
46ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
47ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
48116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerIntlKoThVi(benchmark.Benchmark):
49ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  test = page_cycler.PageCycler
50f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.IntlKoThViPageSet
5123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  options = {'pageset_repeat': 10}
52ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
53ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
54116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerMorejs(benchmark.Benchmark):
55ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  test = page_cycler.PageCycler
56f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.MorejsPageSet
5723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  options = {'pageset_repeat': 10}
58ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
59ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
60116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerMoz(benchmark.Benchmark):
61ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  test = page_cycler.PageCycler
62f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.MozPageSet
6323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  options = {'pageset_repeat': 10}
64ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
65ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
66116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled('linux', 'win')  # crbug.com/353260
67116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerNetsimTop10(benchmark.Benchmark):
6858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  """Measures load time of the top 10 sites under simulated cable network."""
6958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  tag = 'netsim'
70ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  test = page_cycler.PageCycler
71f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.Top10PageSet
72ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  options = {
73effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      'cold_load_percent': 100,
74effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      'extra_wpr_args': [
75effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch          '--shaping_type=proxy',
76effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch          '--net=cable'
77ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch      ],
78effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      'pageset_repeat': 5,
79effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  }
80ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
81ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  def __init__(self):
8258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)    super(PageCyclerNetsimTop10, self).__init__()
83ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch    # TODO: This isn't quite right.
84ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch    # This option will still apply to page cyclers that run after this one.
85ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch    self.test.clear_cache_before_each_run = True
86ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
87ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Enabled('android')
89116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerTop10Mobile(benchmark.Benchmark):
90f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  test = page_cycler.PageCycler
91f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.Top10MobilePageSet
9223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  options = {'pageset_repeat': 10}
93f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
94f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Disabled
96116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerKeyMobileSites(benchmark.Benchmark):
975d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  test = page_cycler.PageCycler
98f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.KeyMobileSitesPageSet
9923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  options = {'pageset_repeat': 10}
1005d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1015d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
102116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled('android')  # crbug.com/357326
103116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerToughLayoutCases(benchmark.Benchmark):
10458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  test = page_cycler.PageCycler
105f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.ToughLayoutCasesPageSet
10623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  options = {'pageset_repeat': 10}
10758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
10858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
1095d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# crbug.com/273986: This test is really flakey on xp.
1105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# cabug.com/341843: This test is always timing out on Android.
111116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled('android', 'win')
112116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass PageCyclerTypical25(benchmark.Benchmark):
113ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  test = page_cycler.PageCycler
114f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.Typical25PageSet
11523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  options = {'pageset_repeat': 10}
116