summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2025-10-15 13:57:09 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2025-10-15 15:04:26 +0200
commit880c8fa088e3d07c0652b1cdb2ba606d08528779 (patch)
tree715a0d13f4508256a2dadf6a90ea9a02044d8a25
parent90f7a21b47a3ed232d1daa54c29c0ad156d860c9 (diff)
Skipped GISFunctionsTests.test_geometry_type() test for MultiPoint on MariaDB and GEOS 3.12+.
GEOSWKTWriter_write() behavior was changed in GEOS 3.12+ to include parentheses for sub-members (https://github.com/libgeos/geos/pull/903). MariaDB doesn't accept WKT representations with additional parentheses for MultiPoint. This is an accepted bug (MDEV-36166) in MariaDB that should be fixed in the future: - https://jira.mariadb.org/browse/MDEV-36166
-rw-r--r--tests/gis_tests/geoapp/test_functions.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/gis_tests/geoapp/test_functions.py b/tests/gis_tests/geoapp/test_functions.py
index daf16ce99d..6f687f5d51 100644
--- a/tests/gis_tests/geoapp/test_functions.py
+++ b/tests/gis_tests/geoapp/test_functions.py
@@ -14,6 +14,7 @@ from django.contrib.gis.geos import (
Polygon,
fromstr,
)
+from django.contrib.gis.geos.libgeos import geos_version_tuple
from django.contrib.gis.measure import Area
from django.db import NotSupportedError, connection
from django.db.models import IntegerField, Sum, Value
@@ -908,7 +909,6 @@ class GISFunctionsTests(FuncTestMixin, TestCase):
Feature(name="Point", geom=Point(0, 0)),
Feature(name="LineString", geom=LineString((0, 0), (1, 1))),
Feature(name="Polygon", geom=Polygon(((0, 0), (1, 0), (1, 1), (0, 0)))),
- Feature(name="MultiPoint", geom=MultiPoint(Point(0, 0), Point(1, 1))),
Feature(
name="MultiLineString",
geom=MultiLineString(
@@ -927,10 +927,19 @@ class GISFunctionsTests(FuncTestMixin, TestCase):
("POINT", Point),
("LINESTRING", LineString),
("POLYGON", Polygon),
- ("MULTIPOINT", MultiPoint),
("MULTILINESTRING", MultiLineString),
("MULTIPOLYGON", MultiPolygon),
]
+ # GEOSWKTWriter_write() behavior was changed in GEOS 3.12+ to include
+ # parentheses for sub-members. MariaDB doesn't accept WKT
+ # representations with additional parentheses for MultiPoint. This is
+ # an accepted bug (MDEV-36166) in MariaDB that should be fixed in the
+ # future.
+ if not connection.ops.mariadb or geos_version_tuple() < (3, 12):
+ test_features.append(
+ Feature(name="MultiPoint", geom=MultiPoint(Point(0, 0), Point(1, 1)))
+ )
+ expected_results.append(("MULTIPOINT", MultiPoint))
for test_feature, (geom_type, geom_class) in zip(
test_features, expected_results, strict=True
):