From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <gentoo-commits+bounces-609476-garchives=archives.gentoo.org@lists.gentoo.org> Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 1B8921381F3 for <garchives@archives.gentoo.org>; Tue, 16 Jul 2013 02:48:56 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 67968E09F4; Tue, 16 Jul 2013 02:48:53 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id E3572E09F4 for <gentoo-commits@lists.gentoo.org>; Tue, 16 Jul 2013 02:48:52 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id CA2B733E80A for <gentoo-commits@lists.gentoo.org>; Tue, 16 Jul 2013 02:48:51 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 50086E468F for <gentoo-commits@lists.gentoo.org>; Tue, 16 Jul 2013 02:48:49 +0000 (UTC) From: "Brian Evans" <grknight@lavabit.com> To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Brian Evans" <grknight@lavabit.com> Message-ID: <1373942821.5964ad1abbf66ca4021a4ba7241071c5a5b67b7f.grknight.pub@gentoo> Subject: [gentoo-commits] proj/mysql:master commit in: dev-db/mysql-cluster/ X-VCS-Repository: proj/mysql X-VCS-Files: dev-db/mysql-cluster/mysql-cluster-7.2.13.ebuild dev-db/mysql-cluster/mysql-cluster-7.3.0.ebuild X-VCS-Directories: dev-db/mysql-cluster/ X-VCS-Committer: grknight.pub X-VCS-Committer-Name: Brian Evans X-VCS-Revision: 5964ad1abbf66ca4021a4ba7241071c5a5b67b7f X-VCS-Branch: master Date: Tue, 16 Jul 2013 02:48:49 +0000 (UTC) Precedence: bulk List-Post: <mailto:gentoo-commits@lists.gentoo.org> List-Help: <mailto:gentoo-commits+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org> X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 6f0045bc-442e-4926-ac98-0bf87b7df3b0 X-Archives-Hash: a2b9d04127fe3984eee181a981cfc03f commit: 5964ad1abbf66ca4021a4ba7241071c5a5b67b7f Author: Brian Evans <grknight <AT> lavabit <DOT> com> AuthorDate: Wed Jul 3 02:24:16 2013 +0000 Commit: Brian Evans <grknight <AT> lavabit <DOT> com> CommitDate: Tue Jul 16 02:47:01 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/mysql.git;a=commit;h=5964ad1a [mysql-cluster] Fix tests --- dev-db/mysql-cluster/mysql-cluster-7.2.13.ebuild | 211 ++++++----------------- dev-db/mysql-cluster/mysql-cluster-7.3.0.ebuild | 211 ++++++----------------- 2 files changed, 110 insertions(+), 312 deletions(-) diff --git a/dev-db/mysql-cluster/mysql-cluster-7.2.13.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.2.13.ebuild index f00e591..cb8f4ec 100644 --- a/dev-db/mysql-cluster/mysql-cluster-7.2.13.ebuild +++ b/dev-db/mysql-cluster/mysql-cluster-7.2.13.ebuild @@ -30,200 +30,99 @@ RDEPEND="!media-sound/amarok[embedded]" # and create your own mysql-extras tarball, looking at 000_index.txt # Official test instructions: -# USE='berkdb -cluster embedded extraengine perl ssl community' \ +# USE='cluster extraengine perl ssl community' \ # FEATURES='test userpriv -usersandbox' \ -# ebuild mysql-X.X.XX.ebuild \ +# ebuild mysql-cluster-X.X.XX.ebuild \ # digest clean package src_test() { + + local TESTDIR="${CMAKE_BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + # Bug #213475 - MySQL _will_ object strenously if your machine is named # localhost. Also causes weird failures. [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - emake check || die "make check failed" if ! use "minimal" ; then + if [[ $UID -eq 0 ]]; then die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." fi has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" - cd "${S}" + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" - local retstatus_unit - local retstatus_ns - local retstatus_ps - local t addpredict /this-dir-does-not-exist/t9.MYI + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed" + # Ensure that parallel runs don't die export MTR_BUILD_THREAD="$((${RANDOM} % 100))" - # archive_gis really sucks a lot, but it's only relevant for the - # USE=extraengines case - case ${PV} in - 5.0.42) - mysql_disable_test "archive_gis" "Totally broken in 5.0.42" - ;; - - 5.0.4[3-9]|5.0.[56]*|5.0.70|5.0.87) - [ "$(tc-endian)" == "big" ] && \ - mysql_disable_test \ - "archive_gis" \ - "Broken in 5.0.43-70 and 5.0.87 on big-endian boxes only" - ;; - esac - - # This was a slight testcase breakage when the read_only security issue - # was fixed. - case ${PV} in - 5.0.54|5.0.51*) - mysql_disable_test \ - "read_only" \ - "Broken in 5.0.51-54, output in wrong order" - ;; - esac - - # Ditto to read_only - [ "${PV}" == "5.0.51a" ] && \ - mysql_disable_test \ - "view" \ - "Broken in 5.0.51, output in wrong order" - - # x86-specific, OOM issue with some subselects on low memory servers - [ "${PV}" == "5.0.54" ] && \ - [ "${ARCH/x86}" != "${ARCH}" ] && \ - mysql_disable_test \ - "subselect" \ - "Testcase needs tuning on x86 for oom condition" - - # Broke with the YaSSL security issue that didn't affect Gentoo. - [ "${PV}" == "5.0.56" ] && \ - for t in openssl_1 rpl_openssl rpl_ssl ssl \ - ssl_8k_key ssl_compress ssl_connect ; do \ - mysql_disable_test \ - "$t" \ - "OpenSSL tests broken on 5.0.56" - done - - # New test was broken in first time - # Upstream bug 41066 - # http://bugs.mysql.com/bug.php?id=41066 - [ "${PV}" == "5.0.72" ] && \ - mysql_disable_test \ - "status2" \ - "Broken in 5.0.72, new test is broken, upstream bug #41066" - - # The entire 5.0 series has pre-generated SSL certificates, they have - # mostly expired now. ${S}/mysql-tests/std-data/*.pem - # The certs really SHOULD be generated for the tests, so that they are - # not expiring like this. We cannot do so ourselves as the tests look - # closely as the cert path data, and we do not have the CA key to regen - # ourselves. Alternatively, upstream should generate them with at least - # 50-year validity. - # - # Known expiry points: - # 4.1.*, 5.0.0-5.0.22, 5.1.7: Expires 2013/09/09 - # 5.0.23-5.0.77, 5.1.7-5.1.22?: Expires 2009/01/27 - # 5.0.78-5.0.90, 5.1.??-5.1.42: Expires 2010/01/28 - # - # mysql-test/std_data/untrusted-cacert.pem is MEANT to be - # expired/invalid. - case ${PV} in - 5.0.*|5.1.*|5.4.*|5.5.*) - for t in openssl_1 rpl_openssl rpl.rpl_ssl rpl.rpl_ssl1 ssl ssl_8k_key \ - ssl_compress ssl_connect rpl.rpl_heartbeat_ssl ; do \ - mysql_disable_test \ - "$t" \ - "These OpenSSL tests break due to expired certificates" - done - ;; - esac - - # These are also failing in MySQL 5.1 for now, and are believed to be + # create directories because mysqladmin might right out of order + mkdir -p "${S}"/mysql-test/var-tests{,/log} + + # These are failing in MySQL 5.5 for now and are believed to be # false positives: # - # main.mysql_comment, main.mysql_upgrade, main.information_schema, - # funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers: + # main.information_schema, binlog.binlog_statement_insert_delayed, + # main.mysqld--help-notwin, ndb.ndbinfo, ndb_binlog.ndb_binlog_index # fails due to USE=-latin1 / utf8 default # # main.mysql_client_test: # segfaults at random under Portage only, suspect resource limits. # - # main.not_partition: - # Failure reason unknown at this time, must resolve before package.mask - # removal FIXME - case ${PV} in - 5.1.*|5.4.*|5.5.*) - for t in main.mysql_client_test main.mysql_comments \ - main.mysql_upgrade \ - main.information_schema \ - main.not_partition funcs_1.is_columns_mysql \ - funcs_1.is_tables_mysql funcs_1.is_triggers; do - mysql_disable_test "$t" "False positives in Gentoo" - done - ;; - esac - - use profiling && use community \ - || mysql_disable_test main.profiling \ - "Profiling test needs profiling support" - - if [ "${PN}" == "mariadb" ]; then - for t in \ - parts.part_supported_sql_func_ndb \ - parts.partition_auto_increment_ndb ; do - mysql_disable_test $t "ndb not supported in mariadb" - done - fi - - # This fail with XtraDB in place of normal InnoDB - # TODO: test if they are broken with the rest of the Percona patches - if xtradb_patch_available && use xtradb ; then - for t in main.innodb innodb.innodb_bug51378 \ - main.information_schema_db main.mysqlshow \ - main.innodb-autoinc main.innodb_bug21704 \ - main.innodb_bug44369 main.innodb_bug46000 \ - main.index_merge_innodb \ - innodb.innodb innodb.innodb_misc1 innodb.innodb_bug52663 \ - innodb.innodb-autoinc innodb.innodb-autoinc-44030 \ - innodb.innodb_bug21704 innodb.innodb_bug44369 \ - innodb.innodb_bug46000 innodb.innodb_bug48024 \ - innodb.innodb_bug49164 \ - ; do - mysql_disable_test $t "tests broken in xtradb" - done - fi - - # create directories because mysqladmin might make out of order - mkdir -p "${S}"/mysql-test/var-{ps,ns}{,/log} - - # We run the test protocols seperately - emake test-unit - retstatus_unit=$? - [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed" - - emake test-ns force="--force --vardir=${S}/mysql-test/var-ns" - retstatus_ns=$? - [[ $retstatus_ns -eq 0 ]] || eerror "test-ns failed" - has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + # sys_vars.plugin_dir_basic + # fails because PLUGIN_DIR is set to MYSQL_LIBDIR64/plugin + # instead of MYSQL_LIBDIR/plugin + # + # main.flush_read_lock_kill + # fails because of unknown system variable 'DEBUG_SYNC' + # + # main.openssl_1 + # error message changing + # -mysqltest: Could not open connection 'default': 2026 SSL connection + # error: ASN: bad other signature confirmation + # +mysqltest: Could not open connection 'default': 2026 SSL connection + # error: error:00000001:lib(0):func(0):reason(1) + # - emake test-ps force="--force --vardir=${S}/mysql-test/var-ps" - retstatus_ps=$? - [[ $retstatus_ps -eq 0 ]] || eerror "test-ps failed" + for t in main.mysql_client_test \ + binlog.binlog_statement_insert_delayed main.information_schema \ + main.mysqld--help-notwin main.flush_read_lock_kill \ + sys_vars.plugin_dir_basic main.openssl_1 \ + ndb.ndbinfo ndb_binlog.ndb_binlog_index ; do + mysql-v2_disable_test "$t" "False positives in Gentoo" + done + + # Run mysql tests + pushd "${TESTDIR}" + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${S}/mysql-test/var-tests" + retstatus_tests=$? + [[ $retstatus_tests -eq 0 ]] || eerror "tests failed" has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" - # TODO: - # When upstream enables the pr and nr testsuites, we need those as well. + popd # Cleanup is important for these testcases. pkill -9 -f "${S}/ndb" 2>/dev/null pkill -9 -f "${S}/sql" 2>/dev/null + failures="" [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" - [[ $retstatus_ns -eq 0 ]] || failures="${failures} test-ns" - [[ $retstatus_ps -eq 0 ]] || failures="${failures} test-ps" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + [[ -z "$failures" ]] || die "Test failures: $failures" einfo "Tests successfully completed" + else + einfo "Skipping server tests due to minimal build." fi } diff --git a/dev-db/mysql-cluster/mysql-cluster-7.3.0.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.3.0.ebuild index f00e591..cb8f4ec 100644 --- a/dev-db/mysql-cluster/mysql-cluster-7.3.0.ebuild +++ b/dev-db/mysql-cluster/mysql-cluster-7.3.0.ebuild @@ -30,200 +30,99 @@ RDEPEND="!media-sound/amarok[embedded]" # and create your own mysql-extras tarball, looking at 000_index.txt # Official test instructions: -# USE='berkdb -cluster embedded extraengine perl ssl community' \ +# USE='cluster extraengine perl ssl community' \ # FEATURES='test userpriv -usersandbox' \ -# ebuild mysql-X.X.XX.ebuild \ +# ebuild mysql-cluster-X.X.XX.ebuild \ # digest clean package src_test() { + + local TESTDIR="${CMAKE_BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + # Bug #213475 - MySQL _will_ object strenously if your machine is named # localhost. Also causes weird failures. [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - emake check || die "make check failed" if ! use "minimal" ; then + if [[ $UID -eq 0 ]]; then die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." fi has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" - cd "${S}" + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" - local retstatus_unit - local retstatus_ns - local retstatus_ps - local t addpredict /this-dir-does-not-exist/t9.MYI + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed" + # Ensure that parallel runs don't die export MTR_BUILD_THREAD="$((${RANDOM} % 100))" - # archive_gis really sucks a lot, but it's only relevant for the - # USE=extraengines case - case ${PV} in - 5.0.42) - mysql_disable_test "archive_gis" "Totally broken in 5.0.42" - ;; - - 5.0.4[3-9]|5.0.[56]*|5.0.70|5.0.87) - [ "$(tc-endian)" == "big" ] && \ - mysql_disable_test \ - "archive_gis" \ - "Broken in 5.0.43-70 and 5.0.87 on big-endian boxes only" - ;; - esac - - # This was a slight testcase breakage when the read_only security issue - # was fixed. - case ${PV} in - 5.0.54|5.0.51*) - mysql_disable_test \ - "read_only" \ - "Broken in 5.0.51-54, output in wrong order" - ;; - esac - - # Ditto to read_only - [ "${PV}" == "5.0.51a" ] && \ - mysql_disable_test \ - "view" \ - "Broken in 5.0.51, output in wrong order" - - # x86-specific, OOM issue with some subselects on low memory servers - [ "${PV}" == "5.0.54" ] && \ - [ "${ARCH/x86}" != "${ARCH}" ] && \ - mysql_disable_test \ - "subselect" \ - "Testcase needs tuning on x86 for oom condition" - - # Broke with the YaSSL security issue that didn't affect Gentoo. - [ "${PV}" == "5.0.56" ] && \ - for t in openssl_1 rpl_openssl rpl_ssl ssl \ - ssl_8k_key ssl_compress ssl_connect ; do \ - mysql_disable_test \ - "$t" \ - "OpenSSL tests broken on 5.0.56" - done - - # New test was broken in first time - # Upstream bug 41066 - # http://bugs.mysql.com/bug.php?id=41066 - [ "${PV}" == "5.0.72" ] && \ - mysql_disable_test \ - "status2" \ - "Broken in 5.0.72, new test is broken, upstream bug #41066" - - # The entire 5.0 series has pre-generated SSL certificates, they have - # mostly expired now. ${S}/mysql-tests/std-data/*.pem - # The certs really SHOULD be generated for the tests, so that they are - # not expiring like this. We cannot do so ourselves as the tests look - # closely as the cert path data, and we do not have the CA key to regen - # ourselves. Alternatively, upstream should generate them with at least - # 50-year validity. - # - # Known expiry points: - # 4.1.*, 5.0.0-5.0.22, 5.1.7: Expires 2013/09/09 - # 5.0.23-5.0.77, 5.1.7-5.1.22?: Expires 2009/01/27 - # 5.0.78-5.0.90, 5.1.??-5.1.42: Expires 2010/01/28 - # - # mysql-test/std_data/untrusted-cacert.pem is MEANT to be - # expired/invalid. - case ${PV} in - 5.0.*|5.1.*|5.4.*|5.5.*) - for t in openssl_1 rpl_openssl rpl.rpl_ssl rpl.rpl_ssl1 ssl ssl_8k_key \ - ssl_compress ssl_connect rpl.rpl_heartbeat_ssl ; do \ - mysql_disable_test \ - "$t" \ - "These OpenSSL tests break due to expired certificates" - done - ;; - esac - - # These are also failing in MySQL 5.1 for now, and are believed to be + # create directories because mysqladmin might right out of order + mkdir -p "${S}"/mysql-test/var-tests{,/log} + + # These are failing in MySQL 5.5 for now and are believed to be # false positives: # - # main.mysql_comment, main.mysql_upgrade, main.information_schema, - # funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers: + # main.information_schema, binlog.binlog_statement_insert_delayed, + # main.mysqld--help-notwin, ndb.ndbinfo, ndb_binlog.ndb_binlog_index # fails due to USE=-latin1 / utf8 default # # main.mysql_client_test: # segfaults at random under Portage only, suspect resource limits. # - # main.not_partition: - # Failure reason unknown at this time, must resolve before package.mask - # removal FIXME - case ${PV} in - 5.1.*|5.4.*|5.5.*) - for t in main.mysql_client_test main.mysql_comments \ - main.mysql_upgrade \ - main.information_schema \ - main.not_partition funcs_1.is_columns_mysql \ - funcs_1.is_tables_mysql funcs_1.is_triggers; do - mysql_disable_test "$t" "False positives in Gentoo" - done - ;; - esac - - use profiling && use community \ - || mysql_disable_test main.profiling \ - "Profiling test needs profiling support" - - if [ "${PN}" == "mariadb" ]; then - for t in \ - parts.part_supported_sql_func_ndb \ - parts.partition_auto_increment_ndb ; do - mysql_disable_test $t "ndb not supported in mariadb" - done - fi - - # This fail with XtraDB in place of normal InnoDB - # TODO: test if they are broken with the rest of the Percona patches - if xtradb_patch_available && use xtradb ; then - for t in main.innodb innodb.innodb_bug51378 \ - main.information_schema_db main.mysqlshow \ - main.innodb-autoinc main.innodb_bug21704 \ - main.innodb_bug44369 main.innodb_bug46000 \ - main.index_merge_innodb \ - innodb.innodb innodb.innodb_misc1 innodb.innodb_bug52663 \ - innodb.innodb-autoinc innodb.innodb-autoinc-44030 \ - innodb.innodb_bug21704 innodb.innodb_bug44369 \ - innodb.innodb_bug46000 innodb.innodb_bug48024 \ - innodb.innodb_bug49164 \ - ; do - mysql_disable_test $t "tests broken in xtradb" - done - fi - - # create directories because mysqladmin might make out of order - mkdir -p "${S}"/mysql-test/var-{ps,ns}{,/log} - - # We run the test protocols seperately - emake test-unit - retstatus_unit=$? - [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed" - - emake test-ns force="--force --vardir=${S}/mysql-test/var-ns" - retstatus_ns=$? - [[ $retstatus_ns -eq 0 ]] || eerror "test-ns failed" - has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + # sys_vars.plugin_dir_basic + # fails because PLUGIN_DIR is set to MYSQL_LIBDIR64/plugin + # instead of MYSQL_LIBDIR/plugin + # + # main.flush_read_lock_kill + # fails because of unknown system variable 'DEBUG_SYNC' + # + # main.openssl_1 + # error message changing + # -mysqltest: Could not open connection 'default': 2026 SSL connection + # error: ASN: bad other signature confirmation + # +mysqltest: Could not open connection 'default': 2026 SSL connection + # error: error:00000001:lib(0):func(0):reason(1) + # - emake test-ps force="--force --vardir=${S}/mysql-test/var-ps" - retstatus_ps=$? - [[ $retstatus_ps -eq 0 ]] || eerror "test-ps failed" + for t in main.mysql_client_test \ + binlog.binlog_statement_insert_delayed main.information_schema \ + main.mysqld--help-notwin main.flush_read_lock_kill \ + sys_vars.plugin_dir_basic main.openssl_1 \ + ndb.ndbinfo ndb_binlog.ndb_binlog_index ; do + mysql-v2_disable_test "$t" "False positives in Gentoo" + done + + # Run mysql tests + pushd "${TESTDIR}" + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${S}/mysql-test/var-tests" + retstatus_tests=$? + [[ $retstatus_tests -eq 0 ]] || eerror "tests failed" has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" - # TODO: - # When upstream enables the pr and nr testsuites, we need those as well. + popd # Cleanup is important for these testcases. pkill -9 -f "${S}/ndb" 2>/dev/null pkill -9 -f "${S}/sql" 2>/dev/null + failures="" [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" - [[ $retstatus_ns -eq 0 ]] || failures="${failures} test-ns" - [[ $retstatus_ps -eq 0 ]] || failures="${failures} test-ps" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + [[ -z "$failures" ]] || die "Test failures: $failures" einfo "Tests successfully completed" + else + einfo "Skipping server tests due to minimal build." fi }