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.
8 from measurements
import session_restore
9 from measurements
import session_restore_with_url
11 from profile_creators
import small_profile_creator
12 from telemetry
import benchmark
13 from telemetry
.page
import profile_generator
16 class _SessionRestoreTest(benchmark
.Benchmark
):
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
)
33 @benchmark.Disabled('android', 'linux') # crbug.com/325479, crbug.com/381990
34 class SessionRestoreColdTypical25(_SessionRestoreTest
):
36 test
= session_restore
.SessionRestore
37 page_set
= page_sets
.Typical25PageSet
38 options
= {'cold': True,
42 @benchmark.Disabled('android', 'linux') # crbug.com/325479, crbug.com/381990
43 class SessionRestoreWarmTypical25(_SessionRestoreTest
):
45 test
= session_restore
.SessionRestore
46 page_set
= page_sets
.Typical25PageSet
47 options
= {'warm': True,
51 @benchmark.Disabled('android', 'linux') # crbug.com/325479, crbug.com/381990
52 class SessionRestoreWithUrlCold(_SessionRestoreTest
):
53 """Measure Chrome cold session restore with startup URLs."""
55 test
= session_restore_with_url
.SessionRestoreWithUrl
56 page_set
= page_sets
.StartupPagesPageSet
57 options
= {'cold': True,
61 @benchmark.Disabled('android', 'linux') # crbug.com/325479, crbug.com/381990
62 class SessionRestoreWithUrlWarm(_SessionRestoreTest
):
63 """Measure Chrome warm session restore with startup URLs."""
65 test
= session_restore_with_url
.SessionRestoreWithUrl
66 page_set
= page_sets
.StartupPagesPageSet
67 options
= {'warm': True,