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