summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/mariadb-connector-c')
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild24
-rw-r--r--dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild24
2 files changed, 48 insertions, 0 deletions
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild
index f5de26435990..17e775c57359 100644
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-3.2.5.ebuild
@@ -43,12 +43,28 @@ DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
)
)
"
+BDEPEND="test? ( dev-db/mariadb[server] )"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}"/gentoo-layout-3.0.patch
"${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
)
+src_prepare() {
+ # These tests the remote_io plugin which requires network access
+ sed -i 's/{"test_remote1", test_remote1, TEST_CONNECTION_NEW, 0, NULL, NULL},//g' "unittest/libmariadb/misc.c" || die
+
+ # These tests don't work with --skip-grant-tables
+ sed -i 's/{"test_conc366", test_conc366, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+ sed -i 's/{"test_conc66", test_conc66, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+
+ # [Warning] Aborted connection 2078 to db: 'test' user: 'root' host: '' (Got an error reading communication packets)
+ # Not sure about this one - might also require network access
+ sed -i 's/{"test_default_auth", test_default_auth, TEST_CONNECTION_NONE, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+
+ cmake_src_prepare
+}
+
multilib_src_configure() {
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
@@ -70,6 +86,14 @@ multilib_src_configure() {
cmake_src_configure
}
+multilib_src_test() {
+ mkdir -vp "${T}/mysql/data" || die
+ mysql_install_db --no-defaults --datadir="${T}/mysql/data" || die
+ mysqld --no-defaults --datadir="${T}/mysql/data" --socket="${T}/mysql/mysql.sock" --skip-grant-tables --skip-networking &
+ while ! mysqladmin ping --socket="${T}/mysql/mysql.sock" --silent ; do sleep 1 ; done
+ cd unittest/libmariadb && MYSQL_TEST_SOCKET="${T}/mysql/mysql.sock" MARIADB_CC_TEST=1 ctest --verbose || die
+}
+
multilib_src_install_all() {
if ! use static-libs ; then
find "${ED}" -name "*.a" -delete || die
diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
index f31b6bb77e17..9799342c7442 100644
--- a/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-9999.ebuild
@@ -43,12 +43,28 @@ DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
)
)
"
+BDEPEND="test? ( dev-db/mariadb[server] )"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}"/gentoo-layout-3.0.patch
"${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
)
+src_prepare() {
+ # These tests the remote_io plugin which requires network access
+ sed -i 's/{"test_remote1", test_remote1, TEST_CONNECTION_NEW, 0, NULL, NULL},//g' "unittest/libmariadb/misc.c" || die
+
+ # These tests don't work with --skip-grant-tables
+ sed -i 's/{"test_conc366", test_conc366, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+ sed -i 's/{"test_conc66", test_conc66, TEST_CONNECTION_DEFAULT, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+
+ # [Warning] Aborted connection 2078 to db: 'test' user: 'root' host: '' (Got an error reading communication packets)
+ # Not sure about this one - might also require network access
+ sed -i 's/{"test_default_auth", test_default_auth, TEST_CONNECTION_NONE, 0, NULL, NULL},//g' "unittest/libmariadb/connection.c" || die
+
+ cmake_src_prepare
+}
+
multilib_src_configure() {
# bug 508724 mariadb cannot use ld.gold
tc-ld-disable-gold
@@ -70,6 +86,14 @@ multilib_src_configure() {
cmake_src_configure
}
+multilib_src_test() {
+ mkdir -vp "${T}/mysql/data" || die
+ mysql_install_db --no-defaults --datadir="${T}/mysql/data" || die
+ mysqld --no-defaults --datadir="${T}/mysql/data" --socket="${T}/mysql/mysql.sock" --skip-grant-tables --skip-networking &
+ while ! mysqladmin ping --socket="${T}/mysql/mysql.sock" --silent ; do sleep 1 ; done
+ cd unittest/libmariadb && MYSQL_TEST_SOCKET="${T}/mysql/mysql.sock" MARIADB_CC_TEST=1 ctest --verbose || die
+}
+
multilib_src_install_all() {
if ! use static-libs ; then
find "${ED}" -name "*.a" -delete || die