summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_collections.py
diff options
context:
space:
mode:
authorNaris R <nariscatboy@gmail.com>2018-08-30 16:56:14 (GMT)
committerRaymond Hettinger <rhettinger@users.noreply.github.com>2018-08-30 16:56:14 (GMT)
commit1b5f9c9653f348b0aa8b7ca39f8a9361150f7dfc (patch)
treedca9f2435a0fdd8a30e1d3ecc1a3d2e3499379da /Lib/test/test_collections.py
parente6dac0077996b1e1f886f036d6f2606237fa4c85 (diff)
downloadcpython-1b5f9c9653f348b0aa8b7ca39f8a9361150f7dfc.zip
cpython-1b5f9c9653f348b0aa8b7ca39f8a9361150f7dfc.tar.gz
cpython-1b5f9c9653f348b0aa8b7ca39f8a9361150f7dfc.tar.bz2
bpo-34427: Fix infinite loop when calling MutableSequence.extend() on self (GH-8813)
Diffstat (limited to 'Lib/test/test_collections.py')
-rw-r--r--Lib/test/test_collections.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py
index 2099d23..0b7cb58 100644
--- a/Lib/test/test_collections.py
+++ b/Lib/test/test_collections.py
@@ -1721,6 +1721,18 @@ class TestCollectionABCs(ABCTestCase):
mss.clear()
self.assertEqual(len(mss), 0)
+ # issue 34427
+ # extending self should not cause infinite loop
+ items = 'ABCD'
+ mss2 = MutableSequenceSubclass()
+ mss2.extend(items + items)
+ mss.clear()
+ mss.extend(items)
+ mss.extend(mss)
+ self.assertEqual(len(mss), len(mss2))
+ self.assertEqual(list(mss), list(mss2))
+
+
################################################################################
### Counter
################################################################################