Finally, some support for mh-format when using forw(1). Still needs some
[mmh] / Makefile.am
index 41dee6c..a219981 100644 (file)
@@ -33,16 +33,31 @@ auxexecdir = @libdir@
 ##
 ## nmh _does_ have a test suite!
 ##
-testdir = $(srcdir)/test
-## It might be nice to configure testinstall and testbuild
-## directories, but for now they're hard-coded here and in the test
-## scripts.
-## And it would be easier to clean up if tests were launched from a
-## tmp directory, and/or each test cleaned up after itself on
-## successful completion.
-MOSTLYCLEANFILES = test/testinstall/*.actual* test/testinstall/*.expected* \
-                  test/testinstall/*.replgroupcomps test/testinstall/*.draft \
-                  test/testinstall/,*.draft* \*
+TESTS_ENVIRONMENT = MH_OBJ_DIR=@abs_builddir@ \
+                   MH_TEST_DIR=@abs_builddir@/test/testdir \
+                   auxexecdir=$(auxexecdir) bindir=$(bindir) \
+                   mandir=$(mandir) sysconfdir=$(sysconfdir)
+##
+## Important note: the "cleanup" test should always be last
+##
+TESTS = test/bad-input/test-header test/comp/test-comp-format \
+       test/folder/test-create \
+       test/folder/test-total test/format/test-localmbox \
+       test/format/test-myname test/format/test-myhost \
+       test/format/test-mymbox \
+       test/inc/test-deb359167 test/inc/test-eom-align \
+       test/manpages/test-manpages test/mhbuild/test-forw \
+       test/mhpath/test-mhpath \
+       test/mhshow/test-cte-binary test/mhshow/test-qp \
+       test/mhshow/test-subpart test/new/test-basic test/pick/test-stderr \
+       test/repl/test-if-str test/scan/test-scan \
+       test/sequences/test-flist test/sequences/test-mark \
+       test/whatnow/test-attach-detach test/whatnow/test-cd \
+       test/whatnow/test-ls \
+       test/cleanup ## The "cleanup" test should always be last.
+
+check_SCRIPTS = test/common.sh
+check_PROGRAMS = test/getfullname
 
 ##
 ## Stuff that should be cleaned via "make clean"
@@ -51,7 +66,7 @@ CLEANFILES = config/version.c sbr/sigmsg.h etc/mts.conf etc/sendfiles \
             etc/mhn.defaults man/man.sed $(man_MANS)
 clean-local:
        @rm -rf RPM a.out.DSYM uip/a.out.DSYM
-       @$(testdir)/teardown-test
+       @rm -rf test/testdir
 
 ##
 ## Stuff that should be cleaned via "make maintainer-clean"
@@ -130,6 +145,9 @@ dist_sysconf_DATA = etc/MailAliases etc/components etc/digestcomps \
 ##
 sysconf_DATA = etc/mhn.defaults etc/mts.conf
 
+##
+## Documentation that gets installed in docdir
+##
 dist_doc_DATA = COPYRIGHT VERSION docs/COMPLETION-BASH docs/COMPLETION-TCSH \
                docs/COMPLETION-ZSH docs/DIFFERENCES docs/FAQ \
                docs/MAIL.FILTERING docs/MAILING-LISTS docs/README-ATTACHMENTS \
@@ -180,7 +198,9 @@ EXTRA_DIST = config/version.sh sbr/sigmsg.awk etc/mts.conf.in etc/sendfiles.in \
             man/rcvpack.man man/rcvstore.man man/rcvtty.man man/refile.man \
             man/repl.man man/rmf.man man/rmm.man man/scan.man man/send.man \
             man/sendfiles.man man/show.man man/slocal.man man/sortm.man \
-            man/unseen.man man/whatnow.man man/whom.man
+            man/unseen.man man/whatnow.man man/whom.man test/README $(TESTS) \
+            test/inc/deb359167.mbox test/inc/fromline.txt \
+            test/inc/msgheader.txt test/inc/filler.txt test/inc/md5sums
 
 ##
 ## These are all of the definitions for each of the programs listed above.
@@ -196,6 +216,7 @@ uip_burst_SOURCES = uip/burst.c
 
 uip_comp_SOURCES = uip/comp.c uip/whatnowproc.c uip/whatnowsbr.c uip/sendsbr.c \
                   uip/annosbr.c uip/distsbr.c
+uip_comp_LDADD = $(LDADD) $(ICONVLIB)
 
 uip_dist_SOURCES = uip/dist.c uip/whatnowproc.c uip/whatnowsbr.c uip/sendsbr.c \
                   uip/annosbr.c uip/distsbr.c
@@ -205,7 +226,7 @@ uip_flist_SOURCES = uip/flist.c
 uip_folder_SOURCES = uip/folder.c
 
 uip_forw_SOURCES = uip/forw.c uip/whatnowproc.c uip/whatnowsbr.c uip/sendsbr.c \
-                  uip/annosbr.c uip/distsbr.c
+                  uip/annosbr.c uip/distsbr.c uip/forwsbr.c
 uip_forw_LDADD = $(LDADD) $(ICONVLIB)
 
 uip_inc_SOURCES = uip/inc.c uip/scansbr.c uip/dropsbr.c uip/termsbr.c \
@@ -331,6 +352,9 @@ uip_spost_SOURCES = uip/spost.c uip/aliasbr.c
 uip_viamail_SOURCES = uip/viamail.c uip/mhmisc.c uip/mhoutsbr.c uip/sendsbr.c \
                      uip/annosbr.c uip/distsbr.c
 
+test_getfullname_SOURCES = test/getfullname.c
+test_getfullname_LDADD =
+
 ##
 ## Our rebuild rules for files that aren't built via the normal mechanisms
 ##
@@ -438,8 +462,8 @@ sbr_libmh_a_CPPFLAGS = -I./sbr -DNMHETCDIR='"$(sysconfdir)"' \
                -DMAILSPOOL='"$(mailspool)"' \
                -DSENDMAILPATH='"$(sendmailpath)"' -DNMHBINDIR='"$(bindir)"' \
                -DNMHLIBDIR='"$(libdir)"' \
-               -DDEFAULT_EDITOR='"$(default_editor)"' \
-               -DDEFAULT_PAGER='"$(default_pager)"'
+               -DDEFAULT_EDITOR='"$(editorpath)"' \
+               -DDEFAULT_PAGER='"$(pagerpath)"'
 
 sbr_libdtimep_a_SOURCES = sbr/dtimep.l
 sbr_libdtimep_a_CFLAGS = $(sbr_libmh_a_CPPFLAGS) $(DISABLE_UNUSED_MACROS_WARNING)
@@ -467,8 +491,8 @@ man/man.sed: Makefile
        echo 's,%mandir%,$(mandir),g' >> $@
        echo 's,%mailspool%,$(mailspool),g' >> $@
        echo 's,%sendmailpath%,$(sendmailpath),g' >> $@
-       echo 's,%default_editor%,$(default_editor),g' >> $@
-       echo 's,%default_pager%,$(default_pager),g' >> $@
+       echo 's,%default_editor%,$(editorpath),g' >> $@
+       echo 's,%default_pager%,$(pagerpath),g' >> $@
        echo 's,%manext1%,$(manext1),g' >> $@
        echo 's,%manext5%,$(manext5),g' >> $@
        echo 's,%manext8%,$(manext8),g' >> $@
@@ -494,10 +518,6 @@ man/man.sed: Makefile
 .man.$(manext8):
        $(SED) -f man/man.sed $< > $@
 
-test: all
-       @$(testdir)/runalltests
-.PHONY: test
-
 ## Don't include commit hashes in ChangeLog.
 ChangeLog:
        @[ -d .git ]  &&  git --no-pager log --abbrev-commit | \
@@ -519,6 +539,7 @@ rpm: dist
        @cp -p nmh.spec $(rpmdir)/SPECS
        @rpmbuild --define '_topdir $(rpmdir)' \
          --define '_tmppath %{_topdir}/TMP' \
+         --define "_sysconfdir $(DESTDIR)$(sysconfdir)" \
          -ba $(rpmdir)/SPECS/nmh.spec
 .PHONY: rpm
 
@@ -529,6 +550,7 @@ rpm: dist
 cscope:
        echo "-I $(srcdir)/h -I $(srcdir)/sbr -I $(srcdir)/uip -I $(srcdir)/mts/smtp" > cscope.files
        find $(srcdir) \( -name \*.c -o -name \*.l \) -print | grep -v dtimep.c >> cscope.files
+.PHONY: cscope
 
 ##
 ## Rules to upload the distribution to savannah