From 6fc36c549183860ba4b1b83cd34a47a51881f8db Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Thu, 13 Jun 2002 22:23:06 +0000 Subject: [PATCH] Test exceptional conditions in list.sort() --- Lib/test/test_types.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Lib/test/test_types.py b/Lib/test/test_types.py index 71e18c4bbd3..7f3b9233638 100644 --- a/Lib/test/test_types.py +++ b/Lib/test/test_types.py @@ -353,6 +353,21 @@ def myComparison(x,y): z = range(12) z.sort(myComparison) +try: z.sort(2) +except TypeError: pass +else: raise TestFailed, 'list sort compare function is not callable' + +def selfmodifyingComparison(x,y): + z[0] = 1 + return cmp(x, y) +try: z.sort(selfmodifyingComparison) +except TypeError: pass +else: raise TestFailed, 'modifying list during sort' + +try: z.sort(lambda x, y: 's') +except TypeError: pass +else: raise TestFailed, 'list sort compare function does not return int' + # Test extreme cases with long ints a = [0,1,2,3,4] if a[ -pow(2,128L): 3 ] != [0,1,2]: