[Python-checkins] gh-98513: Test abstract methods of some `collections` types (#98516)

JelleZijlstra webhook-mailer at python.org
Mon Nov 7 20:48:28 EST 2022


https://github.com/python/cpython/commit/a309ad9f76db4ab9a8f933ab1ffea78ecaca827f
commit: a309ad9f76db4ab9a8f933ab1ffea78ecaca827f
branch: main
author: Nikita Sobolev <mail at sobolevn.me>
committer: JelleZijlstra <jelle.zijlstra at gmail.com>
date: 2022-11-07T17:48:23-08:00
summary:

gh-98513: Test abstract methods of some `collections` types (#98516)

files:
M Lib/test/test_collections.py

diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py
index 35ba5e97528b..bfe18c7fc503 100644
--- a/Lib/test/test_collections.py
+++ b/Lib/test/test_collections.py
@@ -810,6 +810,8 @@ def throw(self, typ, val=None, tb=None):
             def __await__(self):
                 yield
 
+        self.validate_abstract_methods(Awaitable, '__await__')
+
         non_samples = [None, int(), gen(), object()]
         for x in non_samples:
             self.assertNotIsInstance(x, Awaitable)
@@ -860,6 +862,8 @@ def throw(self, typ, val=None, tb=None):
             def __await__(self):
                 yield
 
+        self.validate_abstract_methods(Coroutine, '__await__', 'send', 'throw')
+
         non_samples = [None, int(), gen(), object(), Bar()]
         for x in non_samples:
             self.assertNotIsInstance(x, Coroutine)
@@ -1943,6 +1947,7 @@ def test_ByteString(self):
             self.assertFalse(issubclass(sample, ByteString))
         self.assertNotIsInstance(memoryview(b""), ByteString)
         self.assertFalse(issubclass(memoryview, ByteString))
+        self.validate_abstract_methods(ByteString, '__getitem__', '__len__')
 
     def test_MutableSequence(self):
         for sample in [tuple, str, bytes]:



More information about the Python-checkins mailing list