summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorYury Selivanov <yselivanov@sprymix.com>2014-03-27 22:23:03 (GMT)
committerYury Selivanov <yselivanov@sprymix.com>2014-03-27 22:23:03 (GMT)
commitb1d060bf8b017d2a6cf6a0191b1451aeb27a5c03 (patch)
treee19a16da6d5952ecc45403722cc6f3d751320a8b /Lib/test
parent00abf385ac3b4b13aee66cbeb2a33604d8a871f5 (diff)
downloadcpython-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')
-rw-r--r--Lib/test/test_inspect.py8
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):