Bug 1915665
| Summary: | python-cartopy: FTBFS in Fedora rawhide | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Tomáš Hrnčiar <thrnciar> |
| Component: | python-cartopy | Assignee: | Elliott Sales de Andrade <quantum.analyst> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | josdekloe, python-sig, quantum.analyst |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| URL: | https://koschei.fedoraproject.org/package/python-cartopy | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2021-02-03 06:37:01 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1868278, 1890881 | ||
|
Description
Tomáš Hrnčiar
2021-01-13 08:03:05 UTC
Dear Maintainer, your package has an open Fails To Build From Source bug for Fedora 34. Action is required from you. If you can fix your package to build, perform a build in koji, and either create an update in bodhi, or close this bug without creating an update, if updating is not appropriate [1]. If you are working on a fix, set the status to ASSIGNED to acknowledge this. If you have already fixed this issue, please close this Bugzilla report. Following the policy for such packages [2], your package will be orphaned if this bug remains in NEW state more than 8 weeks (not sooner than 2021-03-10). A week before the mass branching of Fedora 35 according to the schedule [3], any packages not successfully rebuilt at least on Fedora 33 will be retired regardless of the status of this bug. [1] https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/ [2] https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/ [3] https://fedorapeople.org/groups/schedule/f-35/f-35-key-tasks.html Rebuilding python-cartopy-0.18.0-4.fc34.src.rpm using:
mock -r fedora-rawhide-x86_64 --rebuild python-cartopy-0.18.0-4.fc34.src.rpm
I can reproduce the failing testcases locally.
Stepping into the mock-shell and replaying the first test like this:
mock -r fedora-rawhide-x86_64 --no-clean --shell
export PYTHONPATH=/builddir/build/BUILDROOT/python-cartopy-0.18.0-4.fc34.x86_64/usr/lib64/python3.9/site-packages/
import pytest
import cartopy.crs as ccrs
globe = ccrs.Globe(ellipse='WGS84')
with pytest.warns(UserWarning,match='does not handle elliptical globes.') as w:
mill = ccrs.Miller(globe=globe)
print(w._list[0])
print(w._list[1])
shows that there are indeed 2 warnings in w:
{message : DeprecationWarning('`np.float` is a deprecated alias for the builtin `float`. Use `float` by itself, which is identical in behavior, to silence this warning. If you specifically wanted the numpy scalar type, use `np.float_` here.'), category : 'DeprecationWarning', filename : '/builddir/build/BUILDROOT/python-cartopy-0.18.0-4.fc34.x86_64/usr/lib64/python3.9/site-packages/cartopy/crs.py', lineno : 1342, line : None}
{message : UserWarning('The "Miller" projection does not handle elliptical globes.'), category : 'UserWarning', filename : '/builddir/build/BUILDROOT/python-cartopy-0.18.0-4.fc34.x86_64/usr/lib64/python3.9/site-packages/cartopy/crs.py', lineno : 665, line : None}
So it seems the match argument to the pytest.warns function records both the unexpected DeprecationWarning warning and the UserWarning that is to be tested here.
According to https://docs.pytest.org/en/stable/warnings.html#ensuring-function-triggers this setting: warnings.simplefilter("always") is needexd to catch Deprecation warnings, and indeed the method __enter__ of the class WarningsRecorder does execute this setting, see: https://github.com/pytest-dev/pytest/blob/master/src/_pytest/recwarn.py
I am not sure if it is a recent change in the pytest.warns implementation or if it was like this al along, but clearly the DeprecationWarning issued by numpy triggered this test failure, and probably some of the others as well.
Patching lib/cartopy/crs.py and replacing the 10 occurrences of np.float() by a plain float() fixes the first 4 failing tests, executed by cartopy/tests/crs/test_miller.py and cartopy/tests/crs/test_orthographic.py. The other failures remain. Remaining failures are: * tolerance for image comparisions need yet to be widened a bit * tests/mpl/test_gridliner.py::test_grid_labels is suffering from a bug that is not yet fixed upstream. If the main maintainer agrees, I can submit an update that fixes the first 2 issues, and disables the problematic test case. Thanks for taking care of that. |