[ https://issues.apache.org/jira/browse/PYLUCENE-51?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Clément Jonglez updated PYLUCENE-51: ------------------------------------ Description: Dear all, I am using the Orekit Python wrapper by [~petrush] . I am running into errors & warnings when trying to run tests with doctest. When collecting tests, it analyzes the classes (all the 1000+ wrapped Java classes it seems) and runs into the following error: {noformat} [...]/lib/python3.7/site-packages/pytest_doctestplus/plugin.py:137: in collect for test in finder.find(module): [...]/lib/python3.7/site-packages/pytest_doctestplus/plugin.py:425: in find extraglobs) [...]/lib/python3.7/doctest.py:932: in find self._find(tests, obj, name, module, source_lines, globs, {}) [...]/lib/python3.7/doctest.py:993: in _find self._from_module(module, val)): [...]/lib/python3.7/doctest.py:960: in _from_module return module._name_ == object._module_ E AttributeError: _module_{noformat} In doctest ([https://github.com/python/cpython/blob/master/Lib/doctest.py#L959]), the `inspect.isclass(object)` condition at line 959 returns `True`, and therefore doctest tries to access the object's `__module__` attribute, which does not seem to exist. Besides, pytest prints a warning for each Java class being wrapped, also because they have no __module__ attribute (this is one example of 1000+ warnings): {noformat} [...]/lib/python3.7/importlib/bootstrap.py:219: DeprecationWarning: builtin type ExtendedKalmanFilter has no __module_ attribute return f(*args, **kwds){noformat} This phenomenon is new because 6 months ago I could run pytest & doctest successfully with Orekit. I could not find which module contains the change that broke stuff since then though. To reproduce the phenomenon, you can check out [https://github.com/GorgiAstro/poliastro/blob/orekit-validation/src/poliastro/tests/tests_twobody/test_propagation.py#L164] I was trying to validate some poliastro features using the Orekit python wrapper. So this code requires poliastro, it is available on conda-forge. Cheers Clément was: Dear all, I am using the Orekit Python wrapper by [~petrush] . I am running into errors & warnings when trying to run tests with doctest. When collecting tests, it analyzes the classes (all the 1000+ wrapped Java classes it seems) and runs into the following error: ``` [...]/lib/python3.7/site-packages/pytest_doctestplus/plugin.py:137: in collect for test in finder.find(module): [...]/lib/python3.7/site-packages/pytest_doctestplus/plugin.py:425: in find extraglobs) [...]/lib/python3.7/doctest.py:932: in find self._find(tests, obj, name, module, source_lines, globs, {}) [...]/lib/python3.7/doctest.py:993: in _find self._from_module(module, val)): [...]/lib/python3.7/doctest.py:960: in _from_module return module.__name__ == object.__module__ E AttributeError: __module__ ``` In doctest (https://github.com/python/cpython/blob/master/Lib/doctest.py#L959), the `inspect.isclass(object)` condition at line 959 returns `True`, and therefore doctest tries to access the object's `__module__` attribute, which does not seem to exist. Besides, pytest prints a warning for each Java class being wrapped, also because they have no __module__ attribute (this is one example of 1000+ warnings): ``` [...]/lib/python3.7/importlib/_bootstrap.py:219: DeprecationWarning: builtin type ExtendedKalmanFilter has no __module__ attribute return f(*args, **kwds) ``` This phenomenon is new because 6 months ago I could run pytest & doctest successfully with Orekit. I could not find which module contains the change that broke stuff since then though. To reproduce the phenomenon, you can check out https://github.com/GorgiAstro/poliastro/blob/orekit-validation/src/poliastro/tests/tests_twobody/test_propagation.py#L164 I was trying to validate some poliastro features using the Orekit python wrapper. So this code requires poliastro, it is available on conda-forge. Cheers Clément > "AttributeError: __module__" when running doctest > ------------------------------------------------- > > Key: PYLUCENE-51 > URL: https://issues.apache.org/jira/browse/PYLUCENE-51 > Project: PyLucene > Issue Type: Bug > Environment: Ubuntu 19.04, Python 3.7 > Reporter: Clément Jonglez > Priority: Major > > Dear all, > I am using the Orekit Python wrapper by [~petrush] . I am running into errors > & warnings when trying to run tests with doctest. When collecting tests, it > analyzes the classes (all the 1000+ wrapped Java classes it seems) and runs > into the following error: > {noformat} > [...]/lib/python3.7/site-packages/pytest_doctestplus/plugin.py:137: in collect > for test in finder.find(module): > [...]/lib/python3.7/site-packages/pytest_doctestplus/plugin.py:425: in find > extraglobs) > [...]/lib/python3.7/doctest.py:932: in find > self._find(tests, obj, name, module, source_lines, globs, {}) > [...]/lib/python3.7/doctest.py:993: in _find > self._from_module(module, val)): > [...]/lib/python3.7/doctest.py:960: in _from_module > return module._name_ == object._module_ > E AttributeError: _module_{noformat} > > In doctest > ([https://github.com/python/cpython/blob/master/Lib/doctest.py#L959]), the > `inspect.isclass(object)` condition at line 959 returns `True`, and therefore > doctest tries to access the object's `__module__` attribute, which does not > seem to exist. > Besides, pytest prints a warning for each Java class being wrapped, also > because they have no __module__ attribute (this is one example of 1000+ > warnings): > {noformat} > [...]/lib/python3.7/importlib/bootstrap.py:219: DeprecationWarning: builtin > type ExtendedKalmanFilter has no __module_ attribute > return f(*args, **kwds){noformat} > This phenomenon is new because 6 months ago I could run pytest & doctest > successfully with Orekit. I could not find which module contains the change > that broke stuff since then though. > To reproduce the phenomenon, you can check out > [https://github.com/GorgiAstro/poliastro/blob/orekit-validation/src/poliastro/tests/tests_twobody/test_propagation.py#L164] > I was trying to validate some poliastro features using the Orekit python > wrapper. So this code requires poliastro, it is available on conda-forge. > Cheers > Clément -- This message was sent by Atlassian Jira (v8.3.4#803005)