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

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

Issue 23458027: Restore logging level after test is finished. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 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 logging 4 import logging
5 import unittest 5 import unittest
6 6
7 from telemetry.core import browser_options 7 from telemetry.core import browser_options
8 from telemetry.core import discover 8 from telemetry.core import discover
9 from telemetry.core import util 9 from telemetry.core import util
10 from telemetry.unittest import gtest_testrunner 10 from telemetry.unittest import gtest_testrunner
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 return True 76 return True
77 77
78 filtered_suite = FilterSuite(suite, IsTestSelected) 78 filtered_suite = FilterSuite(suite, IsTestSelected)
79 test_result = runner.run(filtered_suite) 79 test_result = runner.run(filtered_suite)
80 return test_result 80 return test_result
81 81
82 82
83 def Main(args, start_dir, top_level_dir, runner=None): 83 def Main(args, start_dir, top_level_dir, runner=None):
84 """Unit test suite that collects all test cases for telemetry.""" 84 """Unit test suite that collects all test cases for telemetry."""
85 # Cache the current logging level, this needs to be done before calling
86 # parser.parse_args, which changes logging level based on verbosity setting.
87 logging_level = logging.getLogger().getEffectiveLevel()
85 # Add unittest_data to the path so we can import packages from it. 88 # Add unittest_data to the path so we can import packages from it.
86 util.AddDirToPythonPath(util.GetUnittestDataDir()) 89 util.AddDirToPythonPath(util.GetUnittestDataDir())
87 90
88 default_options = browser_options.BrowserFinderOptions() 91 default_options = browser_options.BrowserFinderOptions()
89 default_options.browser_type = 'any' 92 default_options.browser_type = 'any'
90 93
91 parser = default_options.CreateParser('run_tests [options] [test names]') 94 parser = default_options.CreateParser('run_tests [options] [test names]')
92 parser.add_option('--repeat-count', dest='run_test_repeat_count', 95 parser.add_option('--repeat-count', dest='run_test_repeat_count',
93 type='int', default=1, 96 type='int', default=1,
94 help='Repeats each a provided number of times.') 97 help='Repeats each a provided number of times.')
95 parser.add_option('-d', '--also-run-disabled-tests', 98 parser.add_option('-d', '--also-run-disabled-tests',
96 dest='run_disabled_tests', 99 dest='run_disabled_tests',
97 action='store_true', default=False, 100 action='store_true', default=False,
98 help='Also run tests decorated with @DisabledTest.') 101 help='Also run tests decorated with @DisabledTest.')
99 102
100 _, args = parser.parse_args(args) 103 _, args = parser.parse_args(args)
101 104
102 logging_level = logging.getLogger().getEffectiveLevel()
103 if default_options.verbosity == 0: 105 if default_options.verbosity == 0:
104 logging.getLogger().setLevel(logging.WARN) 106 logging.getLogger().setLevel(logging.WARN)
105 107
106 from telemetry.core import browser_finder 108 from telemetry.core import browser_finder
107 try: 109 try:
108 browser_to_create = browser_finder.FindBrowser(default_options) 110 browser_to_create = browser_finder.FindBrowser(default_options)
109 except browser_finder.BrowserFinderException, ex: 111 except browser_finder.BrowserFinderException, ex:
110 logging.error(str(ex)) 112 logging.error(str(ex))
111 return 1 113 return 1
112 114
113 if browser_to_create == None: 115 if browser_to_create == None:
114 logging.error('No browser found of type %s. Cannot run tests.', 116 logging.error('No browser found of type %s. Cannot run tests.',
115 default_options.browser_type) 117 default_options.browser_type)
116 logging.error('Re-run with --browser=list to see available browser types.') 118 logging.error('Re-run with --browser=list to see available browser types.')
117 return 1 119 return 1
118 120
119 options_for_unittests.Set(default_options, 121 options_for_unittests.Set(default_options,
120 browser_to_create.browser_type) 122 browser_to_create.browser_type)
121 try: 123 try:
122 success = True 124 success = True
123 for _ in range( 125 for _ in range(
124 default_options.run_test_repeat_count): # pylint: disable=E1101 126 default_options.run_test_repeat_count): # pylint: disable=E1101
125 success = success and DiscoverAndRunTests( 127 success = success and DiscoverAndRunTests(
126 start_dir, args, top_level_dir, 128 start_dir, args, top_level_dir,
127 runner, default_options.run_disabled_tests) 129 runner, default_options.run_disabled_tests)
128 if success: 130 if success:
129 return 0 131 return 0
130 finally: 132 finally:
131 options_for_unittests.Set(None, None) 133 options_for_unittests.Set(None, None)
132 if default_options.verbosity == 0: 134 # Restore logging level, which may be changed in parser.parse_args.
133 # Restore logging level. 135 logging.getLogger().setLevel(logging_level)
dtu 2013/09/12 21:45:51 Theoretically, you want this try/finally to go aro
dshi 2013/09/13 20:28:34 Done.
134 logging.getLogger().setLevel(logging_level)
135 136
136 return 1 137 return 1
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698