lucene-pylucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clément Jonglez (Jira) <j...@apache.org>
Subject [jira] [Updated] (PYLUCENE-51) "AttributeError: __module__" when running doctest
Date Thu, 10 Oct 2019 23:22:00 GMT

     [ 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)

Mime
View raw message