Index: tools/telemetry/telemetry/page_runner.py |
diff --git a/tools/telemetry/telemetry/page_runner.py b/tools/telemetry/telemetry/page_runner.py |
index 31ea3f40ff3485a19127719b9122cc6cc59eca96..779fb0da697873d07ae3353eb77fd5fef1fb06c5 100644 |
--- a/tools/telemetry/telemetry/page_runner.py |
+++ b/tools/telemetry/telemetry/page_runner.py |
@@ -3,13 +3,13 @@ |
# found in the LICENSE file. |
import logging |
import os |
-import re |
import time |
import traceback |
import urlparse |
import random |
from telemetry import browser_gone_exception |
+from telemetry import page_filter as page_filter_module |
from telemetry import page_test |
from telemetry import tab_crash_exception |
from telemetry import util |
@@ -42,22 +42,9 @@ def _ShuffleAndFilterPageSet(page_set, options): |
if options.pageset_shuffle_order_file: |
return page_set.ReorderPageSet(options.pageset_shuffle_order_file) |
- pages = page_set.pages[:] |
- if options.page_filter: |
- try: |
- page_regex = re.compile(options.page_filter) |
- except re.error: |
- raise Exception('--page-filter: invalid regex') |
- else: |
- page_regex = None |
- |
- def IsSelected(page): |
- if page.disabled: |
- return False |
- if page_regex: |
- return page_regex.search(page.url) |
- return True |
- pages = [page for page in pages if IsSelected(page)] |
+ page_filter = page_filter_module.PageFilter(options) |
+ pages = [page for page in page_set.pages[:] |
+ if not page.disabled and page_filter.IsSelected(page)] |
if options.pageset_shuffle: |
random.Random().shuffle(pages) |
@@ -316,3 +303,7 @@ class PageRunner(object): |
chrome.benchmarking.closeConnections()""") |
except Exception: |
pass |
+ |
+ @staticmethod |
+ def AddCommandLineOptions(parser): |
+ page_filter_module.PageFilter.AddCommandLineOptions(parser) |