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

Test failures with PROJ 8.0.0 #780

Closed
sebastic opened this issue Feb 21, 2021 · 2 comments
Closed

Test failures with PROJ 8.0.0 #780

sebastic opened this issue Feb 21, 2021 · 2 comments
Labels

Comments

@sebastic
Copy link
Contributor

As reported in Debian Bug #983223, pyproj fails to build with PROJ 8.0.0 due to test failures:

 =================================== FAILURES ===================================
 ___________________________ test_proj_debug_logging ____________________________
 
 capsys = <_pytest.capture.CaptureFixture object at 0x7faa62ca5a00>
 
     def test_proj_debug_logging(capsys):
         with proj_logging_env():
             with pytest.warns(FutureWarning):
                 transformer = Transformer.from_proj("+init=epsg:4326", "+init=epsg:27700")
             transformer.transform(100000, 100000)
             captured = capsys.readouterr()
             if os.environ.get("PROJ_DEBUG") == "3":
                 assert "PROJ_TRACE" in captured.err
                 assert "PROJ_DEBUG" in captured.err
             elif os.environ.get("PROJ_DEBUG") == "2":
                 assert "PROJ_TRACE" not in captured.err
                 assert "PROJ_DEBUG" in captured.err
             else:
 >               assert captured.err == ""
 E               AssertionError: assert 'MainThread:D...id latitude\n' == ''
 E                 + MainThread:DEBUG:PROJ_ERROR: tmerc: Invalid latitude
 E                 + MainThread:DEBUG:PROJ_ERROR: push: Invalid latitude
 
 test/test_datadir.py:240: AssertionError
 ------------------------------ Captured log call -------------------------------
 DEBUG    pyproj:transformer.py:488 PROJ_ERROR: tmerc: Invalid latitude
 DEBUG    pyproj:transformer.py:488 PROJ_ERROR: push: Invalid latitude
 _________________________ test_illegal_transformation __________________________
 
     def test_illegal_transformation():
         # issue 202
         with pytest.warns(FutureWarning):
             p1 = pyproj.Proj(init="epsg:4326")
             p2 = pyproj.Proj(init="epsg:3857")
         with pytest.warns(DeprecationWarning):
             xx, yy = pyproj.transform(
                 p1, p2, (-180, -180, 180, 180, -180), (-90, 90, 90, -90, -90)
             )
 >       assert np.all(np.isinf(xx))
 E       AssertionError: assert False
 E        +  where False = <function all at 0x7faa664ece50>(array([False, False, False, False, False]))
 E        +    where <function all at 0x7faa664ece50> = np.all
 E        +    and   array([False, False, False, False, False]) = <ufunc 'isinf'>((-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244, -20037508.342789244))
 E        +      where <ufunc 'isinf'> = np.isinf
 
 test/test_transformer.py:56: AssertionError
 _ test_repr[7789-8401-<Transformation Transformer: helmert>\nDescription: ITRF2014 to ETRF2014 (2)\nArea of Use:\n- name: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Cypr
 us; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary; Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro; Netherlands; North Macedonia; 
 Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino; Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle of Man; Vatican City State.\n- bounds: (-16.1
 , 32.88, 40.18, 84.17)] _
 
 from_crs = 7789, to_crs = 8401
 expected_repr = '<Transformation Transformer: helmert>\nDescription: ITRF2014 to ETRF2014 (2)\nArea of Use:\n- name: Europe - onshore ...ed Kingdom (UK) including Channel Islands and Isle of Man; Vatican City State.\n- bounds: (-16.1, 3
 2.88, 40.18, 84.17)'
 
     @pytest.mark.parametrize(
         "from_crs, to_crs, expected_repr",
         [
             (
                 7789,
                 8401,
                 (
                     "<Transformation Transformer: helmert>\n"
                     "Description: ITRF2014 to ETRF2014 (2)\n"
                     "Area of Use:\n"
                     "- name: Europe - onshore and offshore: Albania; Andorra; Austria; "
                     "Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Cyprus; Czechia; "
                     "Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; "
                     "Greece; Hungary; Ireland; Italy; Kosovo; Latvia; Liechtenstein; "
                     "Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro; "
                     "Netherlands; North Macedonia; "
                     "Norway including Svalbard and Jan Mayen; "
                     "Poland; Portugal; Romania; San Marino; Serbia; Slovakia; Slovenia; "
                     "Spain; Sweden; Switzerland; "
                     "United Kingdom (UK) including Channel Islands and Isle of Man; "
                     "Vatican City State.\n"
                     "- bounds: (-16.1, 32.88, 40.18, 84.17)"
                 ),
             ),
             (
                 4326,
                 3857,
                 (
                     "<Conversion Transformer: pipeline>\n"
                     "Description: Popular Visualisation Pseudo-Mercator\n"
                     "Area of Use:\n"
                     "- name: World.\n"
                     "- bounds: (-180.0, -90.0, 180.0, 90.0)"
                 ),
             ),
         ],
     )
     def test_repr(from_crs, to_crs, expected_repr):
 >       assert repr(Transformer.from_crs(from_crs, to_crs)) == expected_repr
 E       AssertionError: assert '<Transformat...722623821813)' == '<Transformat...40.18, 84.17)'
 E           <Transformation Transformer: helmert>
 E           Description: ITRF2014 to ETRF2014 (2)
 E           Area of Use:
 E           - name: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary; Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro; Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino; Serbia; Slovakia; Slovenia; Spain; Sweden; S...
 E         
 E         ...Full output truncated (3 lines hidden), use '-vv' to show
 
 test/test_transformer.py:498: AssertionError
 =============================== warnings summary ===============================
 .pybuild/cpython3_3.9_pyproj/build/test/test_datadir.py::test_get_data_dir__from_user[str]
 .pybuild/cpython3_3.9_pyproj/build/test/test_datadir.py::test_get_data_dir__from_user[Path]
 .pybuild/cpython3_3.9_pyproj/build/test/test_datadir.py::test_append_data_dir__internal[str]
 .pybuild/cpython3_3.9_pyproj/build/test/test_datadir.py::test_append_data_dir__internal[Path]
   /build/python-pyproj-3.0.0/.pybuild/cpython3_3.9_pyproj/build/pyproj/datadir.py:37: UserWarning: pyproj unable to set database path.
     _global_context_set_data_dir()
 
 -- Docs: https://docs.pytest.org/en/stable/warnings.html
 =========================== short test summary info ============================
 FAILED test/test_datadir.py::test_proj_debug_logging - AssertionError: assert...
 FAILED test/test_transformer.py::test_illegal_transformation - AssertionError...
 FAILED test/test_transformer.py::test_repr[7789-8401-<Transformation Transformer: helmert>\nDescription: ITRF2014 to ETRF2014 (2)\nArea of Use:\n- name: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary; Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro; Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino; Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle of Man; Vatican City State.\n- bounds: (-16.1, 32.88, 40.18, 84.17)]
 ===== 3 failed, 273 passed, 58 deselected, 4 warnings in 122.49s (0:02:02) =====
@sebastic sebastic added the bug label Feb 21, 2021
@snowman2
Copy link
Member

snowman2 commented Feb 21, 2021

Thanks for the report. Fixes in #750, #774, #776, #779

@snowman2
Copy link
Member

You can skip these tests in the current release to get it to pass with PROJ 8. The failures are okay.

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

2 participants