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

Side by Side Diff: appengine/findit/crash/test/flag_manager_test.py

Issue 2593093003: [Predator] Add flag manager and flag manager test. (Closed)
Patch Set: Created 4 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 unified diff | Download patch
OLDNEW
(Empty)
1 # Copyright 2016 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 from crash.flag_manager import Flag
6 from crash.flag_manager import FlagManager
7 from crash.test.stacktrace_test_suite import StacktraceTestSuite
8
9
10 class FlagTest(StacktraceTestSuite):
11
12 def setUp(self):
13 super(FlagTest, self).setUp()
14 self.flag = Flag('test_flag', lambda line: 'turn on flag' in line,
15 val=False)
16
17 def testFlagNameProperty(self):
18 self.assertEqual(self.flag.name, 'test_flag')
19
20 def testFlagValProperty(self):
21 self.assertFalse(self.flag.val)
22 self.flag.val = True
23 self.assertTrue(self.flag.val)
24 self.assertTrue(bool(self.flag))
25
26 def testConditionallyTurOn(self):
27 self.assertFalse(bool(self.flag))
28 self.flag.ConditionallyTurnOn('line: turn on flag')
29 self.assertTrue(bool(self.flag))
30
31
32 class FlagManagerTest(StacktraceTestSuite):
33
34 def setUp(self):
35 super(FlagManagerTest, self).setUp()
36 self.flag_manager = FlagManager()
37
38 def testClearFlags(self):
39 self.flag_manager.Register('test', Flag('test_flag', val=True))
40 self.assertEqual(len(self.flag_manager.flags), 1)
41 self.flag_manager.ClearFlags()
42 self.assertEqual(len(self.flag_manager.flags), 0)
43
44 def testRegister(self):
45 self.flag_manager.Register('dummy', Flag('dummy_flag', val=True))
46 self.assertEqual(len(self.flag_manager.flags), 1)
47
48 def testGetFlagGroup(self):
49 flag = Flag('group_flag', val=True)
50 self.flag_manager.Register('group1', flag)
51 self.flag_manager.Register('group2', flag)
52 self.assertListEqual(self.flag_manager.GetFlagGroup('group1'), [flag])
53 self.assertListEqual(self.flag_manager.GetFlagGroup(), [flag, flag])
54
55 def testReset(self):
56 self.flag_manager.Register('group', Flag('dummy_flag1', val=True))
57 self.flag_manager.Register('group', Flag('dummy_flag2', val=True))
58 self.flag_manager.Reset()
59 for flag in self.flag_manager.GetFlagGroup():
60 self.assertFalse(flag.val)
61
62 def testConditionallyTurOn(self):
63 self.flag_manager.Register(
64 'group',
65 Flag('flag1', condition=lambda line: 'flag1 marker' in line, val=False))
66 self.flag_manager.Register(
67 'group',
68 Flag('flag2', condition=lambda line: 'flag2 marker' in line, val=False))
69 line = 'line: flag1 marker flag2 marker'
70 self.flag_manager.ConditionallyTurnOn(line)
71 self.assertTrue(bool(self.flag_manager.Get('flag1')))
72 self.assertTrue(bool(self.flag_manager.Get('flag2')))
73
74 def testConditionallyTurOnWhenConditionsNotMet(self):
75 self.flag_manager.Register(
76 'group',
77 Flag('flag', condition=lambda line: 'flag marker' in line, val=False))
78 line = 'dummy line'
79 self.flag_manager.ConditionallyTurnOn(line)
80 self.assertFalse(bool(self.flag_manager.Get('flag')))
81
82 def testSetFlagVal(self):
83 self.flag_manager.Register('group', Flag('flag', val=False))
84 self.flag_manager.Set('flag', True)
85 self.flag_manager.Set('non_flag', True)
86 self.assertTrue(self.flag_manager.Get('flag').val)
OLDNEW
« appengine/findit/crash/flag_manager.py ('K') | « appengine/findit/crash/flag_manager.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698