changeset 40128:a2e861fa78d1

gnulib-tool: Support running testdirs on Android. * build-aux/test-driver.diff: New file. * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch build-aux/test-driver after running automake.
author Bruno Haible <bruno@clisp.org>
date Wed, 23 Jan 2019 05:11:54 +0100
parents 84b27f50318d
children fc1768dc2fc5
files ChangeLog build-aux/test-driver.diff gnulib-tool
diffstat 3 files changed, 45 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Jan 24 07:37:10 2019 +0100
+++ b/ChangeLog	Wed Jan 23 05:11:54 2019 +0100
@@ -1,3 +1,10 @@
+2019-01-23  Bruno Haible  <bruno@clisp.org>
+
+	gnulib-tool: Support running testdirs on Android.
+	* build-aux/test-driver.diff: New file.
+	* gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
+	build-aux/test-driver after running automake.
+
 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
 
 	relocatable-prog: avoid warnings from Automake
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build-aux/test-driver.diff	Wed Jan 23 05:11:54 2019 +0100
@@ -0,0 +1,14 @@
+--- test-driver.bak	2019-01-23 03:22:06.672283432 +0100
++++ test-driver	2019-01-23 04:23:21.201060757 +0100
+@@ -104,7 +104,10 @@
+ trap "st=143; $do_exit" 15
+
+ # Test script is run here.
+-"$@" >$log_file 2>&1
++case "$1" in
++  *.sh) sh "$@" >$log_file 2>&1 ;;
++  *)    "$@" >$log_file 2>&1 ;;
++esac
+ estatus=$?
+
+ if test $enable_hard_errors = no && test $estatus -eq 99; then
--- a/gnulib-tool	Thu Jan 24 07:37:10 2019 +0100
+++ b/gnulib-tool	Wed Jan 23 05:11:54 2019 +0100
@@ -6654,27 +6654,32 @@
   if test -n "$distributed_built_sources" || test -n "$tests_distributed_built_sources"; then
     (cd "$testdir"
      ./configure || func_exit 1
-       if test -n "$distributed_built_sources"; then
-         cd "$sourcebase"
-         echo 'built_sources: $(BUILT_SOURCES)' >> Makefile
-         $MAKE AUTOCONF="${AUTOCONF}" AUTOHEADER="${AUTOHEADER}" ACLOCAL="${ACLOCAL}" AUTOMAKE="${AUTOMAKE}" AUTORECONF="${AUTORECONF}" AUTOPOINT="${AUTOPOINT}" LIBTOOLIZE="${LIBTOOLIZE}" \
-               built_sources \
-           || func_exit 1
-         cd ..
-       fi
-       if test -n "$tests_distributed_built_sources"; then
-         cd "$testsbase"
-         echo 'built_sources: $(BUILT_SOURCES)' >> Makefile
-         $MAKE AUTOCONF="${AUTOCONF}" AUTOHEADER="${AUTOHEADER}" ACLOCAL="${ACLOCAL}" AUTOMAKE="${AUTOMAKE}" AUTORECONF="${AUTORECONF}" AUTOPOINT="${AUTOPOINT}" LIBTOOLIZE="${LIBTOOLIZE}" \
-               built_sources \
-           || func_exit 1
-         cd ..
-       fi
+     if test -n "$distributed_built_sources"; then
+       cd "$sourcebase"
+       echo 'built_sources: $(BUILT_SOURCES)' >> Makefile
+       $MAKE AUTOCONF="${AUTOCONF}" AUTOHEADER="${AUTOHEADER}" ACLOCAL="${ACLOCAL}" AUTOMAKE="${AUTOMAKE}" AUTORECONF="${AUTORECONF}" AUTOPOINT="${AUTOPOINT}" LIBTOOLIZE="${LIBTOOLIZE}" \
+             built_sources \
+         || func_exit 1
+       cd ..
+     fi
+     if test -n "$tests_distributed_built_sources"; then
+       cd "$testsbase"
+       echo 'built_sources: $(BUILT_SOURCES)' >> Makefile
+       $MAKE AUTOCONF="${AUTOCONF}" AUTOHEADER="${AUTOHEADER}" ACLOCAL="${ACLOCAL}" AUTOMAKE="${AUTOMAKE}" AUTORECONF="${AUTORECONF}" AUTOPOINT="${AUTOPOINT}" LIBTOOLIZE="${LIBTOOLIZE}" \
+             built_sources \
+         || func_exit 1
+       cd ..
+     fi
      $MAKE AUTOCONF="${AUTOCONF}" AUTOHEADER="${AUTOHEADER}" ACLOCAL="${ACLOCAL}" AUTOMAKE="${AUTOMAKE}" AUTORECONF="${AUTORECONF}" AUTOPOINT="${AUTOPOINT}" LIBTOOLIZE="${LIBTOOLIZE}" \
            distclean \
        || func_exit 1
     ) || func_exit 1
   fi
+  (cd "$testdir"
+   if test -f build-aux/test-driver; then
+     patch build-aux/test-driver < "$gnulib_dir"/build-aux/test-driver.diff || func_exit 1
+   fi
+  ) || func_exit 1
 }
 
 # func_create_megatestdir megatestdir allmodules
@@ -6775,6 +6780,9 @@
    func_execute_command ${AUTOCONF} || func_exit 1
    func_execute_command ${AUTOMAKE} --add-missing --copy || func_exit 1
    rm -rf autom4te.cache
+   if test -f build-aux/test-driver; then
+     patch build-aux/test-driver < "$gnulib_dir"/build-aux/test-driver.diff || func_exit 1
+   fi
   ) || func_exit 1
 }