nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ postgresql, postgresqlTestHook, stdenv }:
2
3stdenv.mkDerivation {
4 name = "postgresql-test-hook-test";
5 buildInputs = [ postgresqlTestHook ];
6 nativeCheckInputs = [ postgresql ];
7 dontUnpack = true;
8 doCheck = true;
9 passAsFile = ["sql"];
10 sql = ''
11 CREATE TABLE hello (
12 message text
13 );
14 INSERT INTO hello VALUES ('it '||'worked');
15 SELECT * FROM hello;
16 '';
17 postgresqlTestSetupPost = ''
18 TEST_POST_HOOK_RAN=1
19 '';
20 checkPhase = ''
21 runHook preCheck
22 psql <$sqlPath | grep 'it worked'
23 TEST_RAN=1
24 runHook postCheck
25 '';
26 installPhase = ''
27 [[ $TEST_RAN == 1 && $TEST_POST_HOOK_RAN == 1 ]]
28 touch $out
29 '';
30}