New submission from Tymek Wołodźko <twolod...@gmail.com>:

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 <rep...@bugs.python.org>
<https://bugs.python.org/issue42535>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to