New submission from Martin Panter: I am trying to make LZMAFile (which implements BufferedIOBase) use a BufferedReader in read mode. However this broke test_lzma.FileTestCase.test_read1_multistream(), which calls read1() with the default size argument. This is because BufferedReader.read1() does not accept size=-1:
>>> stdin = open(0, "rb", closefd=False) >>> stdin <_io.BufferedReader name=0> >>> stdin.read1() # Parameter is mandatory Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: read1() takes exactly 1 argument (0 given) >>> stdin.read1(-1) # Does not accept the BufferedIOBase default Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: read length must be positive >>> stdin.read1(0) # Technically not positive b'' Also, the BufferedIOBase documentation does not say what the size=-1 value means, only that it reads and returns up to -1 bytes. ---------- components: IO messages: 233794 nosy: vadmium priority: normal severity: normal status: open title: BufferedReader.read1(size) signature incompatible with BufferedIOBase.read1(size=-1) versions: Python 3.4 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue23214> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com