diff options
author | Yury Selivanov <yselivanov@sprymix.com> | 2014-03-27 22:23:03 (GMT) |
---|---|---|
committer | Yury Selivanov <yselivanov@sprymix.com> | 2014-03-27 22:23:03 (GMT) |
commit | b1d060bf8b017d2a6cf6a0191b1451aeb27a5c03 (patch) | |
tree | e19a16da6d5952ecc45403722cc6f3d751320a8b /Lib/test/test_inspect.py | |
parent | 00abf385ac3b4b13aee66cbeb2a33604d8a871f5 (diff) | |
download | cpython-b1d060bf8b017d2a6cf6a0191b1451aeb27a5c03.zip cpython-b1d060bf8b017d2a6cf6a0191b1451aeb27a5c03.tar.gz cpython-b1d060bf8b017d2a6cf6a0191b1451aeb27a5c03.tar.bz2 |
inspect: Fix getcallargs() to raise correct TypeError
... for missing keyword-only arguments. Patch by Jeremiah Lowin.
Closes #20816.
Diffstat (limited to 'Lib/test/test_inspect.py')
-rw-r--r-- | Lib/test/test_inspect.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py index 5c6ae39..20f7217 100644 --- a/Lib/test/test_inspect.py +++ b/Lib/test/test_inspect.py @@ -1206,6 +1206,14 @@ class TestGetcallargsFunctions(unittest.TestCase): self.assertEqualException(f3, '1, 2') self.assertEqualException(f3, '1, 2, a=1, b=2') + # issue #20816: getcallargs() fails to iterate over non-existent + # kwonlydefaults and raises a wrong TypeError + def f5(*, a): pass + with self.assertRaisesRegex(TypeError, + 'missing 1 required keyword-only'): + inspect.getcallargs(f5) + + class TestGetcallargsMethods(TestGetcallargsFunctions): def setUp(self): |