• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
5import os
6import tempfile
7
8from measurements import session_restore
9from measurements import session_restore_with_url
10import page_sets
11from profile_creators import small_profile_creator
12from telemetry import test
13from telemetry.page import profile_generator
14
15
16class _SessionRestoreTest(test.Test):
17
18  @classmethod
19  def ProcessCommandLineArgs(cls, parser, args):
20    super(_SessionRestoreTest, cls).ProcessCommandLineArgs(parser, args)
21    profile_type = 'small_profile'
22    if not args.browser_options.profile_dir:
23      profile_dir = os.path.join(tempfile.gettempdir(), profile_type)
24      if not os.path.exists(profile_dir):
25        new_args = args.Copy()
26        new_args.pageset_repeat = 1
27        new_args.output_dir = profile_dir
28        profile_generator.GenerateProfiles(
29            small_profile_creator.SmallProfileCreator, profile_type, new_args)
30      args.browser_options.profile_dir = os.path.join(profile_dir, profile_type)
31
32
33@test.Disabled('android', 'linux')  # crbug.com/325479, crbug.com/381990
34class SessionRestoreColdTypical25(_SessionRestoreTest):
35  tag = 'cold'
36  test = session_restore.SessionRestore
37  page_set = page_sets.Typical25PageSet
38  options = {'cold': True,
39             'pageset_repeat': 5}
40
41
42@test.Disabled('android', 'linux')  # crbug.com/325479, crbug.com/381990
43class SessionRestoreWarmTypical25(_SessionRestoreTest):
44  tag = 'warm'
45  test = session_restore.SessionRestore
46  page_set = page_sets.Typical25PageSet
47  options = {'warm': True,
48             'pageset_repeat': 20}
49
50
51@test.Disabled('android', 'linux')  # crbug.com/325479, crbug.com/381990
52class SessionRestoreWithUrlCold(_SessionRestoreTest):
53  """Measure Chrome cold session restore with startup URLs."""
54  tag = 'cold'
55  test = session_restore_with_url.SessionRestoreWithUrl
56  page_set = page_sets.StartupPagesPageSet
57  options = {'cold': True,
58             'pageset_repeat': 5}
59
60
61@test.Disabled('android', 'linux')  # crbug.com/325479, crbug.com/381990
62class SessionRestoreWithUrlWarm(_SessionRestoreTest):
63  """Measure Chrome warm session restore with startup URLs."""
64  tag = 'warm'
65  test = session_restore_with_url.SessionRestoreWithUrl
66  page_set = page_sets.StartupPagesPageSet
67  options = {'warm': True,
68             'pageset_repeat': 10}
69