Previous: testsuite Invocation, Up: Using Autotest
For putting Autotest into movement, you need some configuration and makefile machinery. We recommend, at least if your package uses deep or shallow hierarchies, that you use tests/ as the name of the directory holding all your tests and their makefile. Here is a check list of things to do.
AT_PACKAGE_STRING, the
full signature of the package, and AT_PACKAGE_BUGREPORT, the
address to which bug reports should be sent.  For sake of completeness,
we suggest that you also define AT_PACKAGE_NAME,
AT_PACKAGE_TARNAME, and AT_PACKAGE_VERSION. 
See Initializing configure, for a description of these variables.  We
suggest the following makefile excerpt:
               $(srcdir)/package.m4: $(top_srcdir)/configure.ac
                  {                                      \
                    echo '# Signature of the current package.'; \
                    echo 'm4_define([AT_PACKAGE_NAME],      [@PACKAGE_NAME@])'; \
                    echo 'm4_define([AT_PACKAGE_TARNAME],   [@PACKAGE_TARNAME@])'; \
                    echo 'm4_define([AT_PACKAGE_VERSION],   [@PACKAGE_VERSION@])'; \
                    echo 'm4_define([AT_PACKAGE_STRING],    [@PACKAGE_STRING@])'; \
                    echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
                  } >'$(srcdir)/package.m4'
     
     Be sure to distribute package.m4 and to put it into the source hierarchy: the test suite ought to be shipped!
AC_CONFIG_TESTDIR.
     An Autotest test suite is to be configured in directory. This macro requires the instantiation of directory/atconfig from directory/atconfig.in, and sets the default
AUTOTEST_PATHto test-path (see testsuite Invocation).
AC_CONFIG_FILES command includes substitution for
tests/atlocal.
     With Automake, here is a minimal example about how to link `make check' with a validation suite.
     EXTRA_DIST = testsuite.at $(TESTSUITE) atlocal.in
     TESTSUITE = $(srcdir)/testsuite
     
     check-local: atconfig atlocal $(TESTSUITE)
             $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
     
     installcheck-local: atconfig atlocal $(TESTSUITE)
             $(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \
               $(TESTSUITEFLAGS)
     
     clean-local:
             test ! -f '$(TESTSUITE)' || \
              $(SHELL) '$(TESTSUITE)' --clean
     
     AUTOTEST = $(AUTOM4TE) --language=autotest
     $(TESTSUITE): $(srcdir)/testsuite.at
             $(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at
             mv $@.tmp $@
   You might want to list explicitly the dependencies, i.e., the list of the files testsuite.at includes.
With strict Autoconf, you might need to add lines inspired from the following:
     subdir = tests
     
     atconfig: $(top_builddir)/config.status
             cd $(top_builddir) && \
                $(SHELL) ./config.status $(subdir)/$@
     
     atlocal: $(srcdir)/atlocal.in $(top_builddir)/config.status
             cd $(top_builddir) && \
                $(SHELL) ./config.status $(subdir)/$@
   and manage to have atconfig.in and $(EXTRA_DIST)
distributed.
   
With all this in place, and if you have not initialized `TESTSUITEFLAGS' within your makefile, you can fine-tune test suite execution with this variable, for example:
make check TESTSUITEFLAGS='-v -d -x 75 -k AC_PROG_CC CFLAGS=-g'