diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e698e72..6afa5dc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -288,7 +288,6 @@ jobs: --dist-dir=./dist/ \ --runner=${{ matrix.test-config.runner }} \ --rt ${{ matrix.test-config.runtime }} \ - -k "not triangulation and not cartopy" \ packages release: runs-on: ubuntu-latest diff --git a/packages/Cartopy/meta.yaml b/packages/Cartopy/meta.yaml index 4f5a42b..9b23bab 100644 --- a/packages/Cartopy/meta.yaml +++ b/packages/Cartopy/meta.yaml @@ -24,6 +24,7 @@ requirements: - matplotlib - scipy + build: vendor-sharedlib: true script: | diff --git a/packages/Cartopy/test_cartopy.py b/packages/Cartopy/test_cartopy.py index bb32c30..dd88d4b 100644 --- a/packages/Cartopy/test_cartopy.py +++ b/packages/Cartopy/test_cartopy.py @@ -3,6 +3,8 @@ import pytest from pytest_pyodide import run_in_pyodide +from conftest import package_is_built + DECORATORS = [ pytest.mark.xfail_browsers(node="No supported matplotlib backends on node"), pytest.mark.skip_refcount_check, @@ -25,22 +27,28 @@ def test_imports(selenium): @matplotlib_test_decorator -@run_in_pyodide(packages=["Cartopy", "matplotlib", "pyodide-http"]) def test_matplotlib(selenium): - import io + if not package_is_built("pyodide-http"): + pytest.skip("pyodide-http is not built") + + @run_in_pyodide(packages=["Cartopy", "matplotlib", "pyodide-http"]) + def run(selenium): + import io + + import cartopy.crs as ccrs + import matplotlib.pyplot as plt + import pyodide_http - import cartopy.crs as ccrs - import matplotlib.pyplot as plt - import pyodide_http + pyodide_http.patch_all() - pyodide_http.patch_all() + ax = plt.axes(projection=ccrs.PlateCarree()) + ax.coastlines() - ax = plt.axes(projection=ccrs.PlateCarree()) - ax.coastlines() + fd = io.BytesIO() + plt.savefig(fd, format="svg") - fd = io.BytesIO() - plt.savefig(fd, format="svg") + content = fd.getvalue().decode("utf8") + assert len(content) > 100000 + assert content.startswith(" 100000 - assert content.startswith("