Re: [gentoo-dev] [PATCH 2/3] distutils-r1.eclass: distutils_enable_tests, handle no deps better

2019-11-16 Thread Michał Górny
On Fri, 2019-11-15 at 17:35 +0100, Michał Górny wrote:
> 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 
> ---
>  eclass/distutils-r1.eclass | 23 ---
>  1 file changed, 12 insertions(+), 11 deletions(-)
> 
> diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
> index 99da6f5111cd..f316f85c3fc8 100644
> --- a/eclass/distutils-r1.eclass
> +++ b/eclass/distutils-r1.eclass
> @@ -255,21 +255,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}"
>   }
> @@ -289,9 +284,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

I've pushed this one already since it fixes invalid dependency syntax. 
I'll resend the other two with a small change.

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [PATCH 2/3] distutils-r1.eclass: distutils_enable_tests, handle no deps better

2019-11-15 Thread Michał Górny
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 
---
 eclass/distutils-r1.eclass | 23 ---
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 99da6f5111cd..f316f85c3fc8 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -255,21 +255,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}"
}
@@ -289,9 +284,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
-- 
2.24.0