summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_iterlen.py46
-rw-r--r--Misc/NEWS3
2 files changed, 17 insertions, 32 deletions
diff --git a/Lib/test/test_iterlen.py b/Lib/test/test_iterlen.py
index 57f7101..152f5fc 100644
--- a/Lib/test/test_iterlen.py
+++ b/Lib/test/test_iterlen.py
@@ -50,7 +50,7 @@ from operator import length_hint
n = 10
-class TestInvariantWithoutMutations(unittest.TestCase):
+class TestInvariantWithoutMutations:
def test_invariant(self):
it = self.it
@@ -77,64 +77,64 @@ class TestTemporarilyImmutable(TestInvariantWithoutMutations):
## ------- Concrete Type Tests -------
-class TestRepeat(TestInvariantWithoutMutations):
+class TestRepeat(TestInvariantWithoutMutations, unittest.TestCase):
def setUp(self):
self.it = repeat(None, n)
-class TestXrange(TestInvariantWithoutMutations):
+class TestXrange(TestInvariantWithoutMutations, unittest.TestCase):
def setUp(self):
self.it = iter(range(n))
-class TestXrangeCustomReversed(TestInvariantWithoutMutations):
+class TestXrangeCustomReversed(TestInvariantWithoutMutations, unittest.TestCase):
def setUp(self):
self.it = reversed(range(n))
-class TestTuple(TestInvariantWithoutMutations):
+class TestTuple(TestInvariantWithoutMutations, unittest.TestCase):
def setUp(self):
self.it = iter(tuple(range(n)))
## ------- Types that should not be mutated during iteration -------
-class TestDeque(TestTemporarilyImmutable):
+class TestDeque(TestTemporarilyImmutable, unittest.TestCase):
def setUp(self):
d = deque(range(n))
self.it = iter(d)
self.mutate = d.pop
-class TestDequeReversed(TestTemporarilyImmutable):
+class TestDequeReversed(TestTemporarilyImmutable, unittest.TestCase):
def setUp(self):
d = deque(range(n))
self.it = reversed(d)
self.mutate = d.pop
-class TestDictKeys(TestTemporarilyImmutable):
+class TestDictKeys(TestTemporarilyImmutable, unittest.TestCase):
def setUp(self):
d = dict.fromkeys(range(n))
self.it = iter(d)
self.mutate = d.popitem
-class TestDictItems(TestTemporarilyImmutable):
+class TestDictItems(TestTemporarilyImmutable, unittest.TestCase):
def setUp(self):
d = dict.fromkeys(range(n))
self.it = iter(d.items())
self.mutate = d.popitem
-class TestDictValues(TestTemporarilyImmutable):
+class TestDictValues(TestTemporarilyImmutable, unittest.TestCase):
def setUp(self):
d = dict.fromkeys(range(n))
self.it = iter(d.values())
self.mutate = d.popitem
-class TestSet(TestTemporarilyImmutable):
+class TestSet(TestTemporarilyImmutable, unittest.TestCase):
def setUp(self):
d = set(range(n))
@@ -143,7 +143,7 @@ class TestSet(TestTemporarilyImmutable):
## ------- Types that can mutate during iteration -------
-class TestList(TestInvariantWithoutMutations):
+class TestList(TestInvariantWithoutMutations, unittest.TestCase):
def setUp(self):
self.it = iter(range(n))
@@ -163,7 +163,7 @@ class TestList(TestInvariantWithoutMutations):
self.assertEqual(length_hint(it), 0)
-class TestListReversed(TestInvariantWithoutMutations):
+class TestListReversed(TestInvariantWithoutMutations, unittest.TestCase):
def setUp(self):
self.it = reversed(range(n))
@@ -225,23 +225,5 @@ class TestLengthHintExceptions(unittest.TestCase):
self.assertEqual(list(NoneLengthHint()), list(range(10)))
-def test_main():
- unittests = [
- TestRepeat,
- TestXrange,
- TestXrangeCustomReversed,
- TestTuple,
- TestDeque,
- TestDequeReversed,
- TestDictKeys,
- TestDictItems,
- TestDictValues,
- TestSet,
- TestList,
- TestListReversed,
- TestLengthHintExceptions,
- ]
- support.run_unittest(*unittests)
-
if __name__ == "__main__":
- test_main()
+ unittest.main()
diff --git a/Misc/NEWS b/Misc/NEWS
index 31166ce..9a5d38d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -119,6 +119,9 @@ Tests
- Issue #12820: add tests for the xml.dom.minicompat module.
Patch by John Chandler and Phil Connell.
+- Issue #17766: test_iterlen now works with unittest test discovery.
+ Patch by Zachary Ware.
+
- Issue #17690: test_time now works with unittest test discovery.
Patch by Zachary Ware.