OLD | NEW |
| (Empty) |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 import unittest | |
6 | |
7 from telemetry.timeline import tracing_category_filter | |
8 | |
9 | |
10 class TracingCategoryFilterTests(unittest.TestCase): | |
11 def CheckCategoryFilters(self, cf): | |
12 self.assertEquals(set(['x']), set(cf.included_categories)) | |
13 self.assertEquals(set(['y']), set(cf.excluded_categories)) | |
14 self.assertEquals(set(['disabled-by-default-z']), | |
15 set(cf.disabled_by_default_categories)) | |
16 self.assertEquals(set(['DELAY(7;foo)']), set(cf.synthetic_delays)) | |
17 | |
18 self.assertTrue('x' in cf.filter_string) | |
19 self.assertEquals( | |
20 'x,disabled-by-default-z,-y,DELAY(7;foo)', | |
21 cf.stable_filter_string) | |
22 | |
23 def testBasic(self): | |
24 cf = tracing_category_filter.TracingCategoryFilter( | |
25 'x,-y,disabled-by-default-z,DELAY(7;foo)') | |
26 self.CheckCategoryFilters(cf) | |
27 | |
28 def testBasicWithSpace(self): | |
29 cf = tracing_category_filter.TracingCategoryFilter( | |
30 ' x ,\n-y\t,disabled-by-default-z ,DELAY(7;foo)') | |
31 self.CheckCategoryFilters(cf) | |
32 | |
33 | |
34 class CategoryFilterTest(unittest.TestCase): | |
35 def testAddIncludedCategory(self): | |
36 a = tracing_category_filter.TracingCategoryFilter() | |
37 a.AddIncludedCategory('foo') | |
38 a.AddIncludedCategory('bar') | |
39 a.AddIncludedCategory('foo') | |
40 self.assertEquals(a.stable_filter_string, 'bar,foo') | |
41 | |
42 def testAddExcludedCategory(self): | |
43 a = tracing_category_filter.TracingCategoryFilter() | |
44 a.AddExcludedCategory('foo') | |
45 a.AddExcludedCategory('bar') | |
46 a.AddExcludedCategory('foo') | |
47 self.assertEquals(a.stable_filter_string, '-bar,-foo') | |
48 | |
49 def testIncludeAndExcludeCategoryRaisesAssertion(self): | |
50 a = tracing_category_filter.TracingCategoryFilter() | |
51 a.AddIncludedCategory('foo') | |
52 self.assertRaises(AssertionError, a.AddExcludedCategory, 'foo') | |
53 | |
54 a = tracing_category_filter.TracingCategoryFilter() | |
55 a.AddExcludedCategory('foo') | |
56 self.assertRaises(AssertionError, a.AddIncludedCategory, 'foo') | |
57 | |
58 self.assertRaises(AssertionError, | |
59 tracing_category_filter.TracingCategoryFilter, 'foo,-foo') | |
60 | |
61 self.assertRaises(AssertionError, | |
62 tracing_category_filter.TracingCategoryFilter, '-foo,foo') | |
63 | |
64 | |
65 def testIsSubset(self): | |
66 b = tracing_category_filter.TracingCategoryFilter() | |
67 a = tracing_category_filter.TracingCategoryFilter() | |
68 self.assertEquals(a.IsSubset(b), True) | |
69 | |
70 b = tracing_category_filter.TracingCategoryFilter() | |
71 a = tracing_category_filter.TracingCategoryFilter("test1,test2") | |
72 self.assertEquals(a.IsSubset(b), True) | |
73 | |
74 b = tracing_category_filter.TracingCategoryFilter() | |
75 a = tracing_category_filter.TracingCategoryFilter("-test1,-test2") | |
76 self.assertEquals(a.IsSubset(b), True) | |
77 | |
78 b = tracing_category_filter.TracingCategoryFilter("test1,test2") | |
79 a = tracing_category_filter.TracingCategoryFilter() | |
80 self.assertEquals(a.IsSubset(b), None) | |
81 | |
82 b = tracing_category_filter.TracingCategoryFilter() | |
83 a = tracing_category_filter.TracingCategoryFilter("test*") | |
84 self.assertEquals(a.IsSubset(b), None) | |
85 | |
86 b = tracing_category_filter.TracingCategoryFilter("test?") | |
87 a = tracing_category_filter.TracingCategoryFilter() | |
88 self.assertEquals(a.IsSubset(b), None) | |
89 | |
90 b = tracing_category_filter.TracingCategoryFilter("test1") | |
91 a = tracing_category_filter.TracingCategoryFilter("test1,test2") | |
92 self.assertEquals(a.IsSubset(b), False) | |
93 | |
94 b = tracing_category_filter.TracingCategoryFilter("-test1") | |
95 a = tracing_category_filter.TracingCategoryFilter("test1") | |
96 self.assertEquals(a.IsSubset(b), False) | |
97 | |
98 b = tracing_category_filter.TracingCategoryFilter("test1,test2") | |
99 a = tracing_category_filter.TracingCategoryFilter("test2,test1") | |
100 self.assertEquals(a.IsSubset(b), True) | |
101 | |
102 b = tracing_category_filter.TracingCategoryFilter("-test1,-test2") | |
103 a = tracing_category_filter.TracingCategoryFilter("-test2") | |
104 self.assertEquals(a.IsSubset(b), False) | |
105 | |
106 b = tracing_category_filter.TracingCategoryFilter( | |
107 "disabled-by-default-test1") | |
108 a = tracing_category_filter.TracingCategoryFilter( | |
109 "disabled-by-default-test1,disabled-by-default-test2") | |
110 self.assertEquals(a.IsSubset(b), False) | |
111 | |
112 b = tracing_category_filter.TracingCategoryFilter( | |
113 "disabled-by-default-test1") | |
114 a = tracing_category_filter.TracingCategoryFilter( | |
115 "disabled-by-default-test2") | |
116 self.assertEquals(a.IsSubset(b), False) | |
117 | |
118 def testIsSubsetWithSyntheticDelays(self): | |
119 b = tracing_category_filter.TracingCategoryFilter("DELAY(foo;0.016)") | |
120 a = tracing_category_filter.TracingCategoryFilter("DELAY(foo;0.016)") | |
121 self.assertEquals(a.IsSubset(b), True) | |
122 | |
123 b = tracing_category_filter.TracingCategoryFilter("DELAY(foo;0.016)") | |
124 a = tracing_category_filter.TracingCategoryFilter() | |
125 self.assertEquals(a.IsSubset(b), True) | |
126 | |
127 b = tracing_category_filter.TracingCategoryFilter() | |
128 a = tracing_category_filter.TracingCategoryFilter("DELAY(foo;0.016)") | |
129 self.assertEquals(a.IsSubset(b), False) | |
130 | |
131 b = tracing_category_filter.TracingCategoryFilter("DELAY(foo;0.016)") | |
132 a = tracing_category_filter.TracingCategoryFilter("DELAY(foo;0.032)") | |
133 self.assertEquals(a.IsSubset(b), False) | |
134 | |
135 b = tracing_category_filter.TracingCategoryFilter( | |
136 "DELAY(foo;0.016;static)") | |
137 a = tracing_category_filter.TracingCategoryFilter( | |
138 "DELAY(foo;0.016;oneshot)") | |
139 self.assertEquals(a.IsSubset(b), False) | |
140 | |
141 b = tracing_category_filter.TracingCategoryFilter( | |
142 "DELAY(foo;0.016),DELAY(bar;0.1)") | |
143 a = tracing_category_filter.TracingCategoryFilter( | |
144 "DELAY(bar;0.1),DELAY(foo;0.016)") | |
145 self.assertEquals(a.IsSubset(b), True) | |
146 | |
147 b = tracing_category_filter.TracingCategoryFilter( | |
148 "DELAY(foo;0.016),DELAY(bar;0.1)") | |
149 a = tracing_category_filter.TracingCategoryFilter( | |
150 "DELAY(bar;0.1)") | |
151 self.assertEquals(a.IsSubset(b), True) | |
152 | |
153 b = tracing_category_filter.TracingCategoryFilter( | |
154 "DELAY(foo;0.016),DELAY(bar;0.1)") | |
155 a = tracing_category_filter.TracingCategoryFilter( | |
156 "DELAY(foo;0.032),DELAY(bar;0.1)") | |
157 self.assertEquals(a.IsSubset(b), False) | |
OLD | NEW |