core/pkgs/build-support/setup-hooks/postgresql-test-hook/test.nix
2024-05-13 22:24:10 +01:00

31 lines
667 B
Nix

{ postgresql, postgresqlTestHook, stdenv }:
stdenv.mkDerivation {
name = "postgresql-test-hook-test";
buildInputs = [ postgresqlTestHook ];
nativeCheckInputs = [ postgresql ];
dontUnpack = true;
doCheck = true;
passAsFile = [ "sql" ];
sql = ''
CREATE TABLE hello (
message text
);
INSERT INTO hello VALUES ('it '||'worked');
SELECT * FROM hello;
'';
postgresqlTestSetupPost = ''
TEST_POST_HOOK_RAN=1
'';
checkPhase = ''
runHook preCheck
psql <$sqlPath | grep 'it worked'
TEST_RAN=1
runHook postCheck
'';
installPhase = ''
[[ $TEST_RAN == 1 && $TEST_POST_HOOK_RAN == 1 ]]
touch $out
'';
}