From: Priit Laes Date: Sat, 7 Mar 2015 07:40:25 +0000 (+0200) Subject: Add testcase to demonstrate r.iter_lines() reentrancy issue X-Git-Tag: v2.6.0~7^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=62200cb07e76b0b6189bc64d1ca35d43514d0566;p=services%2Fpython-requests.git Add testcase to demonstrate r.iter_lines() reentrancy issue --- diff --git a/test_requests.py b/test_requests.py index 07430a8..15406a2 100755 --- a/test_requests.py +++ b/test_requests.py @@ -1052,6 +1052,23 @@ class RequestsTestCase(unittest.TestCase): assert 'application/json' in r.request.headers['Content-Type'] assert {'life': 42} == r.json()['json'] + def test_response_iter_lines(self): + r = requests.get(httpbin('stream/4'), stream=True) + assert r.status_code == 200 + + it = r.iter_lines() + next(it) + assert len(list(it)) == 3 + + @pytest.mark.xfail + def test_response_iter_lines_reentrant(self): + """Response.iter_lines() is not reentrant safe""" + r = requests.get(httpbin('stream/4'), stream=True) + assert r.status_code == 200 + + next(r.iter_lines()) + assert len(list(r.iter_lines())) == 3 + class TestContentEncodingDetection(unittest.TestCase):