Staging
v0.5.1
https://github.com/python/cpython
Revision 12b9fb603eea9298c835bae5b8742db4fa52892e authored by Miss Islington (bot) on 08 December 2018, 11:41:52 UTC, committed by Chris Withers on 08 December 2018, 11:41:52 UTC
* tests: Further validate `wraps` functionality in `unittest.mock.Mock`

Add more tests to validate how `wraps` interacts with other features of
mocks.

* Don't call the wrapped object if `side_effect` is set

When a object is wrapped using `Mock(wraps=...)`, if an user sets a
`side_effect` in one of their methods, return the value of `side_effect`
and don't call the original object.

* Refactor what to be called on `mock_call`

When a `Mock` is called, it should return looking up in the following
order: `side_effect`, `return_value`, `wraps`. If any of the first two
return `mock.DEFAULT`, lookup in the next option.

It makes no sense to check for `wraps` returning default, as it is
supposed to be the original implementation and there is nothing to
fallback to.
(cherry picked from commit f05df0a4b679d0acfd0b1fe6187ba2d553b37afa)

Co-authored-by: Mario Corchero <mariocj89@gmail.com>
1 parent 2d6bc25
History
Tip revision: 12b9fb603eea9298c835bae5b8742db4fa52892e authored by Miss Islington (bot) on 08 December 2018, 11:41:52 UTC
bpo-35330: Don't call the wrapped object if `side_effect` is set (GH11034)
Tip revision: 12b9fb6
File Mode Size
bdist_wininst
clinic
external
icons
WinMain.c -rw-r--r-- 449 bytes
_findvs.cpp -rw-r--r-- 6.5 KB
_msi.c -rw-r--r-- 32.3 KB
_testconsole.c -rw-r--r-- 3.3 KB
config.c -rw-r--r-- 5.2 KB
dl_nt.c -rw-r--r-- 4.6 KB
dllbase_nt.txt -rw-r--r-- 3.5 KB
empty.c -rw-r--r-- 137 bytes
errmap.h -rw-r--r-- 2.1 KB
errmap.mak -rw-r--r-- 95 bytes
frozen_dllmain.c -rw-r--r-- 3.9 KB
generrmap.c -rw-r--r-- 849 bytes
getpathp.c -rw-r--r-- 31.3 KB
invalid_parameter_handler.c -rw-r--r-- 549 bytes
launcher.c -rw-r--r-- 50.1 KB
msvcrtmodule.c -rw-r--r-- 14.8 KB
pyconfig.h -rw-r--r-- 19.3 KB
pylauncher.rc -rw-r--r-- 1.4 KB
pyshellext.cpp -rw-r--r-- 18.3 KB
pyshellext.def -rw-r--r-- 141 bytes
pyshellext.idl -rw-r--r-- 277 bytes
pyshellext.rc -rw-r--r-- 1.1 KB
pyshellext_d.def -rw-r--r-- 143 bytes
python.manifest -rw-r--r-- 1.3 KB
python3.def -rw-r--r-- 40.0 KB
python3dll.c -rw-r--r-- 134 bytes
python_exe.rc -rw-r--r-- 1.2 KB
python_nt.rc -rw-r--r-- 1.2 KB
python_ver_rc.h -rw-r--r-- 970 bytes
pythonw_exe.rc -rw-r--r-- 1.2 KB
readme.txt -rw-r--r-- 3.5 KB
sqlite3.rc -rw-r--r-- 1.3 KB
testpy.py -rw-r--r-- 831 bytes
validate_ucrtbase.py -rw-r--r-- 2.7 KB
winreg.c -rw-r--r-- 59.7 KB
winsound.c -rw-r--r-- 6.5 KB

readme.txt

back to top