Chromium Code Reviews| Index: tools/telemetry/telemetry/test.py |
| diff --git a/tools/telemetry/telemetry/test.py b/tools/telemetry/telemetry/test.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..b39cc7bf2242d66dc3c541dc473cb42d11b8258c |
| --- /dev/null |
| +++ b/tools/telemetry/telemetry/test.py |
| @@ -0,0 +1,34 @@ |
| +# Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| +from telemetry.page import page_runner |
| +from telemetry.page import page_set |
| +from telemetry.page import page_test |
| + |
| + |
| +class Test(object): |
|
nduca
2013/06/19 05:46:53
can we just kill this and the more constrained tes
dtu
2013/06/19 06:07:10
That's fine. So we don't want to run any non-Telem
dtu
2013/06/19 21:22:58
Done.
|
| + def Run(self, options): |
| + raise NotImplementedError() |
| + |
| + |
| +class TelemetryTest(Test): |
|
tonyg
2013/06/19 16:40:15
In light of our new documentation efforts, these k
dtu
2013/06/19 21:22:58
Done.
|
| + options = {} |
| + enabled = True |
|
nduca
2013/06/19 05:46:53
why the python1 style class definition here? We ty
dtu
2013/06/19 06:07:10
It's more concise. Also you can get the test's att
|
| + |
| + def Run(self, options): |
| + assert hasattr(self, 'test'), 'This test has no "test" attribute.' |
| + assert issubclass(self.test, page_test.PageTest), ( |
| + '"%s" is not a PageTest.' % self.test.__name__) |
| + |
| + for key, value in self.options.iteritems(): |
| + setattr(options, key, value) |
| + |
| + test = self.test() |
| + ps = self.CreatePageSet(options) |
| + results = page_runner.Run(test, ps, options) |
| + results.PrintSummary() |
| + return len(results.failures) + len(results.errors) |
| + |
| + def CreatePageSet(self, options): # pylint: disable=W0613 |
| + assert hasattr(self, 'page_set'), 'This test has no "page_set" attribute.' |
| + return page_set.PageSet.FromFile(self.page_set) |