Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ModuleNotFoundError with pytest-asyncio #256

Open
PeterJCLaw opened this issue Jul 7, 2024 · 1 comment
Open

ModuleNotFoundError with pytest-asyncio #256

PeterJCLaw opened this issue Jul 7, 2024 · 1 comment
Labels

Comments

@PeterJCLaw
Copy link

PeterJCLaw commented Jul 7, 2024

Thanks for providing this plugin, it looks really useful.

I'm trying to use it in an async project and getting an error which I've pinned down to the combination of this plugin and pytest-asyncio. I admittedly don't know which plugin might need to change here, though given the popularity of async code it would be great if the two worked together.

Reproduce

Create a README.md containing:

``` python
def test():
    pass

```
``` pycon
>>> 1 + 1
2

```

Then run:

$ pip install pytest-asyncio pytest-doctestplus
...
$ pytest --doctest-plus --doctest-glob '*.md'
=========================== test session starts ============================
platform linux -- Python 3.10.12, pytest-8.2.2, pluggy-1.5.0
rootdir: /tmp/bees
plugins: doctestplus-1.2.1, asyncio-0.23.7
asyncio: mode=strict
collected 0 items / 1 error                                                

================================== ERRORS ==================================
________________________ ERROR collecting README.md ________________________
ImportError while importing test module '/tmp/bees/README.md'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
E   ModuleNotFoundError: No module named 'README'
========================= short test summary info ==========================
ERROR README.md
!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!
============================= 1 error in 0.20s =============================

Cross reference: pytest-dev/pytest-asyncio#872

@bsipocz
Copy link
Member

bsipocz commented Jul 15, 2024

OK, I see that the same problem doesn't show when one runs the default doctest, but practically all narrative docs documentation in e.g. astroquery raises a similar namespace error, e.g. one of them

_______________________________________ ERROR collecting docs/xmatch/xmatch.rst ________________________________________
import file mismatch:
imported module 'xmatch' has this __file__ attribute:
  None
which is not the same as the test file we want to collect:
  /Users/bsipocz/munka/devel/astroquery/docs/xmatch/xmatch.rst
HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 87 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
================================================== 87 errors in 1.15s ==================================================

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants