diff options
author | Kent Fredric <kentnl@gentoo.org> | 2017-07-18 16:37:22 +1200 |
---|---|---|
committer | Kent Fredric <kentnl@gentoo.org> | 2017-07-18 16:38:42 +1200 |
commit | 5ee7db5997fa620007d8d66a1a6dd0cead89a272 (patch) | |
tree | 53dd09fc5f6efd12f15ab30fbb6d46db1807a381 | |
parent | sci-biology/bioperl-db: EAPI6/-R1 Bump (diff) | |
download | gentoo-5ee7db5997fa620007d8d66a1a6dd0cead89a272.tar.gz gentoo-5ee7db5997fa620007d8d66a1a6dd0cead89a272.tar.bz2 gentoo-5ee7db5997fa620007d8d66a1a6dd0cead89a272.zip |
sci-biology/bioperl-db: Restrict tests re bug #421701
I've tried an excessive amount to get tests working here. But they
still need a lot of love. The work I've done so far only gets
a mysql test instance up, ( and then, only tested with mariadb )
Somebody needs to work out what's missing to provision the databases
that the tests use.
Somebody needs to add support for initializing the other kinds of
database.
Any help here encouraged, but disabling non-functioning tests
is the best we can do for now.
Package-Manager: Portage-2.3.6, Repoman-2.3.2
-rw-r--r-- | sci-biology/bioperl-db/bioperl-db-1.6.9-r1.ebuild | 51 | ||||
-rw-r--r-- | sci-biology/bioperl-db/bioperl-db-1.6.9.ebuild | 1 | ||||
-rw-r--r-- | sci-biology/bioperl-db/files/bioperl-db-1.6.9-db.patch | 52 |
3 files changed, 58 insertions, 46 deletions
diff --git a/sci-biology/bioperl-db/bioperl-db-1.6.9-r1.ebuild b/sci-biology/bioperl-db/bioperl-db-1.6.9-r1.ebuild index fd3a4280fa03..facab7d5ffbe 100644 --- a/sci-biology/bioperl-db/bioperl-db-1.6.9-r1.ebuild +++ b/sci-biology/bioperl-db/bioperl-db-1.6.9-r1.ebuild @@ -15,10 +15,11 @@ HOMEPAGE="http://www.bioperl.org/" SLOT="0" KEYWORDS="~amd64 ~x86" +RESTRICT="test" IUSE="test" DIST_TEST="do" # Parallelism probably bad - +PATCHES=( "${FILESDIR}/${PN}-1.6.9-db.patch" ) RDEPEND=" >=sci-biology/bioperl-${PV} dev-perl/DBD-mysql @@ -34,20 +35,8 @@ DEPEND="${RDEPEND} virtual/perl-Test-Simple ) " - src_prepare() { - if use test; then - eapply "${FILESDIR}/${PN}-1.6.9-db.patch" - einfo "Using the following configuration details for test database:" - einfo " GENTOO_DB_TEST_HOST : ${GENTOO_DB_TEST_HOST:=localhost}" - einfo " GENTOO_DB_TEST_USER : ${GENTOO_DB_TEST_USER:=portage}" - einfo " GENTOO_DB_TEST_PORT : ${GENTOO_DB_TEST_PORT:=3306}" - einfo " GENTOO_DB_TEST_PASSWOWRD: ${GENTOO_DB_TEST_PASSWORD:=sekrit}" - einfo " GENTOO_DB_TEST_DATABASE : ${GENTOO_DB_TEST_DB:=biosql_test}" - einfo "Please ensure the relevant mysql database is configured and/or tweak" - einfo "environment variables to suit" - export GENTOO_DB_TEST_HOST GENTOO_DB_TEST_USER GENTOO_DB_TEST_PORT GENTOO_DB_TEST_PASSWORD GENTOO_DB_TEST_DB - fi + export GENTOO_DB_HOSTNAME=localhost perl-module_src_prepare } src_install() { @@ -57,5 +46,39 @@ src_install() { src_test() { einfo "Removing bundled test libraries t/lib" rm -r "${S}/t/lib" || die "Cannot remove t/lib" + + ebegin "Setting up test database" + + local mysqld="${EPREFIX}/usr/sbin/mysqld" + local socket="${T}/mysql.sock" + local pidfile="${T}/mysql.pid" + local datadir="${T}/mysql-data-dir" + local mysql="${EPREFIX}/usr/bin/mysql" + + mkdir -p "${datadir}" || die "Can't make mysql database dir"; + chmod 755 "${datadir}" || die "Can't fix mysql database dir perms"; + + if $mysqld --help | grep -q MariaDB ; then + "${EPREFIX}"/usr/share/mysql/scripts/mysql_install_db \ + --basedir="${EPREFIX}/usr" \ + --datadir="${datadir}" \ + --user=$(whoami) || die "Can't initalize database" + fi + + ${mysqld} --no-defaults --user=$(whoami) --skip-networking \ + --socket="${socket}" \ + --pid-file="${pidfile}" \ + --datadir="${datadir}" & + maxtry=20 + while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + eend $? + export MYSQL_UNIX_PORT="${socket}" perl-module_src_test + ebegin "Shutting down mysql test database" + pkill -F "${pidfile}" + eend $? } diff --git a/sci-biology/bioperl-db/bioperl-db-1.6.9.ebuild b/sci-biology/bioperl-db/bioperl-db-1.6.9.ebuild index 7075ef242850..e6f0c45958a9 100644 --- a/sci-biology/bioperl-db/bioperl-db-1.6.9.ebuild +++ b/sci-biology/bioperl-db/bioperl-db-1.6.9.ebuild @@ -16,6 +16,7 @@ HOMEPAGE="http://www.bioperl.org/" SLOT="0" KEYWORDS="amd64 x86" IUSE="test" +RESTRICT="test" SRC_TEST="do" CDEPEND=" diff --git a/sci-biology/bioperl-db/files/bioperl-db-1.6.9-db.patch b/sci-biology/bioperl-db/files/bioperl-db-1.6.9-db.patch index 9a2d5e7bb0b6..36698651c7d1 100644 --- a/sci-biology/bioperl-db/files/bioperl-db-1.6.9-db.patch +++ b/sci-biology/bioperl-db/files/bioperl-db-1.6.9-db.patch @@ -1,57 +1,45 @@ -From a63725a70ab6d5cbf419d1896007b49609ac5cfa Mon Sep 17 00:00:00 2001 +From d689a1473977b0aa368590ba1f913521e4f466c7 Mon Sep 17 00:00:00 2001 From: Kent Fredric <kentfredric@gmail.com> -Date: Tue, 18 Jul 2017 11:06:05 +1200 -Subject: [PATCH] Add env db test controls +Date: Tue, 18 Jul 2017 16:02:26 +1200 +Subject: [PATCH] Allow custom host/port configurations --- - Build.PL | 10 +++++----- - t/DBTestHarness.pm | 11 ++++++----- - 2 files changed, 11 insertions(+), 10 deletions(-) + Build.PL | 4 ++-- + t/DBTestHarness.pm | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Build.PL b/Build.PL -index ecc402e..4d55f3a 100755 +index ecc402e..a61190f 100755 --- a/Build.PL +++ b/Build.PL -@@ -97,11 +97,11 @@ sub biosql_conf { +@@ -97,9 +97,9 @@ sub biosql_conf { or die "Error: could not write to config file '$config_file'\n"; my %config = (driver => $drivers[0], - host => '127.0.0.1', -- user => 'root', ++ host => $ENV{GENTOO_DB_HOSTNAME} || '127.0.0.1', + user => 'root', - port => 3306, -- password => '', -- dbname => 'bioseqdb', -+ host => $ENV{GENTOO_DB_TEST_HOST}, -+ user => $ENV{GENTOO_DB_TEST_USER}, -+ port => $ENV{GENTOO_DB_TEST_PORT}, -+ password => $ENV{GENTOO_DB_TEST_PASSWORD}, -+ dbname => $ENV{GENTOO_DB_TEST_DB}, ++ port => $ENV{GENTOO_DB_PORT} || undef, + password => '', + dbname => 'bioseqdb', database => 'biosql', - schema_sql => '../biosql-schema/sql/biosqldb-mysql.sql'); - diff --git a/t/DBTestHarness.pm b/t/DBTestHarness.pm -index b660429..bd0b3b7 100755 +index b660429..91e0c54 100755 --- a/t/DBTestHarness.pm +++ b/t/DBTestHarness.pm -@@ -47,12 +47,13 @@ my $counter=0; +@@ -47,9 +47,9 @@ my $counter=0; # Default settings as a hash my $dflt = { 'driver' => 'mysql', - 'host' => 'localhost', -- 'user' => 'root', ++ 'host' => $ENV{GENTOO_DB_HOST} || 'localhost', + 'user' => 'root', - 'port' => undef, -- 'password' => '', -+ 'host' => $ENV{GENTOO_DB_HOST}, -+ 'user' => $ENV{GENTOO_DB_TEST_USER}, -+ 'port' => ( defined $ENV{GENTOO_DB_TEST_PORT} and length $ENV{GENTOO_DB_TEST_PORT} ) ? -+ $ENV{GENTOO_DB_TEST_PORT} : undef, -+ 'password' => $ENV{GENTOO_DB_TEST_PASSWORD}, ++ 'port' => $ENV{GENTOO_DB_PORT} || undef, + 'password' => '', 'schema_sql' => ['../biosql-schema/sql/biosqldb-mysql.sql'], -- 'database' => 'biosql', -+ 'database' => $ENV{GENTOO_DB_TEST_DB}, - 'module' => 'Bio::DB::BioSQL::DBAdaptor' - }; - + 'database' => 'biosql', -- 2.13.1 |