X-Git-Url: http://git.draconx.ca/gitweb/dxcommon.git/blobdiff_plain/f14190dbcda7e9cf94e1691163081b98ecd2f3b1..262d3eaea39294df3f6172b28213e927e2f3b424:/tests/snippets.at diff --git a/tests/snippets.at b/tests/snippets.at index 32c1f70..3794c7e 100644 --- a/tests/snippets.at +++ b/tests/snippets.at @@ -1,4 +1,4 @@ -dnl Copyright © 2021 Nick Bowler +dnl Copyright © 2021-2023 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. @@ -58,3 +58,129 @@ AT_CHECK([{ echo 'rule:; @echo works' | dmake -f - >out 2>/dev/null && 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( +[[AM_INIT_AUTOMAKE([foreign]) + +AM_SET_DEPDIR +AM_OUTPUT_DEPENDENCY_COMMANDS +AM_MAKE_INCLUDE +AM_DEP_TRACK + +DX_AUTOMAKE_COMPAT +AC_SUBST([GLSRC], [lib]) + +AC_CONFIG_FILES([Makefile]) +]]) + +cp "$srcdir/snippet/glconfig.mk" . +AT_DATA([Makefile.am], +[[CLEANFILES = +DISTCLEANFILES = +gnulib_headers = +include $(top_srcdir)/glconfig.mk +]]) +TEST_AUTORECONF + +TEST_CONFIGURE([--disable-dependency-tracking]) +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