Blob Blame History Raw
From 2b60151aea6f03ac7e846aae0d21e7f335cad99c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dagfinn=20Ilmari=20Manns=C3=A5ker?= <ilmari@ilmari.org>
Date: Wed, 9 Jan 2019 21:24:09 +0000
Subject: [PATCH] Fix client_min_messages=FATAL test on upcoming PostgreSQL
 releases

The upcoming minor releases of PostgreSQL cap client_min_messages to
ERROR to avoid the case this test was testing for.  Skip the test if
client_min_messages doesn't come back as 'fatal' after we set it.
---
 t/02attribs.t | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/t/02attribs.t b/t/02attribs.t
index b9ecd90..75e8f48 100644
--- a/t/02attribs.t
+++ b/t/02attribs.t
@@ -1204,15 +1204,20 @@ $sth->execute();
 is ($warning, undef, $t);
 
 ## Special case in which errors are not sent to the client!
-$t = q{When client_min_messages is FATAL, we do our best to alert the caller it's a Bad Idea};
-$dbh->do(q{SET client_min_messages = 'FATAL'});
-$dbh->{RaiseError} = 0;
-$dbh->{AutoCommit} = 1;
-eval {
-    $dbh->do('SELECT 1 FROM nonesuh');
-};
-my $errorstring = $dbh->errstr;
-like ( $errorstring, qr/Perhaps client_min_messages/, $t);
+SKIP: {
+    $t = q{When client_min_messages is FATAL, we do our best to alert the caller it's a Bad Idea};
+    $dbh->do(q{SET client_min_messages = 'FATAL'});
+    skip "This version of PostgreSQL caps client_min_messages to ERROR", 1
+        unless $dbh->selectrow_array('SHOW client_min_messages') eq 'fatal';
+
+    $dbh->{RaiseError} = 0;
+    $dbh->{AutoCommit} = 1;
+    eval {
+        $dbh->do('SELECT 1 FROM nonesuh');
+    };
+    my $errorstring = $dbh->errstr;
+    like ( $errorstring, qr/Perhaps client_min_messages/, $t);
+}
 $dbh->rollback();
 $dbh->do(q{SET client_min_message = 'NOTICE'});
 $dbh->{RaiseError} = 1;
-- 
2.20.1