From ceccc3c0376671ee1da9714bbe15d1fae436c66c Mon Sep 17 00:00:00 2001 From: Jeremy Hylton Date: Wed, 11 Apr 2001 13:53:35 +0000 Subject: [PATCH] Test cases for examples of ext call error handling. Fix to SF bug #414743 based on Michael Hudson's patch #414750. --- Lib/test/output/test_extcall | 5 +++++ Lib/test/test_extcall.py | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/Lib/test/output/test_extcall b/Lib/test/output/test_extcall index 64754cfc811..58f52d4510a 100644 --- a/Lib/test/output/test_extcall +++ b/Lib/test/output/test_extcall @@ -25,7 +25,12 @@ g() got multiple values for keyword argument 'b' f() keywords must be strings h() got an unexpected keyword argument 'e' h() argument after * must be a sequence +dir() argument after * must be a sequence +None object argument after * must be a sequence h() argument after ** must be a dictionary +dir() argument after ** must be a dictionary +None object argument after ** must be a dictionary +dir() got multiple values for keyword argument 'b' 3 512 1 3 3 diff --git a/Lib/test/test_extcall.py b/Lib/test/test_extcall.py index 9e6da626bc4..472090136d5 100644 --- a/Lib/test/test_extcall.py +++ b/Lib/test/test_extcall.py @@ -137,6 +137,20 @@ except TypeError, err: else: 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: @@ -144,6 +158,27 @@ except TypeError, 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