commit: 41dead08409594e7fb4efb3918c19760ed58c882 Author: Hans de Graaff <graaff <AT> gentoo <DOT> org> AuthorDate: Mon Apr 16 18:32:04 2018 +0000 Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org> CommitDate: Mon Apr 16 18:32:43 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41dead08
dev-ruby/pg: fix tests with postgresql 10 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 | 49 ++++++++++++++++++++++++++++++ dev-ruby/pg/pg-0.18.4-r1.ebuild | 2 ++ dev-ruby/pg/pg-0.21.0.ebuild | 2 ++ 3 files changed, 53 insertions(+) diff --git a/dev-ruby/pg/files/postgresql10-tests.patch b/dev-ruby/pg/files/postgresql10-tests.patch new file mode 100644 index 00000000000..f9b7c1579a9 --- /dev/null +++ b/dev-ruby/pg/files/postgresql10-tests.patch @@ -0,0 +1,49 @@ +# HG changeset patch +# User Lars Kanis <ka...@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 diff --git a/dev-ruby/pg/pg-0.18.4-r1.ebuild b/dev-ruby/pg/pg-0.18.4-r1.ebuild index 8e25f7eeb65..76ca7c11e05 100644 --- a/dev-ruby/pg/pg-0.18.4-r1.ebuild +++ b/dev-ruby/pg/pg-0.18.4-r1.ebuild @@ -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 diff --git a/dev-ruby/pg/pg-0.21.0.ebuild b/dev-ruby/pg/pg-0.21.0.ebuild index c459b80a910..24430c4f459 100644 --- a/dev-ruby/pg/pg-0.21.0.ebuild +++ b/dev-ruby/pg/pg-0.21.0.ebuild @@ -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