dev-perl/DBD-Pg: Bump to version 3.7.0

- Radically improve test coverage
  - Previously ran no tests
  - Now runs basic tests and compile tests without needing a database
  - checks for database being configured
  - if database is configured for testing, tests run
  - See https://wiki.gentoo.org/wiki/Project:Perl/maint-notes/dev-perl/DBD-Pg

Upstream:
- Use PQexec instead of PQexecParams when no placeholders
- Fix tests w/ server w/o UTF8
- Fix crash with missing client_encoding
- Fix crash with missing server_version
- Fix leak in ->state methods
- Add pg_async_status field in statement handles.

Package-Manager: Portage-2.3.8, Repoman-2.3.3
This commit is contained in:
Kent Fredric
2017-10-08 23:27:22 +13:00
parent 358d2b6e9d
commit 6037da5038
2 changed files with 98 additions and 0 deletions

View File

@@ -0,0 +1,97 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=TURNSTEP
inherit perl-module
DESCRIPTION="PostgreSQL database driver for the DBI module"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE=""
RDEPEND="
virtual/perl-version
>=dev-perl/DBI-1.614.0
dev-db/postgresql:*
"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
"
src_prepare() {
postgres_include="$(readlink -f "${EPREFIX}"/usr/include/postgresql)"
postgres_lib="${postgres_include//include/lib}"
# Fall-through case is the non-split postgresql
# The active cases instead get us the matching libdir for the includedir.
for i in lib lib64 ; do
if [ -d "${postgres_lib}/${i}" ]; then
postgres_lib="${postgres_lib}/${i}"
break
fi
done
# env variables for compilation:
export POSTGRES_INCLUDE="${postgres_include}"
export POSTGRES_LIB="${postgres_lib}"
perl-module_src_prepare
}
src_test() {
local MODULES=(
# Compile failure: https://rt.cpan.org/Ticket/Display.html?id=123218
# "Bundle::DBD::Pg v${PV}"
"DBD::Pg v${PV}"
)
local failed=()
for dep in "${MODULES[@]}"; do
ebegin "Compile testing ${dep}"
perl -Mblib="${S}" -M"${dep} ()" -e1 #||
#die "Could not load ${dep}"
eend $? || failed+=( "$dep" )
done
if [[ ${failed[@]} ]]; then
echo
eerror "One or more modules failed compile:";
for dep in "${failed[@]}"; do
eerror " ${dep}"
done
die "Failing due to module compilation errors";
fi
local LIVEDB_TESTS=(
"t/01connect.t"
"t/02attribs.t"
"t/03dbmethod.t"
"t/03smethod.t"
"t/04misc.t"
"t/06bytea.t"
"t/07copy.t"
"t/08async.t"
"t/09arrays.t"
"t/12placeholders.t"
"t/20savepoints.t"
"t/30unicode.t"
)
local SKIP_TESTS=(
"t/00_signature.t"
);
if [[ ! -v DBI_DSN ]]; then
ewarn "Functional database tests disabled due to lack of configuration."
ewarn "Please set the following environment variables values pertaining to a"
ewarn "pre-configured Postgres installation in order for tests to work:"
ewarn " DBI_DSN - A DBI-compatible connection string for a Postgres Database"
ewarn " ( eg: dbi:Pg:dbname=testdb )"
ewarn " DBI_USER - A Postgres Database Username"
ewarn " DBI_PASS - A Postgres Database Password"
ewarn ""
ewarn "For details, visit:"
ewarn "https://wiki.gentoo.org/wiki/Project:Perl/maint-notes/dev-perl/DBD-Pg"
SKIP_TESTS+=( "${LIVEDB_TESTS[@]}" )
fi
perl_rm_files "${SKIP_TESTS[@]}"
# Parallel testing breaks database access
DBDPG_TEST_ALWAYS_ENV=1 DIST_TEST="do" perl-module_src_test
}

View File

@@ -1,2 +1,3 @@
DIST DBD-Pg-3.5.3.tar.gz 256570 SHA256 7e98a9b975256a4733db1c0e974cad5ad5cb821489323e395ed97bd058e0a90e SHA512 7a564e5c86fa41719289f6e391f0cd39f01df7d088892fca11175c60fec8a3af884f9204ae834caac2024ff0d45dcc013e314ec0c09a07fe7ee76170ec3a634f WHIRLPOOL 6f4091284c2c91b8c2126e06a2727b65e672db91ce5f265841ef3c02b977f48712e84ad013980bbe4a2e127f5003906bf315d7b6a86787440a9cc6688aa14cd8
DIST DBD-Pg-3.6.2.tar.gz 258640 SHA256 4b1d2edea07cfaadbb710ac138f41346752bb62f5d29cd0363f11cb4f7c3c4ae SHA512 1f55bd463d90cd0d9933acde0a79462a57f11e7ed9519943cc2cb4487b4b69edd7d16ffa3d666c50aca797f9756ff4e6a0d67b58bc100f4920da36169d73b7b4 WHIRLPOOL 8d28fe8f64b952f57ede925d20a88aca1631462e85b59112ddf073753892053fd59b4802d293fdd745a1c047ff436bb7192b5cf5839436c5d288d4b1b403bc73
DIST DBD-Pg-3.7.0.tar.gz 260083 SHA256 e36e0459c9cf0f12edafb74f4cef685876d0460dbe6b411e7109070c67e56459 SHA512 edd4d3448dac1b563899c5fd4a1bad6cb810afdbbbf57b558bbe6710aa3e58530a6cf0932e35c3316c7f4f59763764d75ce1049f13c8c13deeb2e8a7c60ff73e WHIRLPOOL 75b41813d3888fa673a1225fbd78454bac0e24fa27a3acbd368f751a9004e3dea8b2bda4907c97b0ffcbc4db832c7fce8f814a07393c27ea28bca7768f826c75