From e4e13d574a758a8917375332e7db8b00211c9d89 Mon Sep 17 00:00:00 2001 From: Antonio Valentino Date: Thu, 8 Aug 2024 20:00:42 +0200 Subject: [PATCH] Fix compatibility with i386 --- tests/backends/sqlalchemy/test_evaluate.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/tests/backends/sqlalchemy/test_evaluate.py b/tests/backends/sqlalchemy/test_evaluate.py index b3c955a..0e78bb9 100644 --- a/tests/backends/sqlalchemy/test_evaluate.py +++ b/tests/backends/sqlalchemy/test_evaluate.py @@ -22,6 +22,18 @@ Base = declarative_base() +mod_spatialite = ctypes.util.find_library("mod_spatialite") +if not mod_spatialite: + import pathlib + matches = list(pathlib.Path("/usr/lib").glob("*/mod_spatialite.so")) + if matches: + mod_spatialite = str(matches[0]) + +import pytest +pytestmark = pytest.mark.skipif( + not mod_spatialite, reason="mod_spatialite.so not available" +) + class Record(Base): __tablename__ = "record" @@ -70,10 +82,7 @@ class RecordMeta(Base): def load_spatialite(dbapi_conn, connection_record): dbapi_conn.enable_load_extension(True) - dbapi_conn.load_extension( - ctypes.util.find_library("mod_spatialite") - or "/usr/lib/x86_64-linux-gnu/mod_spatialite.so" - ) + dbapi_conn.load_extension(mod_spatialite) @pytest.fixture(scope="session")