Test exceptional conditions in list.sort()
diff --git a/Lib/test/test_types.py b/Lib/test/test_types.py
index 71e18c4..7f3b923 100644
--- a/Lib/test/test_types.py
+++ b/Lib/test/test_types.py
@@ -353,6 +353,21 @@
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]: