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

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

Issue 99493004: Telemetry: Filter by label in addition to page URL. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adding unit test. Created 7 years 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_filter.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/page/page_filter_unittest.py
diff --git a/tools/telemetry/telemetry/page/page_filter_unittest.py b/tools/telemetry/telemetry/page/page_filter_unittest.py
index 924d46a5024715f540b405ccd7e4e5133c2b4359..96e03999cb84622659dd5d21736b928aace9cd54 100644
--- a/tools/telemetry/telemetry/page/page_filter_unittest.py
+++ b/tools/telemetry/telemetry/page/page_filter_unittest.py
@@ -7,10 +7,19 @@ from telemetry.page import page as page_module
from telemetry.page import page_filter as page_filter_module
from telemetry.page import page_set
-class MockOptions(object):
+class MockUrlFilterOptions(object):
def __init__(self, page_filter, page_filter_exclude):
self.page_filter = page_filter
self.page_filter_exclude = page_filter_exclude
+ self.page_label_filter = None
+ self.page_label_filter_exclude = None
+
+class MockLabelFilterOptions(object):
+ def __init__(self, page_label_filter, page_label_filter_exclude):
+ self.page_filter = None
+ self.page_filter_exclude = None
+ self.page_label_filter = page_label_filter
+ self.page_label_filter_exclude = page_label_filter_exclude
class PageFilterTest(unittest.TestCase):
def setUp(self):
@@ -29,41 +38,62 @@ class PageFilterTest(unittest.TestCase):
{ 'name': None })
def testURLPattern(self):
- options = MockOptions('conformance/textures', '')
+ options = MockUrlFilterOptions('conformance/textures', '')
page_filter = page_filter_module.PageFilter(options)
self.assertTrue(page_filter.IsSelected(self.p1))
self.assertFalse(page_filter.IsSelected(self.p2))
- options = MockOptions('textures', '')
+ options = MockUrlFilterOptions('textures', '')
page_filter = page_filter_module.PageFilter(options)
self.assertTrue(page_filter.IsSelected(self.p1))
self.assertTrue(page_filter.IsSelected(self.p2))
- options = MockOptions('somethingelse', '')
+ options = MockUrlFilterOptions('somethingelse', '')
page_filter = page_filter_module.PageFilter(options)
self.assertFalse(page_filter.IsSelected(self.p1))
self.assertFalse(page_filter.IsSelected(self.p2))
def testName(self):
- options = MockOptions('somethingelse', '')
+ options = MockUrlFilterOptions('somethingelse', '')
page_filter = page_filter_module.PageFilter(options)
self.assertFalse(page_filter.IsSelected(self.p1))
self.assertFalse(page_filter.IsSelected(self.p2))
- options = MockOptions('textures_tex_sub_image', '')
+ options = MockUrlFilterOptions('textures_tex_sub_image', '')
page_filter = page_filter_module.PageFilter(options)
self.assertTrue(page_filter.IsSelected(self.p1))
self.assertTrue(page_filter.IsSelected(self.p2))
- options = MockOptions('WebglConformance', '')
+ options = MockUrlFilterOptions('WebglConformance', '')
page_filter = page_filter_module.PageFilter(options)
self.assertTrue(page_filter.IsSelected(self.p1))
self.assertFalse(page_filter.IsSelected(self.p2))
- options = MockOptions('OtherSuite', '')
+ options = MockUrlFilterOptions('OtherSuite', '')
page_filter = page_filter_module.PageFilter(options)
self.assertFalse(page_filter.IsSelected(self.p1))
self.assertTrue(page_filter.IsSelected(self.p2))
def testNameNone(self):
- options = MockOptions('othersuite/textures', '')
+ options = MockUrlFilterOptions('othersuite/textures', '')
page_filter = page_filter_module.PageFilter(options)
self.assertTrue(page_filter.IsSelected(self.p3))
- options = MockOptions('conformance/textures', '')
+ options = MockUrlFilterOptions('conformance/textures', '')
+ page_filter = page_filter_module.PageFilter(options)
+ self.assertFalse(page_filter.IsSelected(self.p3))
+
+ def testLabelFilters(self):
+ self.p1.label1 = True
+ self.p2.label1 = True
+ self.p3.label1 = False
+ self.p1.label2 = True
+ self.p2.label2 = False
+ self.p3.label2 = True
+
+ # Include both labels
+ options = MockLabelFilterOptions('label1,label2', '')
page_filter = page_filter_module.PageFilter(options)
+ self.assertTrue(page_filter.IsSelected(self.p1))
+ self.assertTrue(page_filter.IsSelected(self.p2))
+ self.assertTrue(page_filter.IsSelected(self.p3))
+ # Exclude takes priority
+ options = MockLabelFilterOptions('label1', 'label2')
+ page_filter = page_filter_module.PageFilter(options)
+ self.assertFalse(page_filter.IsSelected(self.p1))
+ self.assertTrue(page_filter.IsSelected(self.p2))
self.assertFalse(page_filter.IsSelected(self.p3))
« no previous file with comments | « tools/telemetry/telemetry/page/page_filter.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698