1 # Copyright 2014 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.
5 from measurements
import skpicture_printer
6 from telemetry
import benchmark
7 from telemetry
.core
import discover
8 from telemetry
.page
import page_set
11 def _MatchPageSetName(page_set_name
, page_set_base_dir
):
13 page_sets
+= discover
.DiscoverClasses(page_set_base_dir
, page_set_base_dir
,
15 index_by_class_name
=True).values()
17 if page_set_name
== p
.Name():
23 class SkpicturePrinter(benchmark
.Benchmark
):
24 test
= skpicture_printer
.SkpicturePrinter
27 def AddBenchmarkCommandLineArgs(cls
, parser
):
28 parser
.add_option('--page-set-name', action
='store', type='string')
29 parser
.add_option('--page-set-base-dir', action
='store', type='string')
32 def ProcessCommandLineArgs(cls
, parser
, args
):
33 cls
.PageTestClass().ProcessCommandLineArgs(parser
, args
)
34 if not args
.page_set_name
:
35 parser
.error('Please specify --page-set-name')
36 if not args
.page_set_base_dir
:
37 parser
.error('Please specify --page-set-base-dir')
39 def CreatePageSet(self
, options
):
40 page_set_class
= _MatchPageSetName(options
.page_set_name
,
41 options
.page_set_base_dir
)
42 return page_set_class()