Skip to content

Commit f23f223

Browse files
committed
[GR-9754] ValueError should be raised, if a list is modified during calling sort method.
PullRequest: graalpython-open/41
2 parents 913eb35 + e661d82 commit f23f223

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

graalpython/com.oracle.graal.python.test/src/tests/list_tests.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import sys
1010
import os
11-
#from functools import cmp_to_key
11+
from functools import cmp_to_key
1212
import seq_tests
1313
#from test import support
1414

@@ -489,8 +489,6 @@ def test_copy(self):
489489

490490
self.assertRaises(TypeError, u.copy, None)
491491

492-
# TODO cmp_to_key is not available yet
493-
'''
494492
def test_sort(self):
495493
u = self.type2test([1, 0])
496494
u.sort()
@@ -538,7 +536,6 @@ def selfmodifyingComparison(x,y):
538536
key=cmp_to_key(selfmodifyingComparison))
539537

540538
self.assertRaises(TypeError, z.sort, 42, 42, 42, 42)
541-
'''
542539

543540
def test_slice(self):
544541
u = self.type2test("spam")

graalpython/lib-graalpython/list.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,10 @@ def sort(self, key=None, reverse=False):
5454
lt = lambda a,b: key(a) < key(b)
5555
else:
5656
lt = lambda a,b: a < b
57+
origLen = len(self)
5758
TimSort(self, lt=lt).sort()
59+
if(origLen != len(self)):
60+
raise ValueError("list modified during sort")
5861
return None
5962

6063

0 commit comments

Comments
 (0)