bpo-34215: Clarify IncompleteReadError message when "expected" is Non… · python/cpython@4498e98 (original) (raw)
3 files changed
lines changed
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -34,8 +34,9 @@ class IncompleteReadError(EOFError): | ||
34 | 34 | - expected: total number of expected bytes (or None if unknown) |
35 | 35 | """ |
36 | 36 | def __init__(self, partial, expected): |
37 | +r_expected = 'undefined' if expected is None else repr(expected) | |
37 | 38 | super().__init__(f'{len(partial)} bytes read on a total of ' |
38 | -f'{expected!r} expected bytes') | |
39 | +f'{r_expected} expected bytes') | |
39 | 40 | self.partial = partial |
40 | 41 | self.expected = expected |
41 | 42 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -452,12 +452,14 @@ def test_readuntil_multi_chunks_1(self): | ||
452 | 452 | |
453 | 453 | def test_readuntil_eof(self): |
454 | 454 | stream = asyncio.StreamReader(loop=self.loop) |
455 | -stream.feed_data(b'some dataAA') | |
455 | +data = b'some dataAA' | |
456 | +stream.feed_data(data) | |
456 | 457 | stream.feed_eof() |
457 | 458 | |
458 | -with self.assertRaises(asyncio.IncompleteReadError) as cm: | |
459 | +with self.assertRaisesRegex(asyncio.IncompleteReadError, | |
460 | +'undefined expected bytes') as cm: | |
459 | 461 | self.loop.run_until_complete(stream.readuntil(b'AAA')) |
460 | -self.assertEqual(cm.exception.partial, b'some dataAA') | |
462 | +self.assertEqual(cm.exception.partial, data) | |
461 | 463 | self.assertIsNone(cm.exception.expected) |
462 | 464 | self.assertEqual(b'', stream._buffer) |
463 | 465 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
1 | +Clarify the error message for :exc:`asyncio.IncompleteReadError` when | |
2 | +``expected`` is ``None``. |