summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorChris Jerdonek <chris.jerdonek@gmail.com>2021-08-09 13:18:51 -0400
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-08-24 09:23:01 +0200
commitb263f4b69db4093847ccc3b85e51cc7f3759e42c (patch)
tree1c20b6a8ae6fef70164340dd5ac8b37babcec537 /django
parent022d29c934107c515dd6d3181945146a2077bdf0 (diff)
Fixed #32552 -- Added logger argument to DiscoverRunner.
Diffstat (limited to 'django')
-rw-r--r--django/test/runner.py26
1 files changed, 17 insertions, 9 deletions
diff --git a/django/test/runner.py b/django/test/runner.py
index eb5026b212..225bc19b09 100644
--- a/django/test/runner.py
+++ b/django/test/runner.py
@@ -561,7 +561,7 @@ class DiscoverRunner:
reverse=False, debug_mode=False, debug_sql=False, parallel=0,
tags=None, exclude_tags=None, test_name_patterns=None,
pdb=False, buffer=False, enable_faulthandler=True,
- timing=False, shuffle=False, **kwargs):
+ timing=False, shuffle=False, logger=None, **kwargs):
self.pattern = pattern
self.top_level = top_level
@@ -595,6 +595,7 @@ class DiscoverRunner:
}
self.shuffle = shuffle
self._shuffler = None
+ self.logger = logger
@classmethod
def add_arguments(cls, parser):
@@ -677,16 +678,23 @@ class DiscoverRunner:
def log(self, msg, level=None):
"""
- Log the given message at the given logging level.
+ Log the message at the given logging level (the default is INFO).
- A verbosity of 1 logs INFO (the default level) or above, and verbosity
- 2 or higher logs all levels.
+ If a logger isn't set, the message is instead printed to the console,
+ respecting the configured verbosity. A verbosity of 0 prints no output,
+ a verbosity of 1 prints INFO and above, and a verbosity of 2 or higher
+ prints all levels.
"""
- if self.verbosity <= 0 or (
- self.verbosity == 1 and level is not None and level < logging.INFO
- ):
- return
- print(msg)
+ if level is None:
+ level = logging.INFO
+ if self.logger is None:
+ if self.verbosity <= 0 or (
+ self.verbosity == 1 and level < logging.INFO
+ ):
+ return
+ print(msg)
+ else:
+ self.logger.log(level, msg)
def setup_test_environment(self, **kwargs):
setup_test_environment(debug=self.debug_mode)