OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 | 4 |
5 import unittest | 5 import unittest |
6 | 6 |
7 from telemetry import decorators | |
8 from telemetry.core import util | 7 from telemetry.core import util |
9 from telemetry.unittest import run_tests | 8 from telemetry.unittest import run_tests |
10 | 9 |
11 | 10 |
| 11 class MockArgs(object): |
| 12 def __init__(self): |
| 13 self.positional_args = [] |
| 14 self.exact_test_filter = True |
| 15 self.run_disabled_tests = False |
| 16 |
| 17 |
12 class MockPossibleBrowser(object): | 18 class MockPossibleBrowser(object): |
13 def __init__(self, browser_type, os_name, os_version_name, | 19 def __init__(self, browser_type, os_name, os_version_name, |
14 supports_tab_control): | 20 supports_tab_control): |
15 self.browser_type = browser_type | 21 self.browser_type = browser_type |
16 self.platform = MockPlatform(os_name, os_version_name) | 22 self.platform = MockPlatform(os_name, os_version_name) |
17 self.supports_tab_control = supports_tab_control | 23 self.supports_tab_control = supports_tab_control |
18 | 24 |
19 | 25 |
20 class MockPlatform(object): | 26 class MockPlatform(object): |
21 def __init__(self, os_name, os_version_name): | 27 def __init__(self, os_name, os_version_name): |
22 self.os_name = os_name | 28 self.os_name = os_name |
23 self.os_version_name = os_version_name | 29 self.os_version_name = os_version_name |
24 | 30 |
25 def GetOSName(self): | 31 def GetOSName(self): |
26 return self.os_name | 32 return self.os_name |
27 | 33 |
28 def GetOSVersionName(self): | 34 def GetOSVersionName(self): |
29 return self.os_version_name | 35 return self.os_version_name |
30 | 36 |
31 | 37 |
32 class RunTestsUnitTest(unittest.TestCase): | 38 class RunTestsUnitTest(unittest.TestCase): |
33 | 39 |
34 def setUp(self): | |
35 self.suite = unittest.TestSuite() | |
36 self.suite.addTests(run_tests.Discover( | |
37 util.GetTelemetryDir(), util.GetTelemetryDir(), 'disabled_cases.py')) | |
38 | |
39 def _GetEnabledTests(self, browser_type, os_name, os_version_name, | 40 def _GetEnabledTests(self, browser_type, os_name, os_version_name, |
40 supports_tab_control): | 41 supports_tab_control): |
41 # pylint: disable=W0212 | |
42 def MockPredicate(test): | |
43 method = getattr(test, test._testMethodName) | |
44 return decorators.IsEnabled(method, MockPossibleBrowser( | |
45 browser_type, os_name, os_version_name, supports_tab_control)) | |
46 | 42 |
47 enabled_tests = set() | 43 runner = run_tests.typ.Runner() |
48 for i in run_tests.FilterSuite(self.suite, MockPredicate)._tests: | 44 host = runner.host |
49 for j in i: | 45 runner.top_level_dir = util.GetTelemetryDir() |
50 for k in j: | 46 runner.args.tests = [host.join(util.GetTelemetryDir(), |
51 enabled_tests.add(k._testMethodName) | 47 'telemetry', 'unittest', 'disabled_cases.py')] |
52 return enabled_tests | 48 possible_browser = MockPossibleBrowser( |
| 49 browser_type, os_name, os_version_name, supports_tab_control) |
| 50 runner.classifier = run_tests.GetClassifier(MockArgs(), possible_browser) |
| 51 _, test_set = runner.find_tests(runner.args) |
| 52 return set(test.name.split('.')[-1] for test in test_set.parallel_tests) |
53 | 53 |
54 def testSystemMacMavericks(self): | 54 def testSystemMacMavericks(self): |
55 self.assertEquals( | 55 self.assertEquals( |
56 set(['testAllEnabled', | 56 set(['testAllEnabled', |
57 'testMacOnly', | 57 'testMacOnly', |
58 'testMavericksOnly', | 58 'testMavericksOnly', |
59 'testNoChromeOS', | 59 'testNoChromeOS', |
60 'testNoWinLinux', | 60 'testNoWinLinux', |
61 'testSystemOnly', | 61 'testSystemOnly', |
62 'testHasTabs']), | 62 'testHasTabs']), |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 | 97 |
98 def testDoesntHaveTabs(self): | 98 def testDoesntHaveTabs(self): |
99 self.assertEquals( | 99 self.assertEquals( |
100 set(['testAllEnabled', | 100 set(['testAllEnabled', |
101 'testNoChromeOS', | 101 'testNoChromeOS', |
102 'testNoMac', | 102 'testNoMac', |
103 'testNoMavericks', | 103 'testNoMavericks', |
104 'testNoSystem', | 104 'testNoSystem', |
105 'testWinOrLinuxOnly']), | 105 'testWinOrLinuxOnly']), |
106 self._GetEnabledTests('canary', 'win', 'win7', False)) | 106 self._GetEnabledTests('canary', 'win', 'win7', False)) |
OLD | NEW |