New submission from Tymek Wołodźko <[email protected]>:
Nonetheless having several attempts, I wasn't able to create reproducible
example for this bug, but I will try describing it in detail.
I have a package with multiple modules. One of the paths is like
`mymodule.nestedmodule.io`, among other functions, this module contains
functions `foo()` and `bar()`, where `bar()` does call `foo()`. The module
*does not* import base python's `io` module. I have a unit test that patches:
with path('mymodule.nestedmodule.io.foo'):
bar()
The problem is, when running the test I get the following error:
`AttributeError: <module 'io' from '/usr/local/lib/python3.7/io.py'> does not
have the attribute 'foo'`. The problem is solved when I rename `io` to `myio`
and correct all the paths to use the new name.
----------
components: Library (Lib)
messages: 382303
nosy: twolodzko
priority: normal
severity: normal
status: open
title: unittest.patch confuses modules with base modules
type: behavior
versions: Python 3.7
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue42535>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com