From f6c2de926290a2d62d06876b1df7caffcac13150 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Fri, 1 Nov 2024 19:29:09 +0100 Subject: [PATCH] postgresql: add passthru.tests.postgresql Restructuring the nixosTests.postgresql test a little bit to allow calling it with the specific versioned package from generic.nix. --- nixos/tests/postgresql.nix | 26 +++++++++++++++---------- pkgs/servers/sql/postgresql/generic.nix | 1 + 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/nixos/tests/postgresql.nix b/nixos/tests/postgresql.nix index ce16e54edf66..4f6c37643c25 100644 --- a/nixos/tests/postgresql.nix +++ b/nixos/tests/postgresql.nix @@ -7,7 +7,13 @@ with import ../lib/testing-python.nix { inherit system pkgs; }; with pkgs.lib; let - postgresql-versions = import ../../pkgs/servers/sql/postgresql pkgs; + testsForPackage = package: + recurseIntoAttrs { + postgresql = make-postgresql-test package false; + postgresql-backup-all = make-postgresql-test package true; + postgresql-clauses = mk-ensure-clauses-test package; + }; + test-sql = pkgs.writeText "postgresql-test" '' CREATE EXTENSION pgcrypto; -- just to check if lib loading works CREATE TABLE sth ( @@ -21,8 +27,9 @@ let CREATE TABLE xmltest ( doc xml ); INSERT INTO xmltest (doc) VALUES ('ok'); -- check if libxml2 enabled ''; - make-postgresql-test = postgresql-name: postgresql-package: backup-all: makeTest { - name = postgresql-name; + + make-postgresql-test = postgresql-package: backup-all: makeTest { + name = "postgresql${optionalString backup-all "-backup-all"}-${postgresql-package.name}"; meta = with pkgs.lib.maintainers; { maintainers = [ zagy ]; }; @@ -133,8 +140,8 @@ let }; - mk-ensure-clauses-test = postgresql-name: postgresql-package: makeTest { - name = postgresql-name; + mk-ensure-clauses-test = postgresql-package: makeTest { + name = "postgresql-clauses-${postgresql-package.name}"; meta = with pkgs.lib.maintainers; { maintainers = [ zagy ]; }; @@ -219,8 +226,7 @@ let ''; }; in - concatMapAttrs (name: package: { - ${name} = make-postgresql-test name package false; - ${name + "-backup-all"} = make-postgresql-test "${name + "-backup-all"}" package true; - ${name + "-clauses"} = mk-ensure-clauses-test name package; - }) postgresql-versions +concatMapAttrs (n: p: { ${n} = testsForPackage p; }) pkgs.postgresqlVersions +// { + passthru.override = p: testsForPackage p; +} diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix index 548fcd561e73..587f150bc6da 100644 --- a/pkgs/servers/sql/postgresql/generic.nix +++ b/pkgs/servers/sql/postgresql/generic.nix @@ -312,6 +312,7 @@ let }; tests = { + postgresql = nixosTests.postgresql.passthru.override finalAttrs.finalPackage; postgresql-wal-receiver = nixosTests.postgresql-wal-receiver.passthru.override finalAttrs.finalPackage; pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; } // lib.optionalAttrs jitSupport {