X-Git-Url: http://git.draconx.ca/gitweb/dxcommon.git/blobdiff_plain/5f7a5274914472e4e599fc3fd39764408ce25b14..2fa6f6881b22fe1aabb2d25ed6040fd8e8ddb3b5:/tests/snippets.at diff --git a/tests/snippets.at b/tests/snippets.at index 4352725..dc37d6b 100644 --- a/tests/snippets.at +++ b/tests/snippets.at @@ -1,4 +1,4 @@ -dnl Copyright © 2021-2022 Nick Bowler +dnl Copyright © 2021-2024 Nick Bowler dnl dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2. dnl This is free software: you are free to do what the fuck you want to. @@ -10,8 +10,7 @@ m4_define([TEST_DEPFILES_INIT], [TEST_CONFIGURE_AC( [[AM_INIT_AUTOMAKE([foreign]) -DX_PROG_AUTOTEST -AM_CONDITIONAL([HAVE_AUTOTEST], [test x"$dx_cv_autotest_works" = x"yes"]) +DX_PROG_AUTOTEST_AM AM_SET_DEPDIR AM_OUTPUT_DEPENDENCY_COMMANDS @@ -59,6 +58,37 @@ AT_CHECK([./configure MAKE=dmake && test -f .deps/testsuite.P], [0], [ignore]) AT_CLEANUP +AT_SETUP([autotest.mk no depfiles]) + +TEST_CONFIGURE_AC( +[[AM_INIT_AUTOMAKE([foreign]) + +AM_SET_DEPDIR +AM_OUTPUT_DEPENDENCY_COMMANDS +AM_MAKE_INCLUDE +AM_DEP_TRACK + +DX_AUTOMAKE_COMPAT +AM_CONDITIONAL([HAVE_AUTOTEST], [:]) + +AC_CONFIG_FILES([Makefile]) +]]) + +cp "$srcdir/snippet/autotest.mk" . +AT_DATA([Makefile.am], +[[DISTCLEANFILES = +EXTRA_DIST = +include $(top_srcdir)/autotest.mk +]]) +TEST_AUTORECONF + +TEST_CONFIGURE([--disable-dependency-tracking]) + +AT_DATA([testsuite.at]) +AT_CHECK([make -s AUTOTEST="$srcdir/t/autotest.sh" testsuite]) + +AT_CLEANUP + AT_SETUP([glconfig.mk no depfiles]) TEST_CONFIGURE_AC( @@ -89,3 +119,69 @@ AT_CHECK([make -s lib/glconfig.h]) AT_CHECK([test ! -d lib/.deps && test ! -d lib/_deps && cat lib/glconfig.h]) AT_CLEANUP + +AT_SETUP([gettext.mk .mo installation]) + +cp "$srcdir/snippet/gettext.mk" "$srcdir/t/msgfmt.sh" . +touch a.po b.po +TEST_CONFIGURE_AC( +[[AM_INIT_AUTOMAKE([foreign]) +AC_CONFIG_FILES([Makefile]) +]]) + +AT_DATA([Makefile.am], +[[MSGFMT = $(SHELL) $(top_srcdir)/msgfmt.sh +EXTRA_DIST = +MAINTAINERCLEANFILES = +POFILES = a.po b.po +MOFILES = a.mo b.mo +include $(top_srcdir)/gettext.mk +]]) +TEST_AUTORECONF + +mkdir build +(cd build && TEST_CONFIGURE([--prefix="$at_group_dir/inst"], [../configure])) + +AT_CHECK([cd build && + make DESTDIR="$at_group_dir" localedir=/l0 install], + [0], [ignore], [ignore]) +AT_CHECK([test -d inst || { find l0 | LC_ALL=C sort; }], [0], +[[l0 +l0/a +l0/a/LC_MESSAGES +l0/a/LC_MESSAGES/test.mo +l0/b +l0/b/LC_MESSAGES +l0/b/LC_MESSAGES/test.mo +]]) + +AT_CHECK([cd build && + make DESTDIR="$at_group_dir" localedir=/l1 installdirs], + [0], [ignore], [ignore]) +AT_CHECK([test -d inst || { find l1 | LC_ALL=C sort; }], [0], +[[l1 +l1/a +l1/a/LC_MESSAGES +l1/b +l1/b/LC_MESSAGES +]]) + +AT_CHECK([cd build && + make DESTDIR="$at_group_dir" localedir=/l2 MOFILES= install installdirs], + [0], [ignore], [ignore]) +AT_CHECK([test ! -d inst && test ! -d l2]) + +AT_CHECK([cd build && + make DESTDIR="$at_group_dir" localedir=/l0 MOFILES= uninstall], + [0], [ignore], [ignore]) +AT_CHECK([test -d inst || { find l0 | LC_ALL=C sort; }], [0], +[[l0 +l0/a +l0/a/LC_MESSAGES +l0/b +l0/b/LC_MESSAGES +]]) + +AT_CLEANUP + +TEST_TAP_SIMPLE([test-tap.at sanity], [tapcheck.sh 4 : : : :], [], [autotest])