Hi Branden,

> > All that is needed is to
> > 
> >   1) Change the top-level Makefile.am
> > 
> > AM_TESTS_ENVIRONMENT = \
> >   abs_top_srcdir=$(abs_top_srcdir) \
> >   abs_top_builddir=$(abs_top_builddir) \
> >   export abs_top_srcdir abs_top_builddir;
> > 
> > →
> > 
> > AM_TESTS_ENVIRONMENT = \
> >   abs_top_srcdir=$(abs_top_srcdir) \
> >   abs_top_builddir=$(abs_top_builddir) \
> >   GREP=$(GREP) \
> >   export abs_top_srcdir abs_top_builddir GREP;
> > 
> >      The configure-time finding for GREP will then be passed through
> >      the environment.
> 
> Ahhhh, haaaa.  </TomBaker>
> 
> Thanks for teaching me this about Automake!
> 
> This brings the cost of change way down.
> 
> >   2) Change the 203 tests that use 'grep' to use ${GREP} instead.
> >      Or ${GREP:-grep} if you want to preserve the ability to run
> >      individual tests without going through 'make check'.
> 
> I do want that

A variant that does not require to list the default for each variable
and _still_ have the ability to run each set separately, without 'make',
is to substitute the values into a shell script called 'tests/init-env',
that is then sourced from each test. As done in GNU gettext:

https://gitweb.git.savannah.gnu.org/gitweb/?p=gettext.git;a=blob;f=gettext-tools/tests/init-env.in

https://gitweb.git.savannah.gnu.org/gitweb/?p=gettext.git;a=blob;f=gettext-tools/configure.ac;h=7fe2d28a480328a4a361abdd8ab31f8313392a7c;hb=HEAD
line 860

https://gitweb.git.savannah.gnu.org/gitweb/?p=gettext.git;a=blob;f=gettext-tools/tests/intl-1;h=f9bace6a3c3e3e2dda542a1385811321fdc7d7e3;hb=HEAD
line 2

https://gitweb.git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=tests/init.sh;h=e2e4ce8df71a487df10de185ef6ae8c09b3e6f4b;hb=HEAD
line 745

https://gitweb.git.savannah.gnu.org/gitweb/?p=gettext.git;a=blob;f=gettext-tools/tests/init.cfg;h=fc1328837770a66c21cbd7fff8c07a8e3eda71b6;hb=HEAD
line 4

As you can see, it's a little more involved, but it keeps the references
to the many variables short in the tests files.

Bruno




    • ... Bruno Haible via discussion of the GNU roff typesetting system and related software
      • ... G. Branden Robinson
  • ... Bruno Haible via discussion of the GNU roff typesetting system and related software
  • ... Bruno Haible via discussion of the GNU roff typesetting system and related software
  • ... Bruno Haible via discussion of the GNU roff typesetting system and related software
  • ... Bruno Haible via discussion of the GNU roff typesetting system and related software
  • ... Bruno Haible via discussion of the GNU roff typesetting system and related software
    • ... G. Branden Robinson
      • ... Bruno Haible via discussion of the GNU roff typesetting system and related software
        • ... G. Branden Robinson
          • ... Bruno Haible via discussion of the GNU roff typesetting system and related software

Reply via email to