123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- # Copyright 1999-2015 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- EAPI=5
- MY_EXTRAS_VER="20151117-2040Z"
- BUILD="cmake"
- inherit toolchain-funcs java-pkg-opt-2 mysql-v2
- # only to make repoman happy. it is really set in the eclass
- IUSE="$IUSE"
- # REMEMBER: also update eclass/mysql*.eclass before committing!
- KEYWORDS="~amd64 ~x86"
- # When MY_EXTRAS is bumped, the index should be revised to exclude these.
- # This is often broken still
- #EPATCH_EXCLUDE=''
- DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )"
- RDEPEND="!media-sound/amarok[embedded]"
- # Please do not add a naive src_unpack to this ebuild
- # If you want to add a single patch, copy the ebuild to an overlay
- # and create your own mysql-extras tarball, looking at 000_index.txt
- # Official test instructions:
- # USE='cluster extraengine perl ssl community' \
- # FEATURES='test userpriv -usersandbox' \
- # 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"
- 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"
- einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
- 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))"
- # create directories because mysqladmin might right out of order
- mkdir -p "${T}"/var-tests{,/log}
- # These are failing in MySQL 5.5 for now and are believed to be
- # false positives:
- #
- # 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.
- #
- # 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)
- #
- 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 \
- main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \
- 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="${T}/var-tests" \
- --parallel=auto
- retstatus_tests=$?
- [[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
- has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
- 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_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
- }
|