# Copyright (c) 2012 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 collections
import copy
import glob
import logging
import os
+import random
import sys
import tempfile
import time
import traceback
-import random
+from telemetry import decorators
from telemetry import exception_formatter
from telemetry.core import browser_finder
from telemetry.core import exceptions
logging.info('Feature Status:')
for k, v in sorted(system_info.gpu.feature_status.iteritems()):
logging.info(' %-20s: %s', k, v)
+ if system_info.gpu.driver_bug_workarounds:
+ logging.info('Driver Bug Workarounds:')
+ for workaround in system_info.gpu.driver_bug_workarounds:
+ logging.info(' %s', workaround)
else:
logging.info('No GPU devices')
else:
if test:
if test.clear_cache_before_each_run:
- self.tab.ClearCache()
+ self.tab.ClearCache(force=True)
def ImplicitPageNavigation(self, test=None):
"""Executes the implicit navigation that occurs for every page iteration.
if page.archive_path and os.path.isfile(page.archive_path)
else wpr_modes.WPR_OFF)
- tries = 3
+ tries = test.attempts
while tries:
tries -= 1
try:
browser_options.browser_type = possible_browser.browser_type
+ if not decorators.IsEnabled(
+ test, browser_options.browser_type, possible_browser.platform):
+ return results
+
# Reorder page set based on options.
pages = _ShuffleAndFilterPageSet(page_set, finder_options)
def _RunPage(test, page, state, expectation, results, finder_options):
if expectation == 'skip':
- logging.info('Skipped %s' % page.url)
+ logging.debug('Skipping test: Skip expectation for %s', page.url)
+ results.AddSkip(page, 'Skipped by test expectations')
return
logging.info('Running %s' % page.url)