| 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 |
| 7 from telemetry.core import util | 8 from telemetry.core import util |
| 8 from telemetry.unittest import run_tests | 9 from telemetry.unittest import run_tests |
| 9 | 10 |
| 10 | 11 |
| 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 | |
| 18 class MockPossibleBrowser(object): | 12 class MockPossibleBrowser(object): |
| 19 def __init__(self, browser_type, os_name, os_version_name, | 13 def __init__(self, browser_type, os_name, os_version_name, |
| 20 supports_tab_control): | 14 supports_tab_control): |
| 21 self.browser_type = browser_type | 15 self.browser_type = browser_type |
| 22 self.platform = MockPlatform(os_name, os_version_name) | 16 self.platform = MockPlatform(os_name, os_version_name) |
| 23 self.supports_tab_control = supports_tab_control | 17 self.supports_tab_control = supports_tab_control |
| 24 | 18 |
| 25 | 19 |
| 26 class MockPlatform(object): | 20 class MockPlatform(object): |
| 27 def __init__(self, os_name, os_version_name): | 21 def __init__(self, os_name, os_version_name): |
| 28 self.os_name = os_name | 22 self.os_name = os_name |
| 29 self.os_version_name = os_version_name | 23 self.os_version_name = os_version_name |
| 30 | 24 |
| 31 def GetOSName(self): | 25 def GetOSName(self): |
| 32 return self.os_name | 26 return self.os_name |
| 33 | 27 |
| 34 def GetOSVersionName(self): | 28 def GetOSVersionName(self): |
| 35 return self.os_version_name | 29 return self.os_version_name |
| 36 | 30 |
| 37 | 31 |
| 38 class RunTestsUnitTest(unittest.TestCase): | 32 class RunTestsUnitTest(unittest.TestCase): |
| 39 | 33 |
| 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 |
| 40 def _GetEnabledTests(self, browser_type, os_name, os_version_name, | 39 def _GetEnabledTests(self, browser_type, os_name, os_version_name, |
| 41 supports_tab_control): | 40 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)) |
| 42 | 46 |
| 43 runner = run_tests.typ.Runner() | 47 enabled_tests = set() |
| 44 host = runner.host | 48 for i in run_tests.FilterSuite(self.suite, MockPredicate)._tests: |
| 45 runner.top_level_dir = util.GetTelemetryDir() | 49 for j in i: |
| 46 runner.args.tests = [host.join(util.GetTelemetryDir(), | 50 for k in j: |
| 47 'telemetry', 'unittest', 'disabled_cases.py')] | 51 enabled_tests.add(k._testMethodName) |
| 48 possible_browser = MockPossibleBrowser( | 52 return enabled_tests |
| 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 |