Tests are broken on git master

Bug #1642697 reported by Marius Gedminas
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
requests-mock
Fix Released
High
Jamie Lennox

Bug Description

1. git clone git://git.openstack.org/openstack/requests-mock.git
2. cd requests-mock
3. tox

I get these failures:

GLOB sdist-make: /home/mg/src/requests-mock/setup.py
py34 create: /home/mg/src/requests-mock/.tox/py34
py34 installdeps: -r/home/mg/src/requests-mock/requirements.txt, -r/home/mg/src/requests-mock/test-requirements.txt, pbr
py34 inst: /home/mg/src/requests-mock/.tox/dist/requests-mock-1.1.1.dev7.zip
py34 installed: discover==0.4.0,docutils==0.12,extras==1.0.0,fixtures==3.0.0,Jinja2==2.8,linecache2==1.0.0,MarkupSafe==0.23,mock==2.0.0,pbr==1.10.0,Pygments==2.1.3,python-mimeparse==1.6.0,python-subunit==1.2.0,requests==2.12.1,requests-mock==1.1.1.dev7,six==1.10.0,Sphinx==1.2.3,testrepository==0.0.20,testtools==2.2.0,traceback2==1.4.0,unittest2==1.1.0
py34 runtests: PYTHONHASHSEED='2877257761'
py34 runtests: commands[0] | python setup.py testr
running testr
running=python -m subunit.run discover requests_mock --list
running=python -m subunit.run discover requests_mock --load-list /tmp/tmpbpapxwwy
running=python -m subunit.run discover requests_mock --load-list /tmp/tmpfdijmk_d
running=python -m subunit.run discover requests_mock --load-list /tmp/tmppjq86qst
running=python -m subunit.run discover requests_mock --load-list /tmp/tmphk9fn37y
======================================================================
FAIL: tests.test_mocker.MockerTests.test_real_http
tags: worker-2
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/mg/src/requests-mock/.tox/py34/lib/python3.4/site-packages/mock/mock.py", line 1305, in patched
    return func(*args, **keywargs)
  File "/home/mg/src/requests-mock/requests_mock/mocker.py", line 207, in inner
    return func(*args, **kwargs)
  File "/home/mg/src/requests-mock/requests_mock/tests/test_mocker.py", line 68, in test_real_http
    requests.get(url)
  File "/home/mg/src/requests-mock/.tox/py34/lib/python3.4/site-packages/requests/api.py", line 70, in get
    return request('get', url, params=params, **kwargs)
  File "/home/mg/src/requests-mock/.tox/py34/lib/python3.4/site-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/mg/src/requests-mock/.tox/py34/lib/python3.4/site-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/mg/src/requests-mock/requests_mock/mocker.py", line 100, in _fake_send
    return self._real_send(session, request, **kwargs)
  File "/home/mg/src/requests-mock/.tox/py34/lib/python3.4/site-packages/requests/sessions.py", line 641, in send
    r.content
  File "/home/mg/src/requests-mock/.tox/py34/lib/python3.4/site-packages/requests/models.py", line 772, in content
    self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes()
  File "/home/mg/src/requests-mock/.tox/py34/lib/python3.4/site-packages/requests/models.py", line 705, in generate
    chunk = self.raw.read(chunk_size)
AttributeError: 'FakeHTTPResponse' object has no attribute 'read'
Ran 109 tests in 0.247s
FAILED (id=0, failures=1)
error: testr failed (1)
ERROR: InvocationError: '/home/mg/src/requests-mock/.tox/py34/bin/python setup.py testr'
py27 create: /home/mg/src/requests-mock/.tox/py27
py27 installdeps: -r/home/mg/src/requests-mock/requirements.txt, -r/home/mg/src/requests-mock/test-requirements.txt, pbr
py27 inst: /home/mg/src/requests-mock/.tox/dist/requests-mock-1.1.1.dev7.zip
py27 installed: discover==0.4.0,docutils==0.12,extras==1.0.0,fixtures==3.0.0,funcsigs==1.0.2,Jinja2==2.8,linecache2==1.0.0,MarkupSafe==0.23,mock==2.0.0,pbr==1.10.0,Pygments==2.1.3,python-mimeparse==1.6.0,python-subunit==1.2.0,requests==2.12.1,requests-mock==1.1.1.dev7,six==1.10.0,Sphinx==1.2.3,testrepository==0.0.20,testtools==2.2.0,traceback2==1.4.0,unittest2==1.1.0
py27 runtests: PYTHONHASHSEED='2877257761'
py27 runtests: commands[0] | python setup.py testr
running testr
running=python -m subunit.run discover requests_mock --list
running=python -m subunit.run discover requests_mock --load-list /tmp/tmpu0t8mk
running=python -m subunit.run discover requests_mock --load-list /tmp/tmpNKZKeQ
running=python -m subunit.run discover requests_mock --load-list /tmp/tmpwStpl_
running=python -m subunit.run discover requests_mock --load-list /tmp/tmpctbUr4
======================================================================
FAIL: tests.test_mocker.MockerTests.test_real_http
tags: worker-1
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/mg/src/requests-mock/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched
    return func(*args, **keywargs)
  File "requests_mock/mocker.py", line 207, in inner
    return func(*args, **kwargs)
  File "/home/mg/src/requests-mock/requests_mock/tests/test_mocker.py", line 68, in test_real_http
    requests.get(url)
  File "/home/mg/src/requests-mock/.tox/py27/local/lib/python2.7/site-packages/requests/api.py", line 70, in get
    return request('get', url, params=params, **kwargs)
  File "/home/mg/src/requests-mock/.tox/py27/local/lib/python2.7/site-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/mg/src/requests-mock/.tox/py27/local/lib/python2.7/site-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "requests_mock/mocker.py", line 100, in _fake_send
    return self._real_send(session, request, **kwargs)
  File "/home/mg/src/requests-mock/.tox/py27/local/lib/python2.7/site-packages/requests/sessions.py", line 641, in send
    r.content
  File "/home/mg/src/requests-mock/.tox/py27/local/lib/python2.7/site-packages/requests/models.py", line 772, in content
    self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes()
  File "/home/mg/src/requests-mock/.tox/py27/local/lib/python2.7/site-packages/requests/models.py", line 705, in generate
    chunk = self.raw.read(chunk_size)
AttributeError: 'FakeHTTPResponse' object has no attribute 'read'
Ran 109 tests in 0.159s (-0.086s)
FAILED (id=1, failures=1, skips=1)
error: testr failed (1)
ERROR: InvocationError: '/home/mg/src/requests-mock/.tox/py27/bin/python setup.py testr'
pypy create: /home/mg/src/requests-mock/.tox/pypy
pypy installdeps: -r/home/mg/src/requests-mock/requirements.txt, -r/home/mg/src/requests-mock/test-requirements.txt, pbr
pypy inst: /home/mg/src/requests-mock/.tox/dist/requests-mock-1.1.1.dev7.zip
pypy installed: cffi==1.8.1,discover==0.4.0,docutils==0.12,extras==1.0.0,fixtures==3.0.0,funcsigs==1.0.2,greenlet==0.4.10,Jinja2==2.8,linecache2==1.0.0,MarkupSafe==0.23,mock==2.0.0,pbr==1.10.0,Pygments==2.1.3,python-mimeparse==1.6.0,python-subunit==1.2.0,readline==6.2.4.1,requests==2.12.1,requests-mock==1.1.1.dev7,six==1.10.0,Sphinx==1.2.3,testrepository==0.0.20,testtools==2.2.0,traceback2==1.4.0,unittest2==1.1.0
pypy runtests: PYTHONHASHSEED='2877257761'
pypy runtests: commands[0] | python setup.py testr
running testr
running=python -m subunit.run discover requests_mock --list
running=python -m subunit.run discover requests_mock --load-list /tmp/tmpo9uyDd
running=python -m subunit.run discover requests_mock --load-list /tmp/tmpVSDIE2
running=python -m subunit.run discover requests_mock --load-list /tmp/tmpgBNo1T
running=python -m subunit.run discover requests_mock --load-list /tmp/tmpntuqXc
======================================================================
FAIL: tests.test_mocker.MockerTests.test_real_http
tags: worker-2
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/mg/src/requests-mock/.tox/pypy/site-packages/mock/mock.py", line 1305, in patched
    return func(*args, **keywargs)
  File "requests_mock/mocker.py", line 207, in inner
    return func(*args, **kwargs)
  File "/home/mg/src/requests-mock/requests_mock/tests/test_mocker.py", line 68, in test_real_http
    requests.get(url)
  File "/home/mg/src/requests-mock/.tox/pypy/site-packages/requests/api.py", line 70, in get
    return request('get', url, params=params, **kwargs)
  File "/home/mg/src/requests-mock/.tox/pypy/site-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/mg/src/requests-mock/.tox/pypy/site-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "requests_mock/mocker.py", line 100, in _fake_send
    return self._real_send(session, request, **kwargs)
  File "/home/mg/src/requests-mock/.tox/pypy/site-packages/requests/sessions.py", line 641, in send
    r.content
  File "/home/mg/src/requests-mock/.tox/pypy/site-packages/requests/models.py", line 772, in content
    self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes()
  File "/home/mg/src/requests-mock/.tox/pypy/site-packages/requests/models.py", line 705, in generate
    chunk = self.raw.read(chunk_size)
AttributeError: 'FakeHTTPResponse' object has no attribute 'read'
Ran 109 tests in 0.279s (+0.121s)
FAILED (id=2, failures=1, skips=1)
error: testr failed (1)
ERROR: InvocationError: '/home/mg/src/requests-mock/.tox/pypy/bin/python setup.py testr'
pep8 create: /home/mg/src/requests-mock/.tox/pep8
pep8 installdeps: flake8, -r/home/mg/src/requests-mock/requirements.txt, -r/home/mg/src/requests-mock/test-requirements.txt, pbr
pep8 inst: /home/mg/src/requests-mock/.tox/dist/requests-mock-1.1.1.dev7.zip
pep8 installed: configparser==3.5.0,discover==0.4.0,docutils==0.12,enum34==1.1.6,extras==1.0.0,fixtures==3.0.0,flake8==3.2.0,funcsigs==1.0.2,Jinja2==2.8,linecache2==1.0.0,MarkupSafe==0.23,mccabe==0.5.2,mock==2.0.0,pbr==1.10.0,pycodestyle==2.2.0,pyflakes==1.3.0,Pygments==2.1.3,python-mimeparse==1.6.0,python-subunit==1.2.0,requests==2.12.1,requests-mock==1.1.1.dev7,six==1.10.0,Sphinx==1.2.3,testrepository==0.0.20,testtools==2.2.0,traceback2==1.4.0,unittest2==1.1.0
pep8 runtests: PYTHONHASHSEED='2877257761'
pep8 runtests: commands[0] | flake8 requests_mock
______________________________________________________________________ summary _______________________________________________________________________
ERROR: py34: commands failed
ERROR: py27: commands failed
ERROR: pypy: commands failed
  pep8: commands succeeded

Revision history for this message
Jamie Lennox (jamielennox) wrote :

Thanks for reporting this. It looks like we were always a bit broken here, we were just covered by a except AttributeError that was removed in [1]. I'll fix and release today.

[1] https://github.com/kennethreitz/requests/commit/327512f5ef9eea79a0cb324ba47e7eabf6967b3a

Changed in requests-mock:
status: New → Triaged
importance: Undecided → Critical
assignee: nobody → Jamie Lennox (jamielennox)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to requests-mock (master)

Fix proposed to branch: master
Review: https://review.openstack.org/399288

Changed in requests-mock:
status: Triaged → In Progress
Revision history for this message
Jamie Lennox (jamielennox) wrote :

downgrade to high, doesn't affect people using requests-mock just the requests-mock tests are broken. I'll do a release next week rather than on a Friday.

Changed in requests-mock:
importance: Critical → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to requests-mock (master)

Reviewed: https://review.openstack.org/399288
Committed: https://git.openstack.org/cgit/openstack/requests-mock/commit/?id=81b72f4397c712c74241a74c0effa7da5ddd1f24
Submitter: Jenkins
Branch: master

commit 81b72f4397c712c74241a74c0effa7da5ddd1f24
Author: Jamie Lennox <email address hidden>
Date: Fri Nov 18 09:59:53 2016 +1100

    Use create_response for fake http response in tests

    The old FakeHTTPResponse we're using in the tests is really basic and
    lacks a lot of the information that is expected in a response from an
    adapter. This is a hard problem that we've already solved in the
    create_response function so use that to create a test response instead
    of a custom solution here.

    Change-Id: I2999c9c69b4e9ad895114fab8ae7f8ce275fa2a4
    Closes-Bug: #1642697

Changed in requests-mock:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.