summaryrefslogtreecommitdiff
path: root/Lib/test/test_extcall.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-09-12 00:52:40 +0300
committerSerhiy Storchaka <storchaka@gmail.com>2016-09-12 00:52:40 +0300
commitb72810583e68531bb4231f42f1ce3ff4c0c9958b (patch)
tree410e81d9e6d1b561ccd96372319e0b5eb53eec34 /Lib/test/test_extcall.py
parent29097d5a6aa13729583f98cd09923f97addb7819 (diff)
downloadcpython-git-b72810583e68531bb4231f42f1ce3ff4c0c9958b.tar.gz
Issue #27213: Fixed different issues with reworked CALL_FUNCTION* opcodes.
* BUILD_TUPLE_UNPACK and BUILD_MAP_UNPACK_WITH_CALL no longer generated with single tuple or dict. * Restored more informative error messages for incorrect var-positional and var-keyword arguments. * Removed code duplications in _PyEval_EvalCodeWithName(). * Removed redundant runtime checks and parameters in _PyStack_AsDict(). * Added a workaround and enabled previously disabled test in test_traceback. * Removed dead code from the dis module.
Diffstat (limited to 'Lib/test/test_extcall.py')
-rw-r--r--Lib/test/test_extcall.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/Lib/test/test_extcall.py b/Lib/test/test_extcall.py
index 55f139304b..5eea37989c 100644
--- a/Lib/test/test_extcall.py
+++ b/Lib/test/test_extcall.py
@@ -118,7 +118,7 @@ Verify clearing of SF bug #733667
>>> g(*Nothing())
Traceback (most recent call last):
...
- TypeError: 'Nothing' object is not iterable
+ TypeError: g() argument after * must be an iterable, not Nothing
>>> class Nothing:
... def __len__(self): return 5
@@ -127,7 +127,7 @@ Verify clearing of SF bug #733667
>>> g(*Nothing())
Traceback (most recent call last):
...
- TypeError: 'Nothing' object is not iterable
+ TypeError: g() argument after * must be an iterable, not Nothing
>>> class Nothing():
... def __len__(self): return 5
@@ -231,32 +231,34 @@ What about willful misconduct?
>>> h(*h)
Traceback (most recent call last):
...
- TypeError: 'function' object is not iterable
+ TypeError: h() argument after * must be an iterable, not function
>>> dir(*h)
Traceback (most recent call last):
...
- TypeError: 'function' object is not iterable
+ TypeError: dir() argument after * must be an iterable, not function
>>> None(*h)
Traceback (most recent call last):
...
- TypeError: 'function' object is not iterable
+ TypeError: NoneType object argument after * must be an iterable, \
+not function
>>> h(**h)
Traceback (most recent call last):
...
- TypeError: 'function' object is not a mapping
+ TypeError: h() argument after ** must be a mapping, not function
>>> dir(**h)
Traceback (most recent call last):
...
- TypeError: 'function' object is not a mapping
+ TypeError: dir() argument after ** must be a mapping, not function
>>> None(**h)
Traceback (most recent call last):
...
- TypeError: 'function' object is not a mapping
+ TypeError: NoneType object argument after ** must be a mapping, \
+not function
>>> dir(b=1, **{'b': 1})
Traceback (most recent call last):