Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(196)

Unified Diff: tools/telemetry/telemetry/page/page_set.py

Issue 259763003: Get rid of PageSet.FromDict from some simple benchmarks in gpu_tests/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/telemetry/telemetry/page/page.py ('k') | tools/telemetry/telemetry/page/page_set_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/page/page_set.py
diff --git a/tools/telemetry/telemetry/page/page_set.py b/tools/telemetry/telemetry/page/page_set.py
index b0beb5e4b29a38f851ca2930aadb4cee49b061f6..94716533288e31dd96c7d55b84f5679903178899 100644
--- a/tools/telemetry/telemetry/page/page_set.py
+++ b/tools/telemetry/telemetry/page/page_set.py
@@ -5,7 +5,6 @@
import csv
import inspect
import os
-import sys
from telemetry.core import util
from telemetry.page import page as page_module
@@ -30,10 +29,18 @@ class PageSetError(Exception):
class PageSet(object):
- def __init__(self, file_path='', description='', archive_data_file='',
+ def __init__(self, file_path=None, description='', archive_data_file='',
credentials_path=None, user_agent_type=None,
make_javascript_deterministic=True, startup_url='',
serving_dirs=None):
+ # The default value of file_path is location of the file that define this
+ # page set instance's class.
+ if file_path is None:
+ file_path = inspect.getfile(self.__class__)
+ # Turn pyc file into py files if we can
+ if file_path.endswith('.pyc') and os.path.exists(file_path[:-1]):
+ file_path = file_path[:-1]
+
self.file_path = file_path
# These attributes can be set dynamically by the page set.
self.description = description
@@ -44,12 +51,17 @@ class PageSet(object):
self._wpr_archive_info = None
self.startup_url = startup_url
self.pages = []
- if serving_dirs:
- self.serving_dirs = serving_dirs
- else:
- self.serving_dirs = set()
+ self.serving_dirs = set()
+ serving_dirs = [] if serving_dirs is None else serving_dirs
+ # Makes sure that page_set's serving_dirs are absolute paths
+ for sd in serving_dirs:
+ if os.path.isabs(sd):
+ self.serving_dirs.add(os.path.realpath(sd))
+ else:
+ self.serving_dirs.add(os.path.realpath(os.path.join(self.base_dir, sd)))
self._is_dict_based_page_set = False
+
# TODO(nednguyen): Remove this when crbug.com/239179 is marked fixed
def IsDictBasedPageSet(self):
return self._is_dict_based_page_set
@@ -127,15 +139,6 @@ class PageSet(object):
raise PageSetError("Pageset file needs to contain exactly 1 pageset class"
" with prefix 'PageSet'")
page_set = page_set_classes[0]()
- page_set.file_path = file_path
- # Makes sure that page_set's serving_dirs are absolute paths
- if page_set.serving_dirs:
- abs_serving_dirs = set()
- for serving_dir in page_set.serving_dirs:
- abs_serving_dirs.add(os.path.realpath(os.path.join(
- page_set.base_dir, # pylint: disable=W0212
- serving_dir)))
- page_set.serving_dirs = abs_serving_dirs
for page in page_set.pages:
page_class = page.__class__
@@ -147,10 +150,6 @@ class PageSet(object):
raise PageSetError("""Definition of Run<...> method of all
pages in %s must be in the form of def Run<...>(self, action_runner):"""
% file_path)
- # Set page's base_dir attribute.
- page_file_path = sys.modules[page_class.__module__].__file__
- page._base_dir = os.path.dirname(page_file_path)
-
return page_set
@staticmethod
« no previous file with comments | « tools/telemetry/telemetry/page/page.py ('k') | tools/telemetry/telemetry/page/page_set_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698