Merge lp:~blake-rouse/simplestreams/fix-1523682 into lp:~smoser/simplestreams/trunk

Proposed by Blake Rouse
Status: Merged
Merged at revision: 419
Proposed branch: lp:~blake-rouse/simplestreams/fix-1523682
Merge into: lp:~smoser/simplestreams/trunk
Diff against target: 70 lines (+39/-3)
2 files modified
simplestreams/contentsource.py (+6/-3)
tests/unittests/test_contentsource.py (+33/-0)
To merge this branch: bzr merge lp:~blake-rouse/simplestreams/fix-1523682
Reviewer Review Type Date Requested Status
Scott Moser Pending
Review via email: mp+279821@code.launchpad.net

Commit message

Fix UrlContentSource and FdContentSource read method to work with python3.

To post a comment you must log in.
419. By Blake Rouse

Put back fix.

420. By Blake Rouse

Handle None.

421. By Blake Rouse

Fix divereged.

422. By Blake Rouse

RequestsUrlReader does not handle read(None) correctly in python3.

423. By Blake Rouse

Fix the issue and add tests to prove it.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'simplestreams/contentsource.py'
--- simplestreams/contentsource.py 2015-09-22 20:10:39 +0000
+++ simplestreams/contentsource.py 2015-12-07 22:43:32 +0000
@@ -140,7 +140,12 @@
140 def read(self, size=-1):140 def read(self, size=-1):
141 if self.fd is None:141 if self.fd is None:
142 self.open()142 self.open()
143143 if sys.version_info > (3, 0):
144 if size is not None and size < 0:
145 size = None
146 else:
147 if size is None:
148 size = -1
144 return self.fd.read(size)149 return self.fd.read(size)
145150
146 def set_start_pos(self, offset):151 def set_start_pos(self, offset):
@@ -382,8 +387,6 @@
382 self._read = self.read_raw387 self._read = self.read_raw
383388
384 def read(self, size=-1):389 def read(self, size=-1):
385 if size < 0:
386 size = None
387 return self._read(size)390 return self._read(size)
388391
389 def read_compressed(self, size=None):392 def read_compressed(self, size=None):
390393
=== modified file 'tests/unittests/test_contentsource.py'
--- tests/unittests/test_contentsource.py 2014-07-15 21:35:36 +0000
+++ tests/unittests/test_contentsource.py 2015-12-07 22:43:32 +0000
@@ -33,6 +33,39 @@
33 self.process.kill() # pylint: disable=E110133 self.process.kill() # pylint: disable=E1101
3434
3535
36class TestUrlContentSource(TestCase):
37
38 def setUp(self):
39 self.source = tempfile.mkdtemp()
40 with open(join(self.source, 'foo'), 'wb') as f:
41 f.write(b'hello world\n')
42
43 def tearDown(self):
44 shutil.rmtree(self.source)
45
46 def test_url_read_handles_None(self):
47 with RandomPortServer(self.source) as server:
48 loc = 'http://localhost:%d/foo' % server.port
49 scs = contentsource.UrlContentSource(loc)
50 scs.read(None)
51
52 def test_url_read_handles_negative_size(self):
53 with RandomPortServer(self.source) as server:
54 loc = 'http://localhost:%d/foo' % server.port
55 scs = contentsource.UrlContentSource(loc)
56 scs.read(-1)
57
58 def test_fd_read_handles_None(self):
59 loc = 'file://%s/foo' % self.source
60 scs = contentsource.UrlContentSource(loc)
61 scs.read(None)
62
63 def test_fd_read_handles_negative_size(self):
64 loc = 'file://%s/foo' % self.source
65 scs = contentsource.UrlContentSource(loc)
66 scs.read(-1)
67
68
36class TestResume(TestCase):69class TestResume(TestCase):
37 def setUp(self):70 def setUp(self):
38 self.target = tempfile.mkdtemp()71 self.target = tempfile.mkdtemp()

Subscribers

People subscribed via source and target branches

to all changes: