summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2019-01-23 05:11:54 +0100
committerBruno Haible <bruno@clisp.org>2019-01-25 02:14:20 +0100
commit425ee42259b04956aae20afc5204775ae6e79744 (patch)
treeb5d726501c1feaa6100d75561e56a45007b07883
parent34881aff4043847f2640d90cf9aa325cc3ad08d6 (diff)
downloadgnulib-425ee42259b04956aae20afc5204775ae6e79744.tar.gz
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.
-rw-r--r--ChangeLog7
-rw-r--r--build-aux/test-driver.diff14
-rwxr-xr-xgnulib-tool40
3 files changed, 45 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index a8e03c53bc..7ba92a9192 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/build-aux/test-driver.diff b/build-aux/test-driver.diff
new file mode 100644
index 0000000000..2daab79c7c
--- /dev/null
+++ b/build-aux/test-driver.diff
@@ -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
diff --git a/gnulib-tool b/gnulib-tool
index 9545796fd4..44cfeb3e03 100755
--- a/gnulib-tool
+++ b/gnulib-tool
@@ -6654,27 +6654,32 @@ func_create_testdir ()
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_create_megatestdir ()
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
}