at master 1.1 kB view raw
1{ 2 lib, 3 postgresql, 4 postgresqlTestHook, 5 stdenvNoCC, 6}: 7 8{ 9 asserts ? [ ], 10 finalPackage, 11 sql, 12 withPackages ? [ ], 13 ... 14}@extraArgs: 15stdenvNoCC.mkDerivation ( 16 { 17 name = "${finalPackage.name}-test-extension"; 18 dontUnpack = true; 19 doCheck = true; 20 nativeCheckInputs = [ 21 postgresqlTestHook 22 (postgresql.withPackages (ps: [ finalPackage ] ++ (map (p: ps."${p}") withPackages))) 23 ]; 24 postgresqlTestUserOptions = "LOGIN SUPERUSER"; 25 passAsFile = [ "sql" ]; 26 sql = 27 sql 28 + lib.concatMapStrings ( 29 { 30 query, 31 expected, 32 description, 33 }: 34 '' 35 DO $$ BEGIN 36 ASSERT (${query}) = (${expected}), '${lib.replaceStrings [ "'" ] [ "''" ] description}'; 37 END $$; 38 '' 39 ) asserts; 40 checkPhase = '' 41 runHook preCheck 42 psql -a -v ON_ERROR_STOP=1 -f "$sqlPath" 43 runHook postCheck 44 ''; 45 installPhase = "touch $out"; 46 } 47 // lib.removeAttrs extraArgs [ 48 "asserts" 49 "finalPackage" 50 "sql" 51 "withPackages" 52 ] 53)