+2013-07-25 Daiki Ueno <ueno@gnu.org>
+
+ tests: allow each test to run individually without 'make'
+ * configure.ac: Replace occurrences of make variables in
+ tests/init.cfg with shell variables so they can be adjusted in
+ test scripts.
+
2013-07-25 Daiki Ueno <ueno@gnu.org>
tests: fix path adjustment for LTLIBINTL
AC_CONFIG_FILES([tests/Makefile])
-AC_CONFIG_FILES([tests/init.cfg])
+AC_CONFIG_FILES([tests/init.cfg], [changequote(<<,>>)
+ # Replace occurrences of make variables with shell variables so they
+ # can be adjusted in test scripts.
+ sed -e 's|\$(\([^)]*\))|${\1}|g' < tests/init.cfg > tests/init.cfg.tmp
+ mv tests/init.cfg.tmp tests/init.cfg
+ changequote([,])])
AC_CONFIG_FILES([gnulib-tests/Makefile])
+2013-07-25 Daiki Ueno <ueno@gnu.org>
+
+ tests: allow each test to run individually without 'make'
+ * Makefile.am (TESTS_ENVIRONMENT): Move required envvar to...
+ * init.cfg.in: ...here, so each test can run individually.
+ * lang-c: Guard if top_srcdir is not set.
+ * lang-c++: Likewise.
+ * lang-objc: Likewise.
+ * msgunfmt-tcl-1: Likewise.
+ * xgettext-1: Likewise.
+ * xgettext-c-1: Likewise.
+
2013-07-25 Daiki Ueno <ueno@gnu.org>
tests: fix path adjustment for LTLIBINTL
MSGUNFMT="$(CHECKER) msgunfmt" \
MSGUNIQ="$(CHECKER) msguniq" \
RECODE="$(CHECKER) recode" \
- OBJEXT='@OBJEXT@' EXEEXT='@EXEEXT@' \
- CC='@CC@' CFLAGS='@CFLAGS@' \
- CXX='@CXX@' CXXFLAGS='@CXXFLAGS@' \
- CPPFLAGS='@CPPFLAGS@' LDFLAGS='@LDFLAGS@' \
- LTLIBINTL='@LTLIBINTL@' \
- JAVA_CHOICE='@JAVA_CHOICE@' \
- BUILDJAVA='@BUILDJAVA@' \
- TESTJAVA='@TESTJAVA@' \
- CSHARP_CHOICE='@CSHARP_CHOICE@' \
- BUILDCSHARP='@BUILDCSHARP@' \
- TESTCSHARP='@TESTCSHARP@' \
- TESTLIBASPRINTF='@TESTLIBASPRINTF@' \
- GLIBC2='@GLIBC2@' \
- LOCALE_FR='@LOCALE_FR@' \
- LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
- LOCALE_JA='@LOCALE_JA@' \
- host_os='@host_os@' \
CONFIG_SHELL='$(SHELL)'
LOG_COMPILER = $(SHELL)
-# Variable needed by LTLIBINTL.
+# Variable needed by LIBTOOL and LTLIBINTL.
top_builddir=../..
+OBJEXT="@OBJEXT@"
+EXEEXT="@EXEEXT@"
+CC="@CC@"
+CFLAGS="@CFLAGS@"
+CXX="@CXX@"
+CXXFLAGS="@CXXFLAGS@"
+CPPFLAGS="@CPPFLAGS@"
+LDFLAGS="@LDFLAGS@"
+LIBTOOL="@LIBTOOL@"
LTLIBINTL="@LTLIBINTL@"
+JAVA_CHOICE="@JAVA_CHOICE@"
+BUILDJAVA="@BUILDJAVA@"
+TESTJAVA="@TESTJAVA@"
+CSHARP_CHOICE="@CSHARP_CHOICE@"
+BUILDCSHARP="@BUILDCSHARP@"
+TESTCSHARP="@TESTCSHARP@"
+TESTLIBASPRINTF="@TESTLIBASPRINTF@"
+GLIBC2="@GLIBC2@"
+LOCALE_FR="@LOCALE_FR@"
+LOCALE_FR_UTF8="@LOCALE_FR_UTF8@"
+LOCALE_JA="@LOCALE_JA@"
+host_os="@host_os@"
+
+: ${GETTEXT=tstgettext}
+: ${NGETTEXT=tstngettext}
+: ${XGETTEXT=xgettext}
+: ${MSGATTRIB=msgattrib}
+: ${MSGCAT=msgcat}
+: ${MSGCMP=msgcmp}
+: ${MSGCOMM=msgcomm}
+: ${MSGCONV=msgconv}
+: ${MSGEN=msgen}
+: ${MSGEXEC=msgexec}
+: ${MSGFILTER=msgfilter}
+: ${MSGFMT=msgfmt}
+: ${MSGGREP=msggrep}
+: ${MSGINIT=msginit}
+: ${MSGMERGE=msgmerge}
+: ${MSGUNFMT=msgunfmt}
+: ${MSGUNIQ=msguniq}
+: ${RECODE=recode}
# is found in the build directory, regardless of -I options present in
# ${CFLAGS} or ${CPPFLAGS}.
: ${LIBTOOL=/bin/sh ../../libtool}
-${LIBTOOL} --quiet --mode=link ${CC} -I../.. -I../$top_srcdir/gnulib-lib ../../gnulib-lib/libgettextlib.la -I../../intl ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -o l-c-prog prog.c ${LTLIBINTL} \
+${LIBTOOL} --quiet --mode=link ${CC} -I../.. -I../${top_srcdir=..}/gnulib-lib ../../gnulib-lib/libgettextlib.la -I../../intl ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -o l-c-prog prog.c ${LTLIBINTL} \
|| exit 1
tmpfiles="$tmpfiles l-c-prog.tmp l-c-prog.pot"
# Put the -I flags before ${CXXFLAGS} ${CPPFLAGS}, to make sure that libintl.h
# is found in the build directory, regardless of -I options present in
# ${CXXFLAGS} or ${CPPFLAGS}.
-${CXX} -I../.. -I../../../gettext-runtime/libasprintf -I../$top_srcdir/gnulib-lib -I../../intl ${CXXFLAGS} ${CPPFLAGS} -c l-c++-prog.cc \
+${CXX} -I../.. -I../../../gettext-runtime/libasprintf -I../${top_srcdir=..}/gnulib-lib -I../../intl ${CXXFLAGS} ${CPPFLAGS} -c l-c++-prog.cc \
|| exit 1
# Remove the -Wl,--disable-auto-import option here that is added by
# woe32-dll.m4. Cygwin 1.7.2 does not support it in C++ mode: It gives
# is found in the build directory, regardless of -I options present in
# ${CFLAGS} or ${CPPFLAGS}.
: ${LIBTOOL=/bin/sh ../../libtool}
-${LIBTOOL} --quiet --mode=link ${CC} -I../.. -I../$top_srcdir/gnulib-lib ../../gnulib-lib/libgettextlib.la -I../../intl ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -o l-objc-prog prog.m ${LTLIBINTL} \
+${LIBTOOL} --quiet --mode=link ${CC} -I../.. -I../${top_srcdir=..}/gnulib-lib ../../gnulib-lib/libgettextlib.la -I../../intl ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -o l-objc-prog prog.m ${LTLIBINTL} \
|| exit 1
tmpfiles="$tmpfiles l-objc-prog.tmp l-objc-prog.pot"
tmpfiles="$tmpfiles mu-tcl-1-prog.out"
: ${MSGUNFMT=msgunfmt}
-GETTEXTDATADIR=../${top_srcdir}/src \
+GETTEXTDATADIR=../${top_srcdir=..}/src \
${MSGUNFMT} --tcl -d mu-tcl-1-msgs -l fr -o mu-tcl-1-prog.out || exit 1
tmpfiles="$tmpfiles mu-tcl-1-prog.ok"
rm -f zero-domain.po
: ${XGETTEXT=xgettext}
LC_MESSAGES=C LC_ALL= \
-${XGETTEXT} -k_ -d zero-domain -x ../$top_srcdir/po/gettext-tools.pot \
- ../$top_srcdir/src/xgettext.c >xg-test1.err 2>&1
+${XGETTEXT} -k_ -d zero-domain -x ../${top_srcdir=..}/po/gettext-tools.pot \
+ ../${top_srcdir=..}/src/xgettext.c >xg-test1.err 2>&1
result=$?
cat xg-test1.err | grep -v 'warning: Charset' | grep -v '^ '
test $result = 0 || { rm -fr $tmpfiles; exit 1; }
tmpfiles="$tmpfiles xg-c-1.tmp.po xg-c-1.po"
: ${XGETTEXT=xgettext}
${XGETTEXT} -d xg-c-1.tmp -k_ --omit-header --no-location \
- ../$top_srcdir/src/xgettext.c ../$top_srcdir/src/msgfmt.c
+ ../${top_srcdir=..}/src/xgettext.c ../${top_srcdir=..}/src/msgfmt.c
test $? = 0 || { rm -fr $tmpfiles; exit 1; }
LC_ALL=C tr -d '\r' < xg-c-1.tmp.po > xg-c-1.po
test $? = 0 || { rm -fr $tmpfiles; exit 1; }