| Index: tools/telemetry/telemetry/testing/story_set_smoke_test.py
|
| diff --git a/tools/telemetry/telemetry/testing/story_set_smoke_test.py b/tools/telemetry/telemetry/testing/story_set_smoke_test.py
|
| deleted file mode 100644
|
| index 78f200cb5027d34226467378533075187a7dfa7c..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/testing/story_set_smoke_test.py
|
| +++ /dev/null
|
| @@ -1,143 +0,0 @@
|
| -# Copyright 2014 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.
|
| -
|
| -import logging
|
| -import os
|
| -import unittest
|
| -
|
| -from telemetry.core import discover
|
| -from telemetry.internal.browser import browser_credentials
|
| -from telemetry import page
|
| -from telemetry import story as story_module
|
| -from telemetry.wpr import archive_info
|
| -
|
| -
|
| -class StorySetSmokeTest(unittest.TestCase):
|
| -
|
| - def setUp(self):
|
| - # Make sure the added failure message is appended to the default failure
|
| - # message.
|
| - self.longMessage = True
|
| -
|
| - def GetAllStorySetClasses(self, story_sets_dir, top_level_dir):
|
| - # We can't test page sets that aren't directly constructible since we
|
| - # don't know what arguments to put for the constructor.
|
| - return discover.DiscoverClasses(story_sets_dir, top_level_dir,
|
| - story_module.StorySet,
|
| - directly_constructable=True).values()
|
| -
|
| - def CheckArchive(self, story_set):
|
| - """Verify that all URLs of pages in story_set have an associated archive."""
|
| - # TODO: Eventually these should be fatal.
|
| - if not story_set.archive_data_file:
|
| - logging.warning('Skipping %s: no archive data file', story_set.file_path)
|
| - return
|
| -
|
| - logging.info('Testing %s', story_set.file_path)
|
| -
|
| - archive_data_file_path = os.path.join(story_set.base_dir,
|
| - story_set.archive_data_file)
|
| - self.assertTrue(os.path.exists(archive_data_file_path),
|
| - msg='Archive data file not found for %s' %
|
| - story_set.file_path)
|
| -
|
| - wpr_archive_info = archive_info.WprArchiveInfo.FromFile(
|
| - archive_data_file_path, story_set.bucket)
|
| - for story in story_set.stories:
|
| - if isinstance(story, page.Page) and story.url.startswith('http'):
|
| - self.assertTrue(wpr_archive_info.WprFilePathForStory(story),
|
| - msg='No archive found for %s in %s' % (
|
| - story.url, story_set.archive_data_file))
|
| -
|
| - def CheckCredentials(self, story_set):
|
| - """Verify that all pages in story_set use proper credentials"""
|
| - for story in story_set.stories:
|
| - if not isinstance(story, page.Page):
|
| - continue
|
| - credentials = browser_credentials.BrowserCredentials()
|
| - if story.credentials_path:
|
| - credentials.credentials_path = (
|
| - os.path.join(story.base_dir, story.credentials_path))
|
| - fail_message = ('page %s of %s has invalid credentials %s' %
|
| - (story.url, story_set.file_path, story.credentials))
|
| - if story.credentials:
|
| - try:
|
| - self.assertTrue(credentials.CanLogin(story.credentials), fail_message)
|
| - except browser_credentials.CredentialsError:
|
| - self.fail(fail_message)
|
| -
|
| - def CheckAttributes(self, story_set):
|
| - """Verify that story_set and its stories base attributes have the right
|
| - types.
|
| - """
|
| - self.CheckAttributesOfStorySetBasicAttributes(story_set)
|
| - for story in story_set.stories:
|
| - self.CheckAttributesOfStoryBasicAttributes(story)
|
| -
|
| - def CheckAttributesOfStorySetBasicAttributes(self, story_set):
|
| - if story_set.base_dir is not None:
|
| - self.assertTrue(
|
| - isinstance(story_set.base_dir, str),
|
| - msg='story_set %\'s base_dir must have type string')
|
| -
|
| - self.assertTrue(
|
| - isinstance(story_set.archive_data_file, str),
|
| - msg='story_set\'s archive_data_file path must have type string')
|
| -
|
| - def CheckAttributesOfStoryBasicAttributes(self, story):
|
| - self.assertTrue(not hasattr(story, 'disabled'))
|
| - self.assertTrue(
|
| - isinstance(story.name, str),
|
| - msg='story %s \'s name field must have type string' % story.display_name)
|
| - self.assertTrue(
|
| - isinstance(story.labels, set),
|
| - msg='story %s \'s labels field must have type set' % story.display_name)
|
| - for l in story.labels:
|
| - self.assertTrue(
|
| - isinstance(l, str),
|
| - msg='label %s in story %s \'s labels must have type string'
|
| - % (str(l), story.display_name))
|
| - if not isinstance(story, page.Page):
|
| - return
|
| - self.assertTrue(
|
| - # We use basestring instead of str because story's URL can be string of
|
| - # unicode.
|
| - isinstance(story.url, basestring),
|
| - msg='page %s \'s url must have type string' % story.display_name)
|
| - self.assertTrue(
|
| - isinstance(story.startup_url, str),
|
| - msg=('page %s \'s startup_url field must have type string'
|
| - % story.display_name))
|
| - self.assertIsInstance(
|
| - story.make_javascript_deterministic, bool,
|
| - msg='page %s \'s make_javascript_deterministic must have type bool'
|
| - % story.display_name)
|
| -
|
| - def CheckSharedStates(self, story_set):
|
| - if not story_set.allow_mixed_story_states:
|
| - shared_state_class = (
|
| - story_set.stories[0].shared_state_class)
|
| - for story in story_set:
|
| - self.assertIs(
|
| - shared_state_class,
|
| - story.shared_state_class,
|
| - msg='story %s\'s shared_state_class field is different '
|
| - 'from other story\'s shared_state_class whereas '
|
| - 'story set %s disallows having mixed states' %
|
| - (story, story_set))
|
| -
|
| - def RunSmokeTest(self, story_sets_dir, top_level_dir):
|
| - """Run smoke test on all story sets in story_sets_dir.
|
| -
|
| - Subclass of StorySetSmokeTest is supposed to call this in some test
|
| - method to run smoke test.
|
| - """
|
| - story_sets = self.GetAllStorySetClasses(story_sets_dir, top_level_dir)
|
| - for story_set_class in story_sets:
|
| - story_set = story_set_class()
|
| - logging.info('Testing %s', story_set.file_path)
|
| - self.CheckArchive(story_set)
|
| - self.CheckCredentials(story_set)
|
| - self.CheckAttributes(story_set)
|
| - self.CheckSharedStates(story_set)
|
|
|