diff --git a/nixos/tests/pgjwt.nix b/nixos/tests/pgjwt.nix index 3ef787a96235..5c14ee68b595 100644 --- a/nixos/tests/pgjwt.nix +++ b/nixos/tests/pgjwt.nix @@ -1,32 +1,47 @@ -import ./make-test-python.nix ({ pkgs, lib, ...}: +{ system ? builtins.currentSystem +, config ? {} +, pkgs ? import ../.. { inherit system config; } +}: -with pkgs; { - name = "pgjwt"; - meta = with lib.maintainers; { - maintainers = [ spinus willibutz ]; - }; +with import ../lib/testing-python.nix { inherit system pkgs; }; - nodes = { - master = { ... }: - { - services.postgresql = { - enable = true; - extraPlugins = ps: with ps; [ pgjwt pgtap ]; +let + inherit (pkgs) lib; + + makePgjwtTest = postgresqlPackage: + makeTest { + name = "pgjwt-${postgresqlPackage.name}"; + meta = with lib.maintainers; { + maintainers = [ spinus willibutz ]; }; - }; - }; - testScript = { nodes, ... }: - let - sqlSU = "${nodes.master.services.postgresql.superUser}"; - pgProve = "${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}"; - inherit (nodes.master.services.postgresql.package.pkgs) pgjwt; - in - '' - start_all() - master.wait_for_unit("postgresql") - master.succeed( - "${pkgs.sudo}/bin/sudo -u ${sqlSU} ${pgProve}/bin/pg_prove -d postgres -v -f ${pgjwt.src}/test.sql" - ) - ''; -}) + nodes = { + master = { ... }: + { + services.postgresql = { + enable = true; + package = postgresqlPackage; + extraPlugins = ps: with ps; [ pgjwt pgtap ]; + }; + }; + }; + + testScript = { nodes, ... }: + let + sqlSU = "${nodes.master.services.postgresql.superUser}"; + pgProve = "${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}"; + inherit (nodes.master.services.postgresql.package.pkgs) pgjwt; + in + '' + start_all() + master.wait_for_unit("postgresql") + master.succeed( + "${pkgs.sudo}/bin/sudo -u ${sqlSU} ${pgProve}/bin/pg_prove -d postgres -v -f ${pgjwt.src}/test.sql" + ) + ''; + }; +in +lib.concatMapAttrs (n: p: { ${n} = makePgjwtTest p; }) pkgs.postgresqlVersions +// { + passthru.override = p: makePgjwtTest p; +} diff --git a/pkgs/servers/sql/postgresql/ext/pgjwt.nix b/pkgs/servers/sql/postgresql/ext/pgjwt.nix index a90502c35a4e..0209ab27d59e 100644 --- a/pkgs/servers/sql/postgresql/ext/pgjwt.nix +++ b/pkgs/servers/sql/postgresql/ext/pgjwt.nix @@ -19,8 +19,8 @@ stdenv.mkDerivation (finalAttrs: { passthru.updateScript = unstableGitUpdater { }; - passthru.tests = { - inherit (nixosTests) pgjwt; + passthru.tests = lib.recurseIntoAttrs { + pgjwt = nixosTests.pgjwt.passthru.override postgresql; extension = postgresqlTestExtension { inherit (finalAttrs) finalPackage;