Test cases for examples of ext call error handling.
Fix to SF bug #414743 based on Michael Hudson's patch #414750.
diff --git a/Lib/test/test_extcall.py b/Lib/test/test_extcall.py
index 9e6da62..4720901 100644
--- a/Lib/test/test_extcall.py
+++ b/Lib/test/test_extcall.py
@@ -138,12 +138,47 @@
print "should raise TypeError: * argument must be a tuple"
try:
+ dir(*h)
+except TypeError, err:
+ print err
+else:
+ print "should raise TypeError: * argument must be a tuple"
+
+try:
+ None(*h)
+except TypeError, err:
+ print err
+else:
+ print "should raise TypeError: * argument must be a tuple"
+
+try:
h(**h)
except TypeError, err:
print err
else:
print "should raise TypeError: ** argument must be a dictionary"
+try:
+ dir(**h)
+except TypeError, err:
+ print err
+else:
+ print "should raise TypeError: ** argument must be a dictionary"
+
+try:
+ None(**h)
+except TypeError, err:
+ print err
+else:
+ print "should raise TypeError: ** argument must be a dictionary"
+
+try:
+ dir(b=1,**{'b':1})
+except TypeError, err:
+ print err
+else:
+ print "should raise TypeError: dir() got multiple values for keyword argument 'b'"
+
def f2(*a, **b):
return a, b