cpython/Lib/unittest/test/testmock
Aaron Gallagher 856cbcc12f bpo-29403: Fix mock's broken autospec behavior on method-bound builtin functions (GH-3)
Cython will, in the right circumstances, offer a MethodType instance
where im_func is a builtin function. Any instance of MethodType is
automatically assumed to be a Python-defined function (more
specifically, a function that has an inspectable signature), but
_set_signature was still conservative in its assumptions. As a result
_set_signature would return early with None instead of a mock since
the im_func had no inspectable signature. This causes problems
deeper inside mock, as _set_signature is assumed to _always_
return a mock, and nothing checked its return value.

In similar corner cases, autospec will simply not check the spec of the
function, so _set_signature is amended to now return early with the
original, not-wrapped mock object.

Patch by Aaron Gallagher.
2017-07-20 03:01:14 +03:00
..
__init__.py
__main__.py
support.py Issue #23277: Remove unused sys and os imports 2016-04-24 07:31:42 +03:00
testcallable.py Issue #27895: Spelling fixes (Contributed by Ville Skyttä). 2016-09-07 12:03:06 +00:00
testhelpers.py bpo-29403: Fix mock's broken autospec behavior on method-bound builtin functions (GH-3) 2017-07-20 03:01:14 +03:00
testmagicmethods.py Issue #23277: Remove unused imports in tests. 2016-04-24 21:41:02 +03:00
testmock.py Issue #28735: Fixed the comparison of mock.MagickMock with mock.ANY. 2017-01-21 23:15:18 +02:00
testpatch.py Fixes issue28380: unittest.mock Mock autospec functions now properly support 2016-10-06 14:31:23 -07:00
testsentinel.py Issue #20804: The unittest.mock.sentinel attributes now preserve their 2017-01-11 20:13:03 +02:00
testwith.py Issue #23004: mock_open() now reads binary data correctly when the type of read_data is bytes. 2015-08-06 13:15:51 +03:00