Index: tools/telemetry/telemetry/unittest/page_set_smoke_test.py |
diff --git a/tools/telemetry/telemetry/unittest/page_set_smoke_test.py b/tools/telemetry/telemetry/unittest/page_set_smoke_test.py |
index bfe86e08f6bc6ba9f0dd2d654128c47fe8af5403..274161b9065833acb5db2fc538d16c1cd8c0fe22 100644 |
--- a/tools/telemetry/telemetry/unittest/page_set_smoke_test.py |
+++ b/tools/telemetry/telemetry/unittest/page_set_smoke_test.py |
@@ -10,6 +10,7 @@ from telemetry.core import browser_credentials |
from telemetry.core import discover |
from telemetry.page import page_set as page_set_module |
from telemetry.page import page_set_archive_info |
+from telemetry.util import classes |
class PageSetSmokeTest(unittest.TestCase): |
@@ -40,11 +41,11 @@ class PageSetSmokeTest(unittest.TestCase): |
def CheckCredentials(self, page_set): |
"""Verify that all pages in page_set use proper credentials""" |
- credentials = browser_credentials.BrowserCredentials() |
- if page_set.credentials_path: |
- credentials.credentials_path = ( |
- os.path.join(page_set.base_dir, page_set.credentials_path)) |
for page in page_set.pages: |
+ credentials = browser_credentials.BrowserCredentials() |
+ if page.credentials_path: |
+ credentials.credentials_path = ( |
+ os.path.join(page.base_dir, page.credentials_path)) |
fail_message = ('page %s of %s has invalid credentials %s' % |
(page.url, page_set.file_path, page.credentials)) |
if page.credentials: |
@@ -105,10 +106,11 @@ class PageSetSmokeTest(unittest.TestCase): |
page_sets = discover.DiscoverClasses(page_sets_dir, top_level_dir, |
page_set_module.PageSet).values() |
for page_set_class in page_sets: |
- try: |
- page_set = page_set_class() |
- except TypeError: |
+ if not classes.IsDirectlyConstructable(page_set_class): |
+ # We can't test page sets that aren't directly constructable since we |
+ # don't know what arguments to put for the constructor. |
continue |
+ page_set = page_set_class() |
logging.info('Testing %s', page_set.file_path) |
self.CheckArchive(page_set) |
self.CheckCredentials(page_set) |