From 0af934adf74002875db137b9fe6dc8d25ebe1cb2 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Fri, 1 Nov 2024 19:34:26 +0100 Subject: [PATCH] postgresqlPackages.pgjwt: make passthru.tests work with correct package Same reasoning as commit before. --- nixos/tests/pgjwt.nix | 71 ++++++++++++++--------- pkgs/servers/sql/postgresql/ext/pgjwt.nix | 4 +- 2 files changed, 45 insertions(+), 30 deletions(-) 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;