about summary refs log tree commit diff
path: root/pkgs/servers/sql
diff options
context:
space:
mode:
authorMario Rodas <marsam@users.noreply.github.com>2023-12-24 12:59:22 -0500
committerGitHub <noreply@github.com>2023-12-24 12:59:22 -0500
commit6dca6ac7b9a5d8dee7905a2fab52da1cebfc1188 (patch)
treeb76c68d7bf2a1e41b1e68c4dbdf52d8a397b55af /pkgs/servers/sql
parent4cf470c97cd9d78c31610fdf0806e402a3ffb667 (diff)
parentfc92e8a6893fa38534edc1fdecd843b65079f570 (diff)
downloadnixlib-6dca6ac7b9a5d8dee7905a2fab52da1cebfc1188.tar
nixlib-6dca6ac7b9a5d8dee7905a2fab52da1cebfc1188.tar.gz
nixlib-6dca6ac7b9a5d8dee7905a2fab52da1cebfc1188.tar.bz2
nixlib-6dca6ac7b9a5d8dee7905a2fab52da1cebfc1188.tar.lz
nixlib-6dca6ac7b9a5d8dee7905a2fab52da1cebfc1188.tar.xz
nixlib-6dca6ac7b9a5d8dee7905a2fab52da1cebfc1188.tar.zst
nixlib-6dca6ac7b9a5d8dee7905a2fab52da1cebfc1188.zip
Merge pull request #276486 from marsam/update-pgtap
postgresqlPackages.pgtap: 1.3.0 -> 1.3.1
Diffstat (limited to 'pkgs/servers/sql')
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgtap.nix41
1 files changed, 38 insertions, 3 deletions
diff --git a/pkgs/servers/sql/postgresql/ext/pgtap.nix b/pkgs/servers/sql/postgresql/ext/pgtap.nix
index 24c0e3e59b8a..c51de681a3cc 100644
--- a/pkgs/servers/sql/postgresql/ext/pgtap.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgtap.nix
@@ -1,22 +1,57 @@
-{ lib, stdenv, fetchFromGitHub, postgresql, perl, perlPackages, which }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, perl
+, perlPackages
+, postgresql
+, postgresqlTestHook
+, which
+}:
 
 stdenv.mkDerivation rec {
   pname = "pgtap";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "theory";
     repo = "pgtap";
     rev = "v${version}";
-    sha256 = "sha256-RaafUnrMRbvyf2m2Z+tK6XxVXDGnaOkYkSMxIJLnf6A=";
+    sha256 = "sha256-HOgCb1CCfsfbMbMMWuzFJ4B8CfVm9b0sI2zBY3/kqyI=";
   };
 
   nativeBuildInputs = [ postgresql perl perlPackages.TAPParserSourceHandlerpgTAP which ];
 
   installPhase = ''
+    install -D src/pgtap.so -t $out/lib
     install -D {sql/pgtap--${version}.sql,pgtap.control} -t $out/share/postgresql/extension
   '';
 
+  passthru.tests.extension = stdenv.mkDerivation {
+    name = "pgtap-test";
+    dontUnpack = true;
+    doCheck = true;
+    buildInputs = [ postgresqlTestHook ];
+    nativeCheckInputs = [ (postgresql.withPackages (ps: [ ps.pgtap ])) ];
+    postgresqlTestUserOptions = "LOGIN SUPERUSER";
+    passAsFile = [ "sql" ];
+    sql = ''
+      CREATE EXTENSION pgtap;
+
+      BEGIN;
+      SELECT plan(1);
+      SELECT pass('Test passed');
+      SELECT * FROM finish();
+      ROLLBACK;
+    '';
+    failureHook = "postgresqlStop";
+    checkPhase = ''
+      runHook preCheck
+      psql -a -v ON_ERROR_STOP=1 -f $sqlPath
+      runHook postCheck
+    '';
+    installPhase = "touch $out";
+  };
+
   meta = with lib; {
     description = "A unit testing framework for PostgreSQL";
     longDescription = ''