Signed-off-by: Michał Górny <mgo...@gentoo.org>
---
 eclass/tests/distutils-r1.sh | 67 +++++++++++++++++++++++++++++++++++-
 1 file changed, 66 insertions(+), 1 deletion(-)

diff --git a/eclass/tests/distutils-r1.sh b/eclass/tests/distutils-r1.sh
index d557f6cad534..d5f3e2812ca4 100755
--- a/eclass/tests/distutils-r1.sh
+++ b/eclass/tests/distutils-r1.sh
@@ -17,6 +17,36 @@ test-phase_name_free() {
        fi
 }
 
+test-distutils_enable_tests() {
+       local runner=${1}
+       local exp_IUSE=${2}
+       local exp_RESTRICT=${3}
+       local exp_DEPEND=${4}
+
+       local IUSE=${IUSE}
+       local RESTRICT=${RESTRICT}
+       local DEPEND=${DEPEND}
+
+       tbegin "${runner}"
+
+       distutils_enable_tests "${runner}"
+
+       local ret var
+       for var in IUSE RESTRICT DEPEND; do
+               local exp_var=exp_${var}
+               if [[ ${!var} != "${!exp_var}" ]]; then
+                       eindent
+                       eerror "${var} expected: ${!exp_var}"
+                       eerror "${var}   actual: ${!var}"
+                       eoutdent
+                       ret=1
+                       tret=1
+               fi
+       done
+
+       tend ${ret}
+}
+
 inherit distutils-r1
 
 tbegin "sane function names"
@@ -27,6 +57,41 @@ test-phase_name_free python_compile
 test-phase_name_free python_test
 test-phase_name_free python_install
 
-tend ${failed}
+tend
+
+einfo distutils_enable_tests
+eindent
+BASE_IUSE="python_targets_python2_7"
+BASE_DEPS="python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) 
>=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)]"
+TEST_RESTRICT=" !test? ( test )"
+
+einfo "empty RDEPEND"
+eindent
+RDEPEND=""
+test-distutils_enable_tests pytest \
+       "${BASE_IUSE} test" "${TEST_RESTRICT}" "${BASE_DEPS} test? ( 
dev-python/pytest[${PYTHON_USEDEP}]  )"
+test-distutils_enable_tests nose \
+       "${BASE_IUSE} test" "${TEST_RESTRICT}" "${BASE_DEPS} test? ( 
dev-python/nose[${PYTHON_USEDEP}]  )"
+test-distutils_enable_tests unittest \
+       "${BASE_IUSE}" "" "${BASE_DEPS}"
+test-distutils_enable_tests setup.py \
+       "${BASE_IUSE}" "" "${BASE_DEPS}"
+eoutdent
+
+einfo "non-empty RDEPEND"
+eindent
+BASE_RDEPEND="dev-python/foo[${PYTHON_USEDEP}]"
+RDEPEND=${BASE_RDEPEND}
+test-distutils_enable_tests pytest \
+       "${BASE_IUSE} test" "${TEST_RESTRICT}" "${BASE_DEPS} test? ( 
dev-python/pytest[${PYTHON_USEDEP}] ${BASE_RDEPEND} )"
+test-distutils_enable_tests nose \
+       "${BASE_IUSE} test" "${TEST_RESTRICT}" "${BASE_DEPS} test? ( 
dev-python/nose[${PYTHON_USEDEP}] ${BASE_RDEPEND} )"
+test-distutils_enable_tests unittest \
+       "${BASE_IUSE} test" "${TEST_RESTRICT}" "${BASE_DEPS} test? (  
${BASE_RDEPEND} )"
+test-distutils_enable_tests setup.py \
+       "${BASE_IUSE} test" "${TEST_RESTRICT}" "${BASE_DEPS} test? (  
${BASE_RDEPEND} )"
+eoutdent
+
+eoutdent
 
 texit
-- 
2.24.0


Reply via email to