• Aaron Gallagher's avatar
    bpo-29403: Fix mock's broken autospec behavior on method-bound builtin functions (GH-3) · 856cbcc1
    Aaron Gallagher yazdı
    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.
    856cbcc1
Adı
Son kayıt (commit)
Son güncelleme
.github Loading commit data...
Doc Loading commit data...
Grammar Loading commit data...
Include Loading commit data...
Lib Loading commit data...
Mac Loading commit data...
Misc Loading commit data...
Modules Loading commit data...
Objects Loading commit data...
PC Loading commit data...
PCbuild Loading commit data...
Parser Loading commit data...
Programs Loading commit data...
Python Loading commit data...
Tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.hgeol Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
.mention-bot Loading commit data...
.travis.yml Loading commit data...
LICENSE Loading commit data...
Makefile.pre.in Loading commit data...
README.rst Loading commit data...
aclocal.m4 Loading commit data...
config.guess Loading commit data...
config.sub Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...
install-sh Loading commit data...
pyconfig.h.in Loading commit data...
setup.py Loading commit data...