-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 OK, we got 1.1.1 released today, and now gate is broken in some other wa y:
"ImportError: No module named funcsigs" Apparently there is a missing dependency, or it fails to apply, in the package. I see jobs failing with it, as well as my local tox environment s: http://logs.openstack.org/54/200654/1/gate/gate-neutron-python27/38a0a2c /console.html On 07/10/2015 09:45 AM, Robert Collins wrote: > Good news everybody, mock 1.1.0 is now out. This backports all the > improvements over the last couple of years, making it fully > synchronised with cPython master. Yay. > > Bad news. Lots of unit tests jobs have suffered falled from this. > > But - none of the things I've looked into so far are bugs in mock > 1.1.0. > > One of the improvements in mock is to fail when a bad method is > called. > > Consider this: > https://review.openstack.org/#/c/200384/1/taskflow/tests/unit/test_eng ine_helpers.py > > Note the old method: mock_import.assert_called_onec_with(name) > > That method never existed. onec is a typo :). > > mock 1.0.1 silently accepts that - thats part of its job. But, its > a very fragile API. > > 1.1.0 makes that an error, for methods with assert prefixes - > unless unsafe is specifically requested. So a big chunk of the > failing tests are tests that were not testing anything *at all*. > One common exampled of that is 'assert_called' - another method > that never ever existed. All our tests using that were testing > nothing at all. > > > Neutron is failing on a bunch of tests that accessed a private > function inside mock. I'm surprised reviewers didn't spot this, > but _patch isn't part of the public API, and never was. > > Tempest seems to be failing due to a different object being > returned - I haven't dug deep enough to describe the cause in more > detail. > > We can probably pin mock back to 1.0.1 locally within projects to > gain breathing room, but given the API improvements in 1.1.0 (see > below[1] as readthedocs is failing to build it due to having an old > pip in their virtualenvs :/) - I think we'll be much better off > adopting it as quickly as we can. NB: with this release we don't > need to use 'unittest.mock' for Python3.4 - we can just standardise > on using 'mock' across the board, which is much simpler and easier > to reason about (same codebase everywhere[2]) > > [2]: Python 2.6 support was dropped in 1.1.0, so we need to use > markers to select 1.0.1 for the remaining 2.6 gate jobs. (We > should kill those of asap). [1]: - Issue #23310: Fix MagicMock's > initializer to work with __methods__, just like configure_mock(). > Patch by Kasia Jachim. > > - Issue #23568: Add rdivmod support to MagicMock() objects. Patch > by Håkan Lövdahl. > > - Issue #23581: Add matmul support to MagicMock. Patch by Håkan > Lövdahl. > > - Issue #23326: Removed __ne__ implementations. Since fixing > default __ne__ implementation in issue #21408 they are redundant. > *** NOT BACKPORTED *** > > - Issue #21270: We now override tuple methods in mock.call objects > so that they can be used as normal call attributes. > > - Issue #21256: Printout of keyword args should be in deterministic > order in a mock function call. This will help to write better > doctests. > > - Issue #21262: New method assert_not_called for Mock. It raises > AssertionError if the mock has been called. > > - Issue #21238: New keyword argument `unsafe` to Mock. It raises > `AttributeError` incase of an attribute startswith assert or > assret. > > - Issue #21239: patch.stopall() didn't work deterministically when > the same name was patched more than once. > > - Issue #21222: Passing name keyword argument to > mock.create_autospec now works. > > - Issue #17826: setting an iterable side_effect on a mock function > created by create_autospec now works. Patch by Kushal Das. > > - Issue #17826: setting an iterable side_effect on a mock function > created by create_autospec now works. Patch by Kushal Das. > > - Issue #20968: unittest.mock.MagicMock now supports division. > Patch by Johannes Baiter. > > - Issue #20189: unittest.mock now no longer assumes that any object > for which it could get an inspect.Signature is a callable written > in Python. Fix courtesy of Michael Foord. > > - Issue #17467: add readline and readlines support to mock_open in > unittest.mock. > > - Issue #17015: When it has a spec, a Mock object now inspects its > signature when matching calls, so that arguments can be matched > positionally or by name. > > - Issue #15323: improve failure message of > Mock.assert_called_once_with > > - Issue #14857: fix regression in references to PEP 3135 implicit > __class__ closure variable (Reopens issue #12370) > > - Issue #14295: Add unittest.mock > > > -Rob > > > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJVoEPMAAoJEC5aWaUY1u57+2QH/08O3nuWb0KbONPwmNguYOz4 kW0l28snuvVIiUNDR8wZ5y9g2FGJOhZepAfYd+ufdbQJ74qJLRVt5DAcOjditvh7 O/2GMtKUQbRVOr0ktcfGnncN/VMWsd33secuc3Vj1vREaZDIZpoznpXAZ12bRYuP xiyffLsKnAbWqJWTsVouJ3wVX9Wqmz/87gLIYJBI8mVufN44BE0X1+NqzVcRa2Sg uSCux08ziI73kWX/Qqt9RMyokHsf2mwclN9lZ6ONEk2vou+o13zyVI3wlzbV+wfc LXAdBRZQJZ07VntexyOfp+ddEzdmCrU2ZQWzkLedYQjVVfy+R3BxDzpsjBrTCUs= =RvYx -----END PGP SIGNATURE----- __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev