postgresqlTestHook: shutdown on failure

Previously, the user of postgresqlTestHook would have needed to set
failureHook accordingly. However, this was not a clean solution, because
postgresqlStop would also run for configure or build failures, before
the server was even started. This gave odd errors from a failed shutdown
in the log.

Now postgresqlStop is only called when it makes sense - and whenever
postgresqlTestHook is used.

+4 -5
+4 -2
pkgs/by-name/po/postgresqlTestHook/postgresql-test-hook.sh
··· 1 - preCheckHooks+=('postgresqlStart') 2 - postCheckHooks+=('postgresqlStop') 3 4 5 postgresqlStart() { ··· 69 70 echo 'starting postgresql' 71 eval "${postgresqlStartCommands:-pg_ctl start}" 72 73 echo 'setting up postgresql' 74 eval "$postgresqlTestSetupCommands" ··· 80 postgresqlStop() { 81 echo 'stopping postgresql' 82 pg_ctl stop 83 }
··· 1 + preCheckHooks+=(postgresqlStart) 2 + postCheckHooks+=(postgresqlStop) 3 4 5 postgresqlStart() { ··· 69 70 echo 'starting postgresql' 71 eval "${postgresqlStartCommands:-pg_ctl start}" 72 + failureHooks+=(postgresqlStop) 73 74 echo 'setting up postgresql' 75 eval "$postgresqlTestSetupCommands" ··· 81 postgresqlStop() { 82 echo 'stopping postgresql' 83 pg_ctl stop 84 + failureHooks=("${failureHooks[@]/postgresqlStop}") 85 }
-1
pkgs/servers/sql/postgresql/ext/pgtap.nix
··· 45 SELECT * FROM finish(); 46 ROLLBACK; 47 ''; 48 - failureHook = "postgresqlStop"; 49 checkPhase = '' 50 runHook preCheck 51 psql -a -v ON_ERROR_STOP=1 -f $sqlPath
··· 45 SELECT * FROM finish(); 46 ROLLBACK; 47 ''; 48 checkPhase = '' 49 runHook preCheck 50 psql -a -v ON_ERROR_STOP=1 -f $sqlPath
-1
pkgs/servers/sql/postgresql/ext/postgis.nix
··· 92 ]; 93 94 postgresqlTestUserOptions = "LOGIN SUPERUSER"; 95 - failureHook = "postgresqlStop"; 96 97 # postgis config directory assumes /include /lib from the same root for json-c library 98 env.NIX_LDFLAGS = "-L${lib.getLib json_c}/lib";
··· 92 ]; 93 94 postgresqlTestUserOptions = "LOGIN SUPERUSER"; 95 96 # postgis config directory assumes /include /lib from the same root for json-c library 97 env.NIX_LDFLAGS = "-L${lib.getLib json_c}/lib";
-1
pkgs/servers/sql/postgresql/postgresqlTestExtension.nix
··· 21 postgresqlTestHook 22 (postgresql.withPackages (ps: [ finalPackage ] ++ (map (p: ps."${p}") withPackages))) 23 ]; 24 - failureHook = "postgresqlStop"; 25 postgresqlTestUserOptions = "LOGIN SUPERUSER"; 26 passAsFile = [ "sql" ]; 27 sql =
··· 21 postgresqlTestHook 22 (postgresql.withPackages (ps: [ finalPackage ] ++ (map (p: ps."${p}") withPackages))) 23 ]; 24 postgresqlTestUserOptions = "LOGIN SUPERUSER"; 25 passAsFile = [ "sql" ]; 26 sql =