[issue23004] mock_open() should allow reading binary data

2015-08-07 Thread R. David Murray
R. David Murray added the comment: splitlines(keepends=True) is not ever equivalent to splitting by just '\n'. I don't know the details here, but switching to that would certainly be a behavior change. (Especially if the code path also applies to non-binary data!): >>> b'abc\nde\r\nf\x1dg'.

[issue23004] mock_open() should allow reading binary data

2015-08-07 Thread Berker Peksag
Berker Peksag added the comment: data_as_list = read_data.splitlines(True) is not actually the equivalent of data_as_list = [l + sep for l in read_data.split(sep)] It will change the behavior of the _iterate_read_data helper. See the comment at https://github.com/python/cpython/blob/78d0

[issue23004] mock_open() should allow reading binary data

2015-08-06 Thread Robert Collins
Robert Collins added the comment: Post merge review: looks like data_as_list = read_data.splitlines(True) would be a little cleaner. -- ___ Python tracker ___

[issue23004] mock_open() should allow reading binary data

2015-08-06 Thread Berker Peksag
Berker Peksag added the comment: Thanks for the patch, Aaron(also thanks to Demian for reviews). I've fixed the merge conflict and added more tests. -- resolution: -> fixed stage: commit review -> resolved status: open -> closed ___ Python tracker

[issue23004] mock_open() should allow reading binary data

2015-08-06 Thread Roundup Robot
Roundup Robot added the comment: New changeset 3d7adf5b3fb3 by Berker Peksag in branch '3.4': Issue #23004: mock_open() now reads binary data correctly when the type of read_data is bytes. https://hg.python.org/cpython/rev/3d7adf5b3fb3 New changeset 526a186de32d by Berker Peksag in branch '3.5'

[issue23004] mock_open() should allow reading binary data

2015-08-06 Thread Berker Peksag
Changes by Berker Peksag : -- assignee: -> berker.peksag ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https

[issue23004] mock_open() should allow reading binary data

2015-07-14 Thread Robert Collins
Changes by Robert Collins : -- nosy: +rbcollins versions: +Python 3.6 ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubsc

[issue23004] mock_open() should allow reading binary data

2015-03-01 Thread Berker Peksag
Berker Peksag added the comment: LGTM. -- components: +Library (Lib) stage: patch review -> commit review ___ Python tracker ___ ___ P

[issue23004] mock_open() should allow reading binary data

2015-02-12 Thread Demian Brecht
Changes by Demian Brecht : -- nosy: -demian.brecht ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mai

[issue23004] mock_open() should allow reading binary data

2014-12-31 Thread Demian Brecht
Demian Brecht added the comment: A few more comments were left in Rietveld for you, likely hidden by spam filters. -- ___ Python tracker ___

[issue23004] mock_open() should allow reading binary data

2014-12-19 Thread Aaron Hill
Aaron Hill added the comment: I've fixed the formatting issues. -- Added file: http://bugs.python.org/file37510/mock-open-allow-binary-data-fix-formatting.patch ___ Python tracker _

[issue23004] mock_open() should allow reading binary data

2014-12-15 Thread Berker Peksag
Changes by Berker Peksag : -- stage: needs patch -> patch review ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue23004] mock_open() should allow reading binary data

2014-12-15 Thread Demian Brecht
Demian Brecht added the comment: Thanks for the updated patch, looks good to me. If you haven't already read it, the patch workflow is here: https://docs.python.org/devguide/patch.html and is the only workflow currently available. -- ___ Python trac

[issue23004] mock_open() should allow reading binary data

2014-12-15 Thread Aaron Hill
Aaron Hill added the comment: I've fixed the issues you pointed out. Is there a better way than uploading a new patch file to make changes? -- Added file: http://bugs.python.org/file37458/mock-open-allow-binary-without-coerce-fixup.patch ___ Python

[issue23004] mock_open() should allow reading binary data

2014-12-14 Thread Demian Brecht
Demian Brecht added the comment: Thanks again for the update Aaron, I've left a couple small comments in Rietveld. Other than those, the patch looks good to me. Thanks for the contribution! -- ___ Python tracker

[issue23004] mock_open() should allow reading binary data

2014-12-14 Thread Aaron Hill
Aaron Hill added the comment: Thanks, I've fixed that. Not sure why I thought decoding and re-encoding would work with any binary data. I've also updated one of the tests to use non-utf8-decodeable binary data, to prevent a future regression. -- Added file: http://bugs.python.org/fil

[issue23004] mock_open() should allow reading binary data

2014-12-13 Thread Demian Brecht
Demian Brecht added the comment: Thanks for the update, but this doesn't quite work either as you're assuming utf-8 (which is what .encode() and .decode() default to). For example, when using latin-1: >>> m = mock_open(read_data= b'\xc6') >>> with patch('__main__.open', m, create=True) : ...

[issue23004] mock_open() should allow reading binary data

2014-12-13 Thread Aaron Hill
Aaron Hill added the comment: I've created a new patch, which addresses the problem. Your example now currently returns [b'foo\n', b'bar\n'] -- Added file: http://bugs.python.org/file37440/mock-open-allow-binary-data-updated.patch ___ Python tracker

[issue23004] mock_open() should allow reading binary data

2014-12-12 Thread Demian Brecht
Demian Brecht added the comment: > There are two problems with the patch That was intended to be removed after I changed the wording :P -- ___ Python tracker ___ ___

[issue23004] mock_open() should allow reading binary data

2014-12-12 Thread Demian Brecht
Demian Brecht added the comment: Thanks for the patch Aaron. Unfortunately this doesn't quite fix the issue. There are two problems with the patch: If a bytes object is passed into mock_open, I'd expect a bytes object in the output. In your patch, not only is this not the case (the output is a

[issue23004] mock_open() should allow reading binary data

2014-12-12 Thread Aaron Hill
Aaron Hill added the comment: I've created a patch that fixes this, and added an accompanying unit test (which fails without the change). -- keywords: +patch nosy: +Aaron1011 Added file: http://bugs.python.org/file37435/mock-open-allow-binary-data.patch

[issue23004] mock_open() should allow reading binary data

2014-12-07 Thread Berker Peksag
Changes by Berker Peksag : -- nosy: +berker.peksag stage: -> needs patch type: -> behavior versions: +Python 3.4 ___ Python tracker ___

[issue23004] mock_open() should allow reading binary data

2014-12-07 Thread Jesús Cea Avión
Changes by Jesús Cea Avión : -- dependencies: +Enhancement: give mock_open readline() and readlines() methods ___ Python tracker ___ _

[issue23004] mock_open() should allow reading binary data

2014-12-07 Thread Jesús Cea Avión
New submission from Jesús Cea Avión: mock_open(read_data=b'...') gives an error: """Traceback (most recent call last): File "z.py", line 6, in print(f.read()) File "/usr/local/lib/python3.4/unittest/mock.py", line 896, in __call__ return _mock_self._mock_call(*args, **kwargs) File