Skip to content

Commit f9bab74

Browse files
bpo-41055: Remove outdated tests for the tp_print slot. (GH-21006)
1 parent 19fcffa commit f9bab74

8 files changed

+4
-157
lines changed

Lib/test/list_tests.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,6 @@ def test_repr_deep(self):
6666
a = self.type2test([a])
6767
self.assertRaises(RecursionError, repr, a)
6868

69-
def test_print(self):
70-
d = self.type2test(range(200))
71-
d.append(d)
72-
d.extend(range(200,400))
73-
d.append(d)
74-
d.append(400)
75-
try:
76-
with open(support.TESTFN, "w") as fo:
77-
fo.write(str(d))
78-
with open(support.TESTFN, "r") as fo:
79-
self.assertEqual(fo.read(), repr(d))
80-
finally:
81-
os.remove(support.TESTFN)
82-
8369
def test_set_subscript(self):
8470
a = self.type2test(range(20))
8571
self.assertRaises(ValueError, a.__setitem__, slice(0, 10, 0), [1,2,3])

Lib/test/test_bool.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,11 @@ class C(bool):
1818

1919
self.assertRaises(TypeError, int.__new__, bool, 0)
2020

21-
def test_print(self):
22-
try:
23-
with open(support.TESTFN, "w") as fo:
24-
print(False, True, file=fo)
25-
with open(support.TESTFN, "r") as fi:
26-
self.assertEqual(fi.read(), 'False True\n')
27-
finally:
28-
os.remove(support.TESTFN)
29-
3021
def test_repr(self):
3122
self.assertEqual(repr(False), 'False')
3223
self.assertEqual(repr(True), 'True')
33-
self.assertEqual(eval(repr(False)), False)
34-
self.assertEqual(eval(repr(True)), True)
24+
self.assertIs(eval(repr(False)), False)
25+
self.assertIs(eval(repr(True)), True)
3526

3627
def test_str(self):
3728
self.assertEqual(str(False), 'False')

Lib/test/test_complex.py

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -500,22 +500,6 @@ def test(v, expected, test_fn=self.assertEqual):
500500
def test_neg(self):
501501
self.assertEqual(-(1+6j), -1-6j)
502502

503-
def test_file(self):
504-
a = 3.33+4.43j
505-
b = 5.1+2.3j
506-
507-
fo = None
508-
try:
509-
fo = open(support.TESTFN, "w")
510-
print(a, b, file=fo)
511-
fo.close()
512-
fo = open(support.TESTFN, "r")
513-
self.assertEqual(fo.read(), ("%s %s\n" % (a, b)))
514-
finally:
515-
if (fo is not None) and (not fo.closed):
516-
fo.close()
517-
support.unlink(support.TESTFN)
518-
519503
def test_getnewargs(self):
520504
self.assertEqual((1+2j).__getnewargs__(), (1.0, 2.0))
521505
self.assertEqual((1-2j).__getnewargs__(), (1.0, -2.0))

Lib/test/test_defaultdict.py

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -72,27 +72,6 @@ def foo(): return 43
7272
d3[13]
7373
self.assertEqual(repr(d3), "defaultdict(%s, {13: 43})" % repr(foo))
7474

75-
def test_print(self):
76-
d1 = defaultdict()
77-
def foo(): return 42
78-
d2 = defaultdict(foo, {1: 2})
79-
# NOTE: We can't use tempfile.[Named]TemporaryFile since this
80-
# code must exercise the tp_print C code, which only gets
81-
# invoked for *real* files.
82-
tfn = tempfile.mktemp()
83-
try:
84-
f = open(tfn, "w+")
85-
try:
86-
print(d1, file=f)
87-
print(d2, file=f)
88-
f.seek(0)
89-
self.assertEqual(f.readline(), repr(d1) + "\n")
90-
self.assertEqual(f.readline(), repr(d2) + "\n")
91-
finally:
92-
f.close()
93-
finally:
94-
os.remove(tfn)
95-
9675
def test_copy(self):
9776
d1 = defaultdict()
9877
d2 = d1.copy()
@@ -160,18 +139,6 @@ def _factory(self):
160139
r"sub\(<bound method .*sub\._factory "
161140
r"of sub\(\.\.\., \{\}\)>, \{\}\)")
162141

163-
# NOTE: printing a subclass of a builtin type does not call its
164-
# tp_print slot. So this part is essentially the same test as above.
165-
tfn = tempfile.mktemp()
166-
try:
167-
f = open(tfn, "w+")
168-
try:
169-
print(d, file=f)
170-
finally:
171-
f.close()
172-
finally:
173-
os.remove(tfn)
174-
175142
def test_callable_arg(self):
176143
self.assertRaises(TypeError, defaultdict, {})
177144

Lib/test/test_deque.py

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -66,28 +66,9 @@ def test_maxlen(self):
6666
self.assertEqual(list(d), [7, 8, 9])
6767
d = deque(range(200), maxlen=10)
6868
d.append(d)
69-
support.unlink(support.TESTFN)
70-
fo = open(support.TESTFN, "w")
71-
try:
72-
fo.write(str(d))
73-
fo.close()
74-
fo = open(support.TESTFN, "r")
75-
self.assertEqual(fo.read(), repr(d))
76-
finally:
77-
fo.close()
78-
support.unlink(support.TESTFN)
79-
69+
self.assertEqual(repr(d)[-30:], ', 198, 199, [...]], maxlen=10)')
8070
d = deque(range(10), maxlen=None)
8171
self.assertEqual(repr(d), 'deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])')
82-
fo = open(support.TESTFN, "w")
83-
try:
84-
fo.write(str(d))
85-
fo.close()
86-
fo = open(support.TESTFN, "r")
87-
self.assertEqual(fo.read(), repr(d))
88-
finally:
89-
fo.close()
90-
support.unlink(support.TESTFN)
9172

9273
def test_maxlen_zero(self):
9374
it = iter(range(100))
@@ -545,21 +526,7 @@ def test_repr(self):
545526
e = eval(repr(d))
546527
self.assertEqual(list(d), list(e))
547528
d.append(d)
548-
self.assertIn('...', repr(d))
549-
550-
def test_print(self):
551-
d = deque(range(200))
552-
d.append(d)
553-
try:
554-
support.unlink(support.TESTFN)
555-
fo = open(support.TESTFN, "w")
556-
print(d, file=fo, end='')
557-
fo.close()
558-
fo = open(support.TESTFN, "r")
559-
self.assertEqual(fo.read(), repr(d))
560-
finally:
561-
fo.close()
562-
support.unlink(support.TESTFN)
529+
self.assertEqual(repr(d)[-20:], '7, 198, 199, [...]])')
563530

564531
def test_init(self):
565532
self.assertRaises(TypeError, deque, 'abc', 2, 3);

Lib/test/test_descr.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3552,13 +3552,6 @@ def __repr__(self):
35523552
self.assertEqual(o.__str__(), '41')
35533553
self.assertEqual(o.__repr__(), 'A repr')
35543554

3555-
capture = io.StringIO()
3556-
# Calling str() or not exercises different internal paths.
3557-
print(o, file=capture)
3558-
print(str(o), file=capture)
3559-
self.assertEqual(capture.getvalue(), '41\n41\n')
3560-
capture.close()
3561-
35623555
def test_keyword_arguments(self):
35633556
# Testing keyword arguments to __init__, __call__...
35643557
def f(a): return a

Lib/test/test_set.py

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -317,20 +317,6 @@ def test_cyclical_repr(self):
317317
name = repr(s).partition('(')[0] # strip class name
318318
self.assertEqual(repr(s), '%s({%s(...)})' % (name, name))
319319

320-
def test_cyclical_print(self):
321-
w = ReprWrapper()
322-
s = self.thetype([w])
323-
w.value = s
324-
fo = open(support.TESTFN, "w")
325-
try:
326-
fo.write(str(s))
327-
fo.close()
328-
fo = open(support.TESTFN, "r")
329-
self.assertEqual(fo.read(), repr(s))
330-
finally:
331-
fo.close()
332-
support.unlink(support.TESTFN)
333-
334320
def test_do_not_rehash_dict_keys(self):
335321
n = 10
336322
d = dict.fromkeys(map(HashCountingInt, range(n)))
@@ -803,17 +789,6 @@ def check_repr_against_values(self):
803789
sorted_repr_values.sort()
804790
self.assertEqual(result, sorted_repr_values)
805791

806-
def test_print(self):
807-
try:
808-
fo = open(support.TESTFN, "w")
809-
fo.write(str(self.set))
810-
fo.close()
811-
fo = open(support.TESTFN, "r")
812-
self.assertEqual(fo.read(), repr(self.set))
813-
finally:
814-
fo.close()
815-
support.unlink(support.TESTFN)
816-
817792
def test_length(self):
818793
self.assertEqual(len(self.set), self.length)
819794

Lib/test/test_unicode.py

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2215,22 +2215,6 @@ def test_concatenation(self):
22152215
self.assertEqual(("abc" "def" "ghi"), "abcdefghi")
22162216
self.assertEqual(("abc" "def" "ghi"), "abcdefghi")
22172217

2218-
def test_printing(self):
2219-
class BitBucket:
2220-
def write(self, text):
2221-
pass
2222-
2223-
out = BitBucket()
2224-
print('abc', file=out)
2225-
print('abc', 'def', file=out)
2226-
print('abc', 'def', file=out)
2227-
print('abc', 'def', file=out)
2228-
print('abc\n', file=out)
2229-
print('abc\n', end=' ', file=out)
2230-
print('abc\n', end=' ', file=out)
2231-
print('def\n', file=out)
2232-
print('def\n', file=out)
2233-
22342218
def test_ucs4(self):
22352219
x = '\U00100000'
22362220
y = x.encode("raw-unicode-escape").decode("raw-unicode-escape")

0 commit comments

Comments
 (0)