distutils-r1.eclass: distutils_enable_tests, handle no deps better
authorMichał Górny <mgorny@gentoo.org>
Fri, 15 Nov 2019 16:16:34 +0000 (17:16 +0100)
committerMichał Górny <mgorny@gentoo.org>
Sat, 16 Nov 2019 11:00:39 +0000 (12:00 +0100)
Do not set IUSE or other variables if the test runner does not have
any deps, and RDEPEND is empty.

Signed-off-by: Michał Górny <mgorny@gentoo.org>
eclass/distutils-r1.eclass

index 2edffdb2d7c507662cfd56ea422bbeb5e410fe52..e2cd076d414813a04026785d31b4fb1b9cbbeafb 100644 (file)
@@ -254,21 +254,16 @@ distutils_enable_tests() {
        debug-print-function ${FUNCNAME} "${@}"
        [[ ${#} -eq 1 ]] || die "${FUNCNAME} takes exactly one argument: test-runner"
 
-       [[ ${EAPI} == [56] ]] && local BDEPEND
-
-       IUSE+=" test"
-       RESTRICT+=" !test? ( test )"
-       BDEPEND+=" test? ("
-
+       local test_deps
        case ${1} in
                nose)
-                       BDEPEND+=" dev-python/nose[${PYTHON_USEDEP}]"
+                       test_deps="dev-python/nose[${PYTHON_USEDEP}]"
                        python_test() {
                                nosetests -v || die "Tests fail with ${EPYTHON}"
                        }
                        ;;
                pytest)
-                       BDEPEND+=" dev-python/pytest[${PYTHON_USEDEP}]"
+                       test_deps="dev-python/pytest[${PYTHON_USEDEP}]"
                        python_test() {
                                pytest -vv || die "Tests fail with ${EPYTHON}"
                        }
@@ -283,9 +278,15 @@ distutils_enable_tests() {
                        die "${FUNCNAME}: unsupported argument: ${1}"
        esac
 
-       BDEPEND+=" ${RDEPEND} )"
-
-       [[ ${EAPI} == [56] ]] && DEPEND+=" ${BDEPEND}"
+       if [[ -n ${test_deps} || -n ${RDEPEND} ]]; then
+               IUSE+=" test"
+               RESTRICT+=" !test? ( test )"
+               if [[ ${EAPI} == [56] ]]; then
+                       DEPEND+=" test? ( ${test_deps} ${RDEPEND} )"
+               else
+                       BDEPEND+=" test? ( ${test_deps} ${RDEPEND} )"
+               fi
+       fi
 
        # we need to ensure successful return in case we're called last,
        # otherwise Portage may wrongly assume sourcing failed