dev-ruby/pg: fix tests with postgresql 10
authorHans de Graaff <graaff@gentoo.org>
Mon, 16 Apr 2018 18:32:04 +0000 (20:32 +0200)
committerHans de Graaff <graaff@gentoo.org>
Mon, 16 Apr 2018 18:32:43 +0000 (20:32 +0200)
Backport the upstream changes to tests.

Closes: https://bugs.gentoo.org/648778
Package-Manager: Portage-2.3.24, Repoman-2.3.6

dev-ruby/pg/files/postgresql10-tests.patch [new file with mode: 0644]
dev-ruby/pg/pg-0.18.4-r1.ebuild
dev-ruby/pg/pg-0.21.0.ebuild

diff --git a/dev-ruby/pg/files/postgresql10-tests.patch b/dev-ruby/pg/files/postgresql10-tests.patch
new file mode 100644 (file)
index 0000000..f9b7c15
--- /dev/null
@@ -0,0 +1,49 @@
+# HG changeset patch
+# User Lars Kanis <kanis@comcard.de>
+# Date 1508756565 -7200
+# Node ID fe63160e8a9803e257231d879fab2841ba44c37a
+# Parent  d6d5533dfca85b618232fe3e9e56e59dbee99de6
+Adjust tests for PostgreSQL-10
+
+diff --git a/spec/helpers.rb b/spec/helpers.rb
+--- a/spec/helpers.rb
++++ b/spec/helpers.rb
+@@ -251,7 +251,7 @@
+       def check_for_lingering_connections( conn )
+               conn.exec( "SELECT * FROM pg_stat_activity" ) do |res|
+-                      conns = res.find_all {|row| row['pid'].to_i != conn.backend_pid }
++                      conns = res.find_all {|row| row['pid'].to_i != conn.backend_pid && ["client backend", nil].include?(row["backend_type"]) }
+                       unless conns.empty?
+                               puts "Lingering connections remain:"
+                               conns.each do |row|
+diff --git a/spec/pg/connection_spec.rb b/spec/pg/connection_spec.rb
+--- a/spec/pg/connection_spec.rb
++++ b/spec/pg/connection_spec.rb
+@@ -232,7 +232,7 @@
+               described_class.connect(@conninfo).finish
+               sleep 0.5
+               res = @conn.exec(%[SELECT COUNT(*) AS n FROM pg_stat_activity
+-                                                      WHERE usename IS NOT NULL])
++                                                      WHERE usename IS NOT NULL AND application_name != ''])
+               # there's still the global @conn, but should be no more
+               expect( res[0]['n'] ).to eq( '1' )
+       end
+@@ -1537,9 +1537,14 @@
+               end
+               it "shouldn't type map params unless requested" do
+-                      expect{
+-                              @conn.exec_params( "SELECT $1", [5] )
+-                      }.to raise_error(PG::IndeterminateDatatype)
++                      if @conn.server_version < 100000
++                              expect{
++                                      @conn.exec_params( "SELECT $1", [5] )
++                              }.to raise_error(PG::IndeterminateDatatype)
++                      else
++                              # PostgreSQL-10 maps to TEXT type (OID 25)
++                              expect( @conn.exec_params( "SELECT $1", [5] ).ftype(0)).to eq(25)
++                      end
+               end
+               it "should raise an error on invalid encoder to put_copy_data" do
index 8e25f7eeb65403594d51d03411a3180264fdc4e6..76ca7c11e058c7b4b34c232ec54ff998b38a48c0 100644 (file)
@@ -23,6 +23,8 @@ RDEPEND+=" dev-db/postgresql:*"
 DEPEND+=" dev-db/postgresql
        test? ( >=dev-db/postgresql-9.4[server,threads] )"
 
+RUBY_PATCHES=( "${FILESDIR}/postgresql10-tests.patch" )
+
 ruby_add_bdepend "
        doc? (
                dev-ruby/hoe
index c459b80a91000d044e5ad9a92bde1dcca20f750a..24430c4f4590d278d063618c7d4b3025afc01a9f 100644 (file)
@@ -23,6 +23,8 @@ RDEPEND+=" dev-db/postgresql:*"
 DEPEND+=" dev-db/postgresql
        test? ( >=dev-db/postgresql-9.4[server,threads] )"
 
+PATCHES=( "${FILESDIR}/postgresql10-tests.patch" )
+
 all_ruby_prepare() {
        # hack the Rakefile to make it sure that it doesn't load
        # rake-compiler (so that we don't have to depend on it and it