summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_logging.py
diff options
context:
space:
mode:
authorVinay Sajip <vinay_sajip@yahoo.co.uk>2018-06-05 16:24:18 (GMT)
committerGitHub <noreply@github.com>2018-06-05 16:24:18 (GMT)
commitdde9fdbe453925279ac3d2a6a72102f6f9ef247c (patch)
treeae9970f3597b3ee855a468c49d7007fa6f57ba16 /Lib/test/test_logging.py
parent9ef1b0690b90c526798b6b3125b0fa7ae98319a2 (diff)
downloadcpython-dde9fdbe453925279ac3d2a6a72102f6f9ef247c.zip
cpython-dde9fdbe453925279ac3d2a6a72102f6f9ef247c.tar.gz
cpython-dde9fdbe453925279ac3d2a6a72102f6f9ef247c.tar.bz2
bpo-33165: Added stacklevel parameter to logging APIs. (GH-7424)
Diffstat (limited to 'Lib/test/test_logging.py')
-rw-r--r--Lib/test/test_logging.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index e02bb31..5098866 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -4057,6 +4057,37 @@ class LoggerTest(BaseTest):
self.assertEqual(len(called), 1)
self.assertEqual('Stack (most recent call last):\n', called[0])
+ def test_find_caller_with_stacklevel(self):
+ the_level = 1
+
+ def innermost():
+ self.logger.warning('test', stacklevel=the_level)
+
+ def inner():
+ innermost()
+
+ def outer():
+ inner()
+
+ records = self.recording.records
+ outer()
+ self.assertEqual(records[-1].funcName, 'innermost')
+ lineno = records[-1].lineno
+ the_level += 1
+ outer()
+ self.assertEqual(records[-1].funcName, 'inner')
+ self.assertGreater(records[-1].lineno, lineno)
+ lineno = records[-1].lineno
+ the_level += 1
+ outer()
+ self.assertEqual(records[-1].funcName, 'outer')
+ self.assertGreater(records[-1].lineno, lineno)
+ lineno = records[-1].lineno
+ the_level += 1
+ outer()
+ self.assertEqual(records[-1].funcName, 'test_find_caller_with_stacklevel')
+ self.assertGreater(records[-1].lineno, lineno)
+
def test_make_record_with_extra_overwrite(self):
name = 'my record'
level = 13