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

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

Issue 1263063003: Revert of 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: 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)
20 17
21 actual_classes = list(cls.__name__ for cls in classes) 18 def testDiscoverClassesWithIndexByModuleName(self):
22 expected_classes = [
23 'DummyException', 'DummyExceptionImpl1', 'DummyExceptionImpl2',
24 'DummyExceptionWithParameterImpl1', 'DummyExceptionWithParameterImpl2'
25 ]
26 self.assertItemsEqual(actual_classes, expected_classes)
27
28
29 def testDiscoverClassesOneClassPerModule(self):
30 classes = discover.DiscoverClasses( 19 classes = discover.DiscoverClasses(
31 self._start_dir, self._base_dir, self._base_class, 20 self._start_dir, self._base_dir, self._base_class,
32 one_class_per_module=True) 21 index_by_class_name=False)
33 22
34 actual_classes = list(cls.__name__ for cls in classes) 23 actual_classes = dict(
35 expected_classes = ['DummyExceptionImpl1', 'DummyException', 24 (name, cls.__name__) for name, cls in classes.iteritems())
36 'DummyExceptionWithParameterImpl2'] 25 expected_classes = {
37 self.assertItemsEqual(actual_classes, expected_classes) 26 'another_discover_dummyclass': 'DummyExceptionWithParameterImpl1',
27 'discover_dummyclass': 'DummyException',
28 'parameter_discover_dummyclass': 'DummyExceptionWithParameterImpl2'
29 }
30 self.assertEqual(actual_classes, expected_classes)
38 31
39 def testDiscoverDirectlyConstructableClasses(self): 32 def testDiscoverDirectlyConstructableClassesWithIndexByClassName(self):
40 classes = discover.DiscoverClasses( 33 classes = discover.DiscoverClasses(
41 self._start_dir, self._base_dir, self._base_class, 34 self._start_dir, self._base_dir, self._base_class,
42 directly_constructable=True) 35 directly_constructable=True)
43 36
44 actual_classes = list(cls.__name__ for cls in classes) 37 actual_classes = dict(
45 expected_classes = [ 38 (name, cls.__name__) for name, cls in classes.iteritems())
46 'DummyException', 'DummyExceptionImpl1', 'DummyExceptionImpl2' 39 expected_classes = {
47 ] 40 'dummy_exception': 'DummyException',
48 self.assertItemsEqual(actual_classes, expected_classes) 41 'dummy_exception_impl1': 'DummyExceptionImpl1',
42 'dummy_exception_impl2': 'DummyExceptionImpl2',
43 }
44 self.assertEqual(actual_classes, expected_classes)
49 45
50 def testDiscoverOneDirectlyConstructableClassPerModule(self): 46 def testDiscoverClassesWithIndexByClassName(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):
51 classes = discover.DiscoverClasses( 65 classes = discover.DiscoverClasses(
52 self._start_dir, self._base_dir, self._base_class, 66 self._start_dir, self._base_dir, self._base_class,
53 directly_constructable=True, one_class_per_module=True) 67 pattern='another*', index_by_class_name=False)
54 68
55 actual_classes = list(cls.__name__ for cls in classes) 69 actual_classes = dict(
56 expected_classes = ['DummyException', 'DummyExceptionImpl1'] 70 (name, cls.__name__) for name, cls in classes.iteritems())
57 self.assertItemsEqual(actual_classes, expected_classes) 71 expected_classes = {
72 'another_discover_dummyclass': 'DummyExceptionWithParameterImpl1'
73 }
74 self.assertEqual(actual_classes, expected_classes)
58 75
59 def testDiscoverClassesWithPattern(self): 76 def testDiscoverDirectlyConstructableClassesWithPatternAndIndexByClassName(
77 self):
78 classes = discover.DiscoverClasses(
79 self._start_dir, self._base_dir, self._base_class,
80 pattern='another*', directly_constructable=True)
81
82 actual_classes = dict(
83 (name, cls.__name__) for name, cls in classes.iteritems())
84 expected_classes = {
85 'dummy_exception_impl1': 'DummyExceptionImpl1',
86 'dummy_exception_impl2': 'DummyExceptionImpl2',
87 }
88 self.assertEqual(actual_classes, expected_classes)
89
90 def testDiscoverClassesWithPatternAndIndexByClassName(self):
60 classes = discover.DiscoverClasses( 91 classes = discover.DiscoverClasses(
61 self._start_dir, self._base_dir, self._base_class, 92 self._start_dir, self._base_dir, self._base_class,
62 pattern='another*') 93 pattern='another*')
63 94
64 actual_classes = list(cls.__name__ for cls in classes) 95 actual_classes = dict(
65 expected_classes = ['DummyExceptionImpl1', 'DummyExceptionImpl2', 96 (name, cls.__name__) for name, cls in classes.iteritems())
66 'DummyExceptionWithParameterImpl1'] 97 expected_classes = {
67 self.assertItemsEqual(actual_classes, expected_classes) 98 'dummy_exception_impl1': 'DummyExceptionImpl1',
68 99 'dummy_exception_impl2': 'DummyExceptionImpl2',
69 def testDiscoverOneClassPerModuleWithPattern(self): 100 'dummy_exception_with_parameter_impl1':
70 classes = discover.DiscoverClasses( 101 'DummyExceptionWithParameterImpl1',
71 self._start_dir, self._base_dir, self._base_class, 102 }
72 pattern='another*', one_class_per_module=True) 103 self.assertEqual(actual_classes, expected_classes)
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):
79 classes = discover.DiscoverClasses(
80 self._start_dir, self._base_dir, self._base_class,
81 pattern='another*', directly_constructable=True)
82
83 actual_classes = list(cls.__name__ for cls in classes)
84 expected_classes = ['DummyExceptionImpl1', 'DummyExceptionImpl2']
85 self.assertItemsEqual(actual_classes, expected_classes)
86
87 def testDiscoverOneDirectlyConstructableClassPerModuleWithPattern(self):
88 classes = discover.DiscoverClasses(
89 self._start_dir, self._base_dir, self._base_class,
90 pattern='another*', directly_constructable=True,
91 one_class_per_module=True)
92
93 actual_classes = list(cls.__name__ for cls in classes)
94 expected_classes = ['DummyExceptionImpl1']
95 self.assertItemsEqual(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