Daiki Ueno <[email protected]> writes: > Hmm, that's unfortunate indeed. Okay, let's remove the filename > conflicts either by adding a test script wrapper or sanitizing all the > tests.
Here is a patch in the former approach (might be a bit hacky). Regards, -- Daiki Ueno
>From b91aafd6b9bc8d1b9d637a346a3ce31e6fad8cae Mon Sep 17 00:00:00 2001 From: Daiki Ueno <[email protected]> Date: Tue, 28 May 2013 19:09:05 +0900 Subject: [PATCH] Add a test wrapper to avoid temp file name collision. --- gettext-tools/configure.ac | 1 + gettext-tools/tests/Makefile.am | 6 ++++-- gettext-tools/tests/runtest.in | 29 +++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 gettext-tools/tests/runtest.in diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac index 373d3cc..ab12412 100644 --- a/gettext-tools/configure.ac +++ b/gettext-tools/configure.ac @@ -548,6 +548,7 @@ AC_CONFIG_FILES([man/x-to-1]) AC_CONFIG_FILES([m4/Makefile]) AC_CONFIG_FILES([tests/Makefile]) +AC_CONFIG_FILES([tests/runtest], [chmod a+x tests/runtest]) AC_CONFIG_FILES([gnulib-tests/Makefile]) diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am index f2c4848..0e4a03d 100644 --- a/gettext-tools/tests/Makefile.am +++ b/gettext-tools/tests/Makefile.am @@ -19,6 +19,7 @@ AUTOMAKE_OPTIONS = 1.11 gnits no-dependencies color-tests EXTRA_DIST = MOSTLYCLEANFILES = core *.stackdump +DISTCLEANFILES = runtest TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \ gettext-8 \ @@ -147,7 +148,8 @@ EXTRA_DIST += $(TESTS) \ ChangeLog.0 \ gettext-3-1.po gettext-3-2.po gettext-4.po gettext-5.po \ gettext-6-1.po gettext-6-2.po gettext-7.po \ - gettextpo-1.de.po + gettextpo-1.de.po \ + runtest.in XGETTEXT = ../src/xgettext @@ -196,7 +198,7 @@ TESTS_ENVIRONMENT = top_srcdir=$(top_srcdir) \ LOCALE_JA='@LOCALE_JA@' \ host_os='@host_os@' \ CONFIG_SHELL='$(SHELL)' \ - $(SHELL) + $(SHELL) runtest # Update the expected test results. update-expected: xg-c-1.ok.po diff --git a/gettext-tools/tests/runtest.in b/gettext-tools/tests/runtest.in new file mode 100644 index 0000000..bd8c44b --- /dev/null +++ b/gettext-tools/tests/runtest.in @@ -0,0 +1,29 @@ +#!/bin/sh + +tmpfiles= +trap 'rm -fr $tmpfiles' 1 2 3 15 + +# Override top_srcdir and srcdir with the absolute paths, as we run +# the test in a different directory than builddir. +top_srcdir=@abs_top_srcdir@ +srcdir=@abs_srcdir@ + +tst=$1; shift + +case "$tst" in + */*) + tst=`expr "$tst" : '.*/\(.*\)'` + ;; +esac + +tmpfiles="$tmpfiles tmp-$tst" + +mkdir "tmp-$tst" + +# Some tests depend on the fact that the name of builddir is "tests". +# For example, msgfmt-1 does: TEXTDOMAINDIR=.. LANGUAGE=tests ${GETTEXT} +mkdir "tmp-$tst/tests" + +(cd "tmp-$tst/tests" && "$srcdir/$tst" ${1+"$@"}) + +rm -fr $tmpfiles -- 1.8.2.1
