mirror of
https://github.com/python/cpython.git
synced 2025-08-31 14:07:50 +00:00
#16888: merge with 3.3.
This commit is contained in:
commit
e1b0d3e123
2 changed files with 18 additions and 49 deletions
|
@ -31,7 +31,6 @@ class ArraySubclassWithKwargs(array.array):
|
|||
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 @@ class BadConstructorTest(unittest.TestCase):
|
|||
self.assertRaises(TypeError, array.array, 'xx')
|
||||
self.assertRaises(ValueError, array.array, 'x')
|
||||
|
||||
tests.append(BadConstructorTest)
|
||||
|
||||
# Machine format codes.
|
||||
#
|
||||
|
@ -174,10 +172,7 @@ class ArrayReconstructorTest(unittest.TestCase):
|
|||
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 @@ class StringTest(BaseTest):
|
|||
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 @@ class UnicodeTest(StringTest):
|
|||
|
||||
self.assertRaises(TypeError, a.fromunicode)
|
||||
|
||||
tests.append(UnicodeTest)
|
||||
|
||||
class NumberTest(BaseTest):
|
||||
|
||||
def test_extslice(self):
|
||||
|
@ -1216,57 +1209,47 @@ class UnsignedNumberTest(NumberTest):
|
|||
)
|
||||
|
||||
|
||||
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 @@ class FPTest(NumberTest):
|
|||
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 @@ class DoubleTest(FPTest):
|
|||
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()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue