summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/string_tests.py2
-rw-r--r--Lib/test/test_bytes.py24
-rw-r--r--Lib/test/test_unicode.py8
-rwxr-xr-xLib/test/test_userstring.py7
-rw-r--r--Misc/NEWS3
5 files changed, 19 insertions, 25 deletions
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index e4688d0..27e4662 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -19,7 +19,7 @@ class BadSeq2(Sequence):
def __init__(self): self.seq = ['a', 'b', 'c']
def __len__(self): return 8
-class BaseTest(unittest.TestCase):
+class BaseTest:
# These tests are for buffers of values (bytes) and not
# specific to character interpretation, used for bytes objects
# and various string implementations
diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py
index f88c242..26cb498 100644
--- a/Lib/test/test_bytes.py
+++ b/Lib/test/test_bytes.py
@@ -38,7 +38,7 @@ class Indexable:
return self.value
-class BaseBytesTest(unittest.TestCase):
+class BaseBytesTest:
def test_basics(self):
b = self.type2test()
@@ -682,7 +682,7 @@ class BaseBytesTest(unittest.TestCase):
x, None, None, None)
-class BytesTest(BaseBytesTest):
+class BytesTest(BaseBytesTest, unittest.TestCase):
type2test = bytes
def test_buffer_is_readonly(self):
@@ -730,7 +730,7 @@ class BytesTest(BaseBytesTest):
b's:cstr')
-class ByteArrayTest(BaseBytesTest):
+class ByteArrayTest(BaseBytesTest, unittest.TestCase):
type2test = bytearray
def test_nohash(self):
@@ -1293,16 +1293,16 @@ class FixedStringTest(test.string_tests.BaseTest):
def test_lower(self):
pass
-class ByteArrayAsStringTest(FixedStringTest):
+class ByteArrayAsStringTest(FixedStringTest, unittest.TestCase):
type2test = bytearray
contains_bytes = True
-class BytesAsStringTest(FixedStringTest):
+class BytesAsStringTest(FixedStringTest, unittest.TestCase):
type2test = bytes
contains_bytes = True
-class SubclassTest(unittest.TestCase):
+class SubclassTest:
def test_basic(self):
self.assertTrue(issubclass(self.subclass2test, self.type2test))
@@ -1374,7 +1374,7 @@ class ByteArraySubclass(bytearray):
class BytesSubclass(bytes):
pass
-class ByteArraySubclassTest(SubclassTest):
+class ByteArraySubclassTest(SubclassTest, unittest.TestCase):
type2test = bytearray
subclass2test = ByteArraySubclass
@@ -1389,16 +1389,10 @@ class ByteArraySubclassTest(SubclassTest):
self.assertEqual(x, b"abcd")
-class BytesSubclassTest(SubclassTest):
+class BytesSubclassTest(SubclassTest, unittest.TestCase):
type2test = bytes
subclass2test = BytesSubclass
-def test_main():
- test.support.run_unittest(
- BytesTest, AssortedBytesTest, BytesAsStringTest,
- ByteArrayTest, ByteArrayAsStringTest, BytesSubclassTest,
- ByteArraySubclassTest, BytearrayPEP3137Test)
-
if __name__ == "__main__":
- test_main()
+ unittest.main()
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index 9aaedd3..8fccab3 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -33,7 +33,8 @@ codecs.register(search_function)
class UnicodeTest(string_tests.CommonTest,
string_tests.MixinStrUnicodeUserStringTest,
- string_tests.MixinStrUnicodeTest):
+ string_tests.MixinStrUnicodeTest,
+ unittest.TestCase):
type2test = str
@@ -2218,8 +2219,5 @@ class StringModuleTest(unittest.TestCase):
self.assertRaises(TypeError, _string.formatter_field_name_split, 1)
-def test_main():
- support.run_unittest(__name__)
-
if __name__ == "__main__":
- test_main()
+ unittest.main()
diff --git a/Lib/test/test_userstring.py b/Lib/test/test_userstring.py
index d5d0c89..71fcac2 100755
--- a/Lib/test/test_userstring.py
+++ b/Lib/test/test_userstring.py
@@ -3,6 +3,7 @@
# UserString instances should behave similar to builtin string objects.
import string
+import unittest
from test import support, string_tests
from collections import UserString
@@ -10,6 +11,7 @@ from collections import UserString
class UserStringTest(
string_tests.CommonTest,
string_tests.MixinStrUnicodeUserStringTest,
+ unittest.TestCase
):
type2test = UserString
@@ -42,8 +44,5 @@ class UserStringTest(
getattr(object, methodname)(*args)
-def test_main():
- support.run_unittest(UserStringTest)
-
if __name__ == "__main__":
- test_main()
+ unittest.main()
diff --git a/Misc/NEWS b/Misc/NEWS
index a70acd9..0c1be46 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -408,6 +408,9 @@ Library
Tests
-----
+- Issue #16910: test_bytes, test_unicode, and test_userstring now work with
+ unittest test discovery. Patch by Zachary Ware.
+
- Issue #16905: test_warnings now works with unittest test discovery.
Initial patch by Berker Peksag.