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

Side by Side Diff: tools/telemetry/telemetry/unittest/run_tests_unittest.py

Issue 659293003: Switch telemetry over to use typ to run the unit tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@rev_typ_v086
Patch Set: fix merge error in browser_test_case Created 6 years, 1 month 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
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
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))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698