# HG changeset patch # Parent e4db4b3b1547fe60e4e24fa341365de04cf7f720 Issue #19587: Remove masked and redundant tests in test_bytes * test_contains() did not override anything * The other three tests are now run via ByteArrayAsStringTest and BytesAs- StringTest, testing bytes and bytearray * Remove three redundant tests run via BytearrayPEP3137Test, which only tested bytes diff -r e4db4b3b1547 Lib/test/buffer_tests.py --- a/Lib/test/buffer_tests.py Thu Dec 17 10:18:28 2015 +0000 +++ b/Lib/test/buffer_tests.py Thu Dec 17 10:27:29 2015 +0000 @@ -1,11 +1,8 @@ -# Tests that work for both bytes and buffer objects. +# Tests that work for bytes objects. Could be reused to test bytearray. # See PEP 3137. -import struct -import sys - class MixinBytesBufferCommonTests(object): - """Tests that work for both bytes and buffer objects. + """Tests that work for bytes objects. See PEP 3137. """ @@ -88,16 +85,6 @@ self.assertRaises(TypeError, self.marshal(b'abc').isdigit, 42) - def test_lower(self): - self.assertEqual(b'hello', self.marshal(b'HeLLo').lower()) - self.assertEqual(b'hello', self.marshal(b'hello').lower()) - self.assertRaises(TypeError, self.marshal(b'hello').lower, 42) - - def test_upper(self): - self.assertEqual(b'HELLO', self.marshal(b'HeLLo').upper()) - self.assertEqual(b'HELLO', self.marshal(b'HELLO').upper()) - self.assertRaises(TypeError, self.marshal(b'hello').upper, 42) - def test_capitalize(self): self.assertEqual(b' hello ', self.marshal(b' hello ').capitalize()) self.assertEqual(b'Hello ', self.marshal(b'Hello ').capitalize()) @@ -153,35 +140,6 @@ self.assertRaises(TypeError, self.marshal(b'123').zfill) - def test_expandtabs(self): - self.assertEqual(b'abc\rab def\ng hi', - self.marshal(b'abc\rab\tdef\ng\thi').expandtabs()) - self.assertEqual(b'abc\rab def\ng hi', - self.marshal(b'abc\rab\tdef\ng\thi').expandtabs(8)) - self.assertEqual(b'abc\rab def\ng hi', - self.marshal(b'abc\rab\tdef\ng\thi').expandtabs(4)) - self.assertEqual(b'abc\r\nab def\ng hi', - self.marshal(b'abc\r\nab\tdef\ng\thi').expandtabs()) - self.assertEqual(b'abc\r\nab def\ng hi', - self.marshal(b'abc\r\nab\tdef\ng\thi').expandtabs(8)) - self.assertEqual(b'abc\r\nab def\ng hi', - self.marshal(b'abc\r\nab\tdef\ng\thi').expandtabs(4)) - self.assertEqual(b'abc\r\nab\r\ndef\ng\r\nhi', - self.marshal(b'abc\r\nab\r\ndef\ng\r\nhi').expandtabs(4)) - # check keyword args - self.assertEqual(b'abc\rab def\ng hi', - self.marshal(b'abc\rab\tdef\ng\thi').expandtabs(tabsize=8)) - self.assertEqual(b'abc\rab def\ng hi', - self.marshal(b'abc\rab\tdef\ng\thi').expandtabs(tabsize=4)) - - self.assertEqual(b' a\n b', self.marshal(b' \ta\n\tb').expandtabs(1)) - - self.assertRaises(TypeError, self.marshal(b'hello').expandtabs, 42, 42) - # This test is only valid when sizeof(int) == sizeof(void*) == 4. - if sys.maxsize < (1 << 32) and struct.calcsize('P') == 4: - self.assertRaises(OverflowError, - self.marshal(b'\ta\n\tb').expandtabs, sys.maxsize) - def test_title(self): self.assertEqual(b' Hello ', self.marshal(b' hello ').title()) self.assertEqual(b'Hello ', self.marshal(b'hello ').title()) diff -r e4db4b3b1547 Lib/test/string_tests.py --- a/Lib/test/string_tests.py Thu Dec 17 10:18:28 2015 +0000 +++ b/Lib/test/string_tests.py Thu Dec 17 10:27:29 2015 +0000 @@ -1,5 +1,5 @@ """ -Common tests shared by test_unicode, test_userstring and test_string. +Common tests shared by test_unicode, test_userstring and test_bytes. """ import unittest, string, sys, struct @@ -686,8 +686,7 @@ class CommonTest(BaseTest): # This testcase contains tests that can be used in all - # stringlike classes. Currently this is str, unicode - # UserString and the string module. + # stringlike classes. Currently this is str and UserString. def test_hash(self): # SF bug 1054139: += optimization was not invalidating cached hash value @@ -857,8 +856,7 @@ class MixinStrUnicodeUserStringTest: # additional tests that only work for - # stringlike objects, i.e. str, unicode, UserString - # (but not the string module) + # stringlike objects, i.e. str, UserString def test_islower(self): self.checkequal(False, '', 'islower') @@ -1343,7 +1341,7 @@ class MixinStrUnicodeTest: - # Additional tests that only work with str and unicode. + # Additional tests that only work with str. def test_bug1001011(self): # Make sure join returns a NEW object for single item sequences diff -r e4db4b3b1547 Lib/test/test_bytes.py --- a/Lib/test/test_bytes.py Thu Dec 17 10:18:28 2015 +0000 +++ b/Lib/test/test_bytes.py Thu Dec 17 10:27:29 2015 +0000 @@ -1461,24 +1461,11 @@ class FixedStringTest(test.string_tests.BaseTest): - def fixtype(self, obj): if isinstance(obj, str): return obj.encode("utf-8") return super().fixtype(obj) - # Currently the bytes containment testing uses a single integer - # value. This may not be the final design, but until then the - # bytes section with in a bytes containment not valid - def test_contains(self): - pass - def test_expandtabs(self): - pass - def test_upper(self): - pass - def test_lower(self): - pass - class ByteArrayAsStringTest(FixedStringTest, unittest.TestCase): type2test = bytearray contains_bytes = True