diff options
author | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2018-06-05 16:24:18 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-05 16:24:18 (GMT) |
commit | dde9fdbe453925279ac3d2a6a72102f6f9ef247c (patch) | |
tree | ae9970f3597b3ee855a468c49d7007fa6f57ba16 /Lib/test/test_logging.py | |
parent | 9ef1b0690b90c526798b6b3125b0fa7ae98319a2 (diff) | |
download | cpython-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.py | 31 |
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 |