php-ext-source-r3.eclass: Add src_test function
authorThomas Deutschmann <whissi@gentoo.org>
Tue, 11 Oct 2016 22:24:36 +0000 (00:24 +0200)
committerThomas Deutschmann <whissi@gentoo.org>
Tue, 11 Oct 2016 22:25:03 +0000 (00:25 +0200)
php-ext-source-r3 eclass currently does not provide FEATURES=test support
like php-ext-pecl-r3 eclass does. This commit will add and export the
src_test function from php-ext-pecl-r3 eclass to php-ext-source-r3 eclass
to allow testing of PHP standalone extensions as well.

eclass/php-ext-source-r3.eclass

index 3372a4b8347084c7a246cedfa670a585e9fc362e..f2999d43c44fe5047d67f98355e19e46ac34630d 100644 (file)
@@ -12,7 +12,7 @@
 
 inherit autotools
 
-EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_install
+EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_install src_test
 
 case ${EAPI} in
        6) ;;
@@ -230,6 +230,18 @@ php-ext-source-r3_src_install() {
        php-ext-source-r3_createinifiles
 }
 
+# @FUNCTION: php-ext-source-r3_src_test
+# @DESCRIPTION:
+# Run tests delivered with the standalone PHP extension. Phpize will have generated
+# a run-tests.php file to be executed by `make test`. We only need to
+# force the test suite to run in non-interactive mode.
+php-ext-source-r3_src_test() {
+       for slot in $(php_get_slots); do
+               php_init_slot_env "${slot}"
+               NO_INTERACTION="yes" emake test
+       done
+}
+
 # @FUNCTION: php_get_slots
 # @DESCRIPTION:
 # Get a list of PHP slots contained in both the ebuild's USE_PHP and the