From 8ebdf3362434e2ed0c0786dc22af2a436e4a0d47 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 12 Apr 2025 22:46:06 +0200 Subject: [PATCH] postgresqlPackages.postgis: use postgresqlTestExtension's asserts option --- pkgs/servers/sql/postgresql/ext/postgis.nix | 29 +++++++++------------ 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/postgis.nix b/pkgs/servers/sql/postgresql/ext/postgis.nix index 2317105dd130..067409a230ff 100644 --- a/pkgs/servers/sql/postgresql/ext/postgis.nix +++ b/pkgs/servers/sql/postgresql/ext/postgis.nix @@ -125,31 +125,15 @@ postgresqlBuildExtension (finalAttrs: { passthru.tests.extension = postgresqlTestExtension { inherit (finalAttrs) finalPackage; sql = - let - expectedVersion = "${lib.versions.major finalAttrs.version}.${lib.versions.minor finalAttrs.version} USE_GEOS=1 USE_PROJ=1 USE_STATS=1"; - in '' CREATE EXTENSION postgis; CREATE EXTENSION postgis_raster; CREATE EXTENSION postgis_topology; - select postgis_version(); - do $$ - begin - if postgis_version() <> '${expectedVersion}' then - raise '"%" does not match "${expectedVersion}"', postgis_version(); - end if; - end$$; -- st_makepoint goes through c code select st_makepoint(1, 1); '' + lib.optionalString withSfcgal '' CREATE EXTENSION postgis_sfcgal; - do $$ - begin - if postgis_sfcgal_version() <> '${sfcgal.version}' then - raise '"%" does not match "${sfcgal.version}"', postgis_sfcgal_version(); - end if; - end$$; CREATE TABLE geometries ( name varchar, geom geometry(PolygonZ) NOT NULL @@ -161,6 +145,19 @@ postgresqlBuildExtension (finalAttrs: { SELECT name from geometries where cg_isplanar(geom); ''; + asserts = + [ + { + query = "postgis_version()"; + expected = "'${lib.versions.major finalAttrs.version}.${lib.versions.minor finalAttrs.version} USE_GEOS=1 USE_PROJ=1 USE_STATS=1'"; + description = "postgis_version() returns correct values."; + } + ] + ++ lib.optional withSfcgal { + query = "postgis_sfcgal_version()"; + expected = "'${sfcgal.version}'"; + description = "postgis_sfcgal_version() returns correct value."; + }; }; meta = {