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

Side by Side Diff: tools/telemetry/telemetry/core/discover_unittest.py

Issue 1244223002: Create classes_util API, change discover to return a list instead of a dict. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 4 months 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
« no previous file with comments | « tools/telemetry/telemetry/core/discover.py ('k') | tools/telemetry/telemetry/core/platform.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 import os 4 import os
5 import unittest 5 import unittest
6 6
7 from telemetry.core import discover 7 from telemetry.core import discover
8 from telemetry.core import util 8 from telemetry.core import util
9 9
10 10
11 class DiscoverTest(unittest.TestCase): 11 class DiscoverTest(unittest.TestCase):
12 def setUp(self): 12 def setUp(self):
13 self._base_dir = util.GetUnittestDataDir() 13 self._base_dir = util.GetUnittestDataDir()
14 self._start_dir = os.path.join(self._base_dir, 'discoverable_classes') 14 self._start_dir = os.path.join(self._base_dir, 'discoverable_classes')
15 self._base_class = Exception 15 self._base_class = Exception
16 16
17 def testDiscoverClassesWithDefaults(self):
18 classes = discover.DiscoverClasses(
19 self._start_dir, self._base_dir, self._base_class)
17 20
18 def testDiscoverClassesWithIndexByModuleName(self): 21 actual_classes = list(cls.__name__ for cls in classes)
22 expected_classes = [
23 'DummyException', 'DummyExceptionImpl1', 'DummyExceptionImpl2',
24 'DummyExceptionWithParameterImpl1', 'DummyExceptionWithParameterImpl2'
25 ]
26 self.assertItemsEqual(actual_classes, expected_classes)
27
28
29 def testDiscoverClassesOneClassPerModule(self):
19 classes = discover.DiscoverClasses( 30 classes = discover.DiscoverClasses(
20 self._start_dir, self._base_dir, self._base_class, 31 self._start_dir, self._base_dir, self._base_class,
21 index_by_class_name=False) 32 one_class_per_module=True)
22 33
23 actual_classes = dict( 34 actual_classes = list(cls.__name__ for cls in classes)
24 (name, cls.__name__) for name, cls in classes.iteritems()) 35 expected_classes = ['DummyExceptionImpl1', 'DummyException',
25 expected_classes = { 36 'DummyExceptionWithParameterImpl2']
26 'another_discover_dummyclass': 'DummyExceptionWithParameterImpl1', 37 self.assertItemsEqual(actual_classes, expected_classes)
27 'discover_dummyclass': 'DummyException',
28 'parameter_discover_dummyclass': 'DummyExceptionWithParameterImpl2'
29 }
30 self.assertEqual(actual_classes, expected_classes)
31 38
32 def testDiscoverDirectlyConstructableClassesWithIndexByClassName(self): 39 def testDiscoverDirectlyConstructableClasses(self):
33 classes = discover.DiscoverClasses( 40 classes = discover.DiscoverClasses(
34 self._start_dir, self._base_dir, self._base_class, 41 self._start_dir, self._base_dir, self._base_class,
35 directly_constructable=True) 42 directly_constructable=True)
36 43
37 actual_classes = dict( 44 actual_classes = list(cls.__name__ for cls in classes)
38 (name, cls.__name__) for name, cls in classes.iteritems()) 45 expected_classes = [
39 expected_classes = { 46 'DummyException', 'DummyExceptionImpl1', 'DummyExceptionImpl2'
40 'dummy_exception': 'DummyException', 47 ]
41 'dummy_exception_impl1': 'DummyExceptionImpl1', 48 self.assertItemsEqual(actual_classes, expected_classes)
42 'dummy_exception_impl2': 'DummyExceptionImpl2',
43 }
44 self.assertEqual(actual_classes, expected_classes)
45 49
46 def testDiscoverClassesWithIndexByClassName(self): 50 def testDiscoverOneDirectlyConstructableClassPerModule(self):
47 classes = discover.DiscoverClasses(
48 self._start_dir, self._base_dir, self._base_class)
49
50 actual_classes = dict(
51 (name, cls.__name__) for name, cls in classes.iteritems())
52 expected_classes = {
53 'dummy_exception': 'DummyException',
54 'dummy_exception_impl1': 'DummyExceptionImpl1',
55 'dummy_exception_impl2': 'DummyExceptionImpl2',
56 'dummy_exception_with_parameter_impl1':
57 'DummyExceptionWithParameterImpl1',
58 'dummy_exception_with_parameter_impl2':
59 'DummyExceptionWithParameterImpl2'
60 }
61 self.assertEqual(actual_classes, expected_classes)
62
63
64 def testDiscoverClassesWithPatternAndIndexByModule(self):
65 classes = discover.DiscoverClasses( 51 classes = discover.DiscoverClasses(
66 self._start_dir, self._base_dir, self._base_class, 52 self._start_dir, self._base_dir, self._base_class,
67 pattern='another*', index_by_class_name=False) 53 directly_constructable=True, one_class_per_module=True)
68 54
69 actual_classes = dict( 55 actual_classes = list(cls.__name__ for cls in classes)
70 (name, cls.__name__) for name, cls in classes.iteritems()) 56 expected_classes = ['DummyException', 'DummyExceptionImpl1']
71 expected_classes = { 57 self.assertItemsEqual(actual_classes, expected_classes)
72 'another_discover_dummyclass': 'DummyExceptionWithParameterImpl1'
73 }
74 self.assertEqual(actual_classes, expected_classes)
75 58
76 def testDiscoverDirectlyConstructableClassesWithPatternAndIndexByClassName( 59 def testDiscoverClassesWithPattern(self):
77 self): 60 classes = discover.DiscoverClasses(
61 self._start_dir, self._base_dir, self._base_class,
62 pattern='another*')
63
64 actual_classes = list(cls.__name__ for cls in classes)
65 expected_classes = ['DummyExceptionImpl1', 'DummyExceptionImpl2',
66 'DummyExceptionWithParameterImpl1']
67 self.assertItemsEqual(actual_classes, expected_classes)
68
69 def testDiscoverOneClassPerModuleWithPattern(self):
70 classes = discover.DiscoverClasses(
71 self._start_dir, self._base_dir, self._base_class,
72 pattern='another*', one_class_per_module=True)
73
74 actual_classes = list(cls.__name__ for cls in classes)
75 expected_classes = ['DummyExceptionImpl1']
76 self.assertItemsEqual(actual_classes, expected_classes)
77
78 def testDiscoverDirectlyConstructableClassesWithPattern(self):
78 classes = discover.DiscoverClasses( 79 classes = discover.DiscoverClasses(
79 self._start_dir, self._base_dir, self._base_class, 80 self._start_dir, self._base_dir, self._base_class,
80 pattern='another*', directly_constructable=True) 81 pattern='another*', directly_constructable=True)
81 82
82 actual_classes = dict( 83 actual_classes = list(cls.__name__ for cls in classes)
83 (name, cls.__name__) for name, cls in classes.iteritems()) 84 expected_classes = ['DummyExceptionImpl1', 'DummyExceptionImpl2']
84 expected_classes = { 85 self.assertItemsEqual(actual_classes, expected_classes)
85 'dummy_exception_impl1': 'DummyExceptionImpl1',
86 'dummy_exception_impl2': 'DummyExceptionImpl2',
87 }
88 self.assertEqual(actual_classes, expected_classes)
89 86
90 def testDiscoverClassesWithPatternAndIndexByClassName(self): 87 def testDiscoverOneDirectlyConstructableClassPerModuleWithPattern(self):
91 classes = discover.DiscoverClasses( 88 classes = discover.DiscoverClasses(
92 self._start_dir, self._base_dir, self._base_class, 89 self._start_dir, self._base_dir, self._base_class,
93 pattern='another*') 90 pattern='another*', directly_constructable=True,
91 one_class_per_module=True)
94 92
95 actual_classes = dict( 93 actual_classes = list(cls.__name__ for cls in classes)
96 (name, cls.__name__) for name, cls in classes.iteritems()) 94 expected_classes = ['DummyExceptionImpl1']
97 expected_classes = { 95 self.assertItemsEqual(actual_classes, expected_classes)
98 'dummy_exception_impl1': 'DummyExceptionImpl1',
99 'dummy_exception_impl2': 'DummyExceptionImpl2',
100 'dummy_exception_with_parameter_impl1':
101 'DummyExceptionWithParameterImpl1',
102 }
103 self.assertEqual(actual_classes, expected_classes)
OLDNEW
« no previous file with comments | « tools/telemetry/telemetry/core/discover.py ('k') | tools/telemetry/telemetry/core/platform.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698