1# Copyright 2013 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
5from measurements import page_cycler
6import page_sets
7from telemetry import benchmark
8
9
10class PageCyclerBloat(benchmark.Benchmark):
11  test = page_cycler.PageCycler
12  page_set = page_sets.BloatPageSet
13  options = {'pageset_repeat': 10}
14
15
16class PageCyclerDhtml(benchmark.Benchmark):
17  test = page_cycler.PageCycler
18  page_set = page_sets.DhtmlPageSet
19  options = {'pageset_repeat': 10}
20
21
22class PageCyclerIntlArFaHe(benchmark.Benchmark):
23  test = page_cycler.PageCycler
24  page_set = page_sets.IntlArFaHePageSet
25  options = {'pageset_repeat': 10}
26
27
28@benchmark.Disabled('win')  # crbug.com/388337
29class PageCyclerIntlEsFrPtBr(benchmark.Benchmark):
30  test = page_cycler.PageCycler
31  page_set = page_sets.IntlEsFrPtBrPageSet
32  options = {'pageset_repeat': 10}
33
34
35class PageCyclerIntlHiRu(benchmark.Benchmark):
36  test = page_cycler.PageCycler
37  page_set = page_sets.IntlHiRuPageSet
38  options = {'pageset_repeat': 10}
39
40
41@benchmark.Disabled('android', 'win')  # crbug.com/379564, crbug.com/330909
42class PageCyclerIntlJaZh(benchmark.Benchmark):
43  test = page_cycler.PageCycler
44  page_set = page_sets.IntlJaZhPageSet
45  options = {'pageset_repeat': 10}
46
47
48class PageCyclerIntlKoThVi(benchmark.Benchmark):
49  test = page_cycler.PageCycler
50  page_set = page_sets.IntlKoThViPageSet
51  options = {'pageset_repeat': 10}
52
53
54class PageCyclerMorejs(benchmark.Benchmark):
55  test = page_cycler.PageCycler
56  page_set = page_sets.MorejsPageSet
57  options = {'pageset_repeat': 10}
58
59
60class PageCyclerMoz(benchmark.Benchmark):
61  test = page_cycler.PageCycler
62  page_set = page_sets.MozPageSet
63  options = {'pageset_repeat': 10}
64
65
66@benchmark.Disabled('linux', 'win')  # crbug.com/353260
67class PageCyclerNetsimTop10(benchmark.Benchmark):
68  """Measures load time of the top 10 sites under simulated cable network."""
69  tag = 'netsim'
70  test = page_cycler.PageCycler
71  page_set = page_sets.Top10PageSet
72  options = {
73      'cold_load_percent': 100,
74      'extra_wpr_args': [
75          '--shaping_type=proxy',
76          '--net=cable'
77      ],
78      'pageset_repeat': 5,
79  }
80
81  def __init__(self):
82    super(PageCyclerNetsimTop10, self).__init__()
83    # TODO: This isn't quite right.
84    # This option will still apply to page cyclers that run after this one.
85    self.test.clear_cache_before_each_run = True
86
87
88@benchmark.Enabled('android')
89class PageCyclerTop10Mobile(benchmark.Benchmark):
90  test = page_cycler.PageCycler
91  page_set = page_sets.Top10MobilePageSet
92  options = {'pageset_repeat': 10}
93
94
95@benchmark.Disabled
96class PageCyclerKeyMobileSites(benchmark.Benchmark):
97  test = page_cycler.PageCycler
98  page_set = page_sets.KeyMobileSitesPageSet
99  options = {'pageset_repeat': 10}
100
101
102@benchmark.Disabled('android')  # crbug.com/357326
103class PageCyclerToughLayoutCases(benchmark.Benchmark):
104  test = page_cycler.PageCycler
105  page_set = page_sets.ToughLayoutCasesPageSet
106  options = {'pageset_repeat': 10}
107
108
109# crbug.com/273986: This test is really flakey on xp.
110# cabug.com/341843: This test is always timing out on Android.
111@benchmark.Disabled('android', 'win')
112class PageCyclerTypical25(benchmark.Benchmark):
113  test = page_cycler.PageCycler
114  page_set = page_sets.Typical25PageSet
115  options = {'pageset_repeat': 10}
116