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

Unified 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: Clean up the decorator 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/unittest/run_tests.py
diff --git a/tools/telemetry/telemetry/unittest/run_tests.py b/tools/telemetry/telemetry/unittest/run_tests.py
index f38348f066da61d5d810023ac243236dfec1e962..85010839982c017c7caa48bd81ca0a672adcae6b 100644
--- a/tools/telemetry/telemetry/unittest/run_tests.py
+++ b/tools/telemetry/telemetry/unittest/run_tests.py
@@ -80,6 +80,22 @@ def DiscoverAndRunTests(
return test_result
+def RestoreLoggingLevel(func):
+ def _LoggingRestoreWrapper(*args, **kwargs):
+ # Cache the current logging level, this needs to be done before calling
+ # parser.parse_args, which changes logging level based on verbosity
+ # setting.
+ logging_level = logging.getLogger().getEffectiveLevel()
+ try:
+ return func(*args, **kwargs)
+ finally:
+ # Restore logging level, which may be changed in parser.parse_args.
+ logging.getLogger().setLevel(logging_level)
+
+ return _LoggingRestoreWrapper
+
+
+@RestoreLoggingLevel
def Main(args, start_dir, top_level_dir, runner=None):
"""Unit test suite that collects all test cases for telemetry."""
# Add unittest_data to the path so we can import packages from it.
@@ -99,7 +115,6 @@ def Main(args, start_dir, top_level_dir, runner=None):
_, args = parser.parse_args(args)
- logging_level = logging.getLogger().getEffectiveLevel()
if default_options.verbosity == 0:
logging.getLogger().setLevel(logging.WARN)
@@ -129,8 +144,5 @@ def Main(args, start_dir, top_level_dir, runner=None):
return 0
finally:
options_for_unittests.Set(None, None)
- if default_options.verbosity == 0:
- # Restore logging level.
- logging.getLogger().setLevel(logging_level)
return 1
« 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