postgresqlTestHook: shutdown on failure (#389938)

+1
ci/OWNERS
···
/maintainers/scripts/kde @K900 @NickCao @SuperSandro2000 @ttuegel
# PostgreSQL and related stuff
+
/pkgs/by-name/po/postgresqlTestHook @NixOS/postgres
/pkgs/by-name/ps/psqlodbc @NixOS/postgres
/pkgs/servers/sql/postgresql @NixOS/postgres
/pkgs/development/tools/rust/cargo-pgrx @NixOS/postgres
+4 -2
pkgs/by-name/po/postgresqlTestHook/postgresql-test-hook.sh
···
-
preCheckHooks+=('postgresqlStart')
-
postCheckHooks+=('postgresqlStop')
+
preCheckHooks+=(postgresqlStart)
+
postCheckHooks+=(postgresqlStop)
postgresqlStart() {
···
echo 'starting postgresql'
eval "${postgresqlStartCommands:-pg_ctl start}"
+
failureHooks+=(postgresqlStop)
echo 'setting up postgresql'
eval "$postgresqlTestSetupCommands"
···
postgresqlStop() {
echo 'stopping postgresql'
pg_ctl stop
+
failureHooks=("${failureHooks[@]/postgresqlStop}")
}
+2 -3
pkgs/servers/sql/postgresql/ext/anonymizer.nix
···
postgresql,
postgresqlBuildExtension,
runtimeShell,
-
stdenv,
}:
-
postgresqlBuildExtension (finalAttrs: {
+
postgresqlBuildExtension {
pname = "postgresql_anonymizer";
inherit (pg-dump-anon) version src;
···
meta = lib.getAttrs [ "homepage" "teams" "license" ] pg-dump-anon.meta // {
description = "Extension to mask or replace personally identifiable information (PII) or commercially sensitive data from a PostgreSQL database";
};
-
})
+
}
-1
pkgs/servers/sql/postgresql/ext/apache_datasketches.nix
···
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
-
stdenv,
}:
let
-1
pkgs/servers/sql/postgresql/ext/citus.nix
···
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/cstore_fdw.nix
···
postgresql,
postgresqlBuildExtension,
protobufc,
-
stdenv,
}:
postgresqlBuildExtension {
-1
pkgs/servers/sql/postgresql/ext/hypopg.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension {
-1
pkgs/servers/sql/postgresql/ext/lantern.nix
···
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/periods.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pg-semver.nix
···
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
-
testers,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pg_cron.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pg_ed25519.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pg_hint_plan.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
let
-1
pkgs/servers/sql/postgresql/ext/pg_hll.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pg_ivm.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pg_libversion.nix
···
pkg-config,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pg_net.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pg_partman.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pg_relusage.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pg_repack.nix
···
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
-
stdenv,
testers,
}:
-2
pkgs/servers/sql/postgresql/ext/pg_roaringbitmap.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
postgresqlTestHook,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
with {
-1
pkgs/servers/sql/postgresql/ext/pg_similarity.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension {
-1
pkgs/servers/sql/postgresql/ext/pg_squeeze.nix
···
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pg_topn.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension rec {
-1
pkgs/servers/sql/postgresql/ext/pg_uuidv7.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pgaudit.nix
···
openssl,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
let
-1
pkgs/servers/sql/postgresql/ext/pgjwt.nix
···
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
-
stdenv,
unstableGitUpdater,
}:
-1
pkgs/servers/sql/postgresql/ext/pgmq.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pgroonga.nix
···
pkg-config,
postgresql,
postgresqlBuildExtension,
-
stdenv,
xxHash,
}:
-1
pkgs/servers/sql/postgresql/ext/pgrouting.nix
···
perl,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pgsodium.nix
···
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pgsql-http.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pgtap.nix
···
SELECT * FROM finish();
ROLLBACK;
'';
-
failureHook = "postgresqlStop";
checkPhase = ''
runHook preCheck
psql -a -v ON_ERROR_STOP=1 -f $sqlPath
-1
pkgs/servers/sql/postgresql/ext/pgvector.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
···
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/plr.nix
···
postgresqlTestExtension,
R,
rPackages,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/pltcl.nix
···
lib,
postgresql,
postgresqlTestExtension,
-
tcl,
tclPackages,
}:
-1
pkgs/servers/sql/postgresql/ext/postgis.nix
···
];
postgresqlTestUserOptions = "LOGIN SUPERUSER";
-
failureHook = "postgresqlStop";
# postgis config directory assumes /include /lib from the same root for json-c library
env.NIX_LDFLAGS = "-L${lib.getLib json_c}/lib";
-1
pkgs/servers/sql/postgresql/ext/repmgr.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/rum.nix
···
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/smlar.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension {
-1
pkgs/servers/sql/postgresql/ext/system_stats.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
pname = "system_stats";
-2
pkgs/servers/sql/postgresql/ext/tds_fdw.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
-
unstableGitUpdater,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/temporal_tables.nix
···
lib,
postgresql,
postgresqlBuildExtension,
-
stdenv,
}:
postgresqlBuildExtension (finalAttrs: {
-1
pkgs/servers/sql/postgresql/ext/timescaledb.nix
···
postgresql,
postgresqlBuildExtension,
postgresqlTestExtension,
-
stdenv,
enableUnfree ? true,
}:
-1
pkgs/servers/sql/postgresql/generic.nix
···
{
stdenv,
fetchFromGitHub,
-
fetchpatch,
fetchurl,
lib,
replaceVars,
-1
pkgs/servers/sql/postgresql/postgresqlTestExtension.nix
···
postgresqlTestHook
(postgresql.withPackages (ps: [ finalPackage ] ++ (map (p: ps."${p}") withPackages)))
];
-
failureHook = "postgresqlStop";
postgresqlTestUserOptions = "LOGIN SUPERUSER";
passAsFile = [ "sql" ];
sql =