[Python-checkins] cpython (3.3): #16888: test_array now works with unittest test discovery. Patch by Zachary
ezio.melotti
python-checkins at python.org
Thu Jan 10 05:06:54 CET 2013
http://hg.python.org/cpython/rev/1538307c06c0
changeset: 81350:1538307c06c0
branch: 3.3
parent: 81348:4976bf1d751c
user: Ezio Melotti <ezio.melotti at gmail.com>
date: Thu Jan 10 06:04:50 2013 +0200
summary:
#16888: test_array now works with unittest test discovery. Patch by Zachary Ware.
files:
Lib/test/test_array.py | 64 +++++++----------------------
Misc/NEWS | 3 +
2 files changed, 18 insertions(+), 49 deletions(-)
diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py
--- a/Lib/test/test_array.py
+++ b/Lib/test/test_array.py
@@ -31,7 +31,6 @@
def __init__(self, typecode, newarg=None):
array.array.__init__(self)
-tests = [] # list to accumulate all tests
typecodes = "ubBhHiIlLfd"
if have_long_long:
typecodes += 'qQ'
@@ -44,7 +43,6 @@
self.assertRaises(TypeError, array.array, 'xx')
self.assertRaises(ValueError, array.array, 'x')
-tests.append(BadConstructorTest)
# Machine format codes.
#
@@ -174,10 +172,7 @@
msg="{0!r} != {1!r}; testcase={2!r}".format(a, b, testcase))
-tests.append(ArrayReconstructorTest)
-
-
-class BaseTest(unittest.TestCase):
+class BaseTest:
# Required class attributes (provided by subclasses
# typecode: the typecode to test
# example: an initializer usable in the constructor for this type
@@ -1036,7 +1031,7 @@
a = array.array(self.typecode, self.example)
self.assertRaises(TypeError, a.__setitem__, 0, self.example[:2])
-class UnicodeTest(StringTest):
+class UnicodeTest(StringTest, unittest.TestCase):
typecode = 'u'
example = '\x01\u263a\x00\ufeff'
smallerexample = '\x01\u263a\x00\ufefe'
@@ -1074,8 +1069,6 @@
self.assertRaises(TypeError, a.fromunicode)
-tests.append(UnicodeTest)
-
class NumberTest(BaseTest):
def test_extslice(self):
@@ -1216,57 +1209,47 @@
)
-class ByteTest(SignedNumberTest):
+class ByteTest(SignedNumberTest, unittest.TestCase):
typecode = 'b'
minitemsize = 1
-tests.append(ByteTest)
-class UnsignedByteTest(UnsignedNumberTest):
+class UnsignedByteTest(UnsignedNumberTest, unittest.TestCase):
typecode = 'B'
minitemsize = 1
-tests.append(UnsignedByteTest)
-class ShortTest(SignedNumberTest):
+class ShortTest(SignedNumberTest, unittest.TestCase):
typecode = 'h'
minitemsize = 2
-tests.append(ShortTest)
-class UnsignedShortTest(UnsignedNumberTest):
+class UnsignedShortTest(UnsignedNumberTest, unittest.TestCase):
typecode = 'H'
minitemsize = 2
-tests.append(UnsignedShortTest)
-class IntTest(SignedNumberTest):
+class IntTest(SignedNumberTest, unittest.TestCase):
typecode = 'i'
minitemsize = 2
-tests.append(IntTest)
-class UnsignedIntTest(UnsignedNumberTest):
+class UnsignedIntTest(UnsignedNumberTest, unittest.TestCase):
typecode = 'I'
minitemsize = 2
-tests.append(UnsignedIntTest)
-class LongTest(SignedNumberTest):
+class LongTest(SignedNumberTest, unittest.TestCase):
typecode = 'l'
minitemsize = 4
-tests.append(LongTest)
-class UnsignedLongTest(UnsignedNumberTest):
+class UnsignedLongTest(UnsignedNumberTest, unittest.TestCase):
typecode = 'L'
minitemsize = 4
-tests.append(UnsignedLongTest)
@unittest.skipIf(not have_long_long, 'need long long support')
-class LongLongTest(SignedNumberTest):
+class LongLongTest(SignedNumberTest, unittest.TestCase):
typecode = 'q'
minitemsize = 8
-tests.append(LongLongTest)
@unittest.skipIf(not have_long_long, 'need long long support')
-class UnsignedLongLongTest(UnsignedNumberTest):
+class UnsignedLongLongTest(UnsignedNumberTest, unittest.TestCase):
typecode = 'Q'
minitemsize = 8
-tests.append(UnsignedLongLongTest)
class FPTest(NumberTest):
example = [-42.0, 0, 42, 1e5, -1e10]
@@ -1293,12 +1276,11 @@
b.byteswap()
self.assertEqual(a, b)
-class FloatTest(FPTest):
+class FloatTest(FPTest, unittest.TestCase):
typecode = 'f'
minitemsize = 4
-tests.append(FloatTest)
-class DoubleTest(FPTest):
+class DoubleTest(FPTest, unittest.TestCase):
typecode = 'd'
minitemsize = 8
@@ -1319,22 +1301,6 @@
else:
self.fail("Array of size > maxsize created - MemoryError expected")
-tests.append(DoubleTest)
-
-def test_main(verbose=None):
- import sys
-
- support.run_unittest(*tests)
-
- # verify reference counting
- if verbose and hasattr(sys, "gettotalrefcount"):
- import gc
- counts = [None] * 5
- for i in range(len(counts)):
- support.run_unittest(*tests)
- gc.collect()
- counts[i] = sys.gettotalrefcount()
- print(counts)
if __name__ == "__main__":
- test_main(verbose=True)
+ unittest.main()
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -408,6 +408,9 @@
Tests
-----
+- Issue #16888: test_array now works with unittest test discovery.
+ Patch by Zachary Ware.
+
- Issue #16896: test_asyncore now works with unittest test discovery.
Patch by Zachary Ware.
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list