Re: [PATCH 4/3] t/Makefile: introduce TEST_SHELL_PATH
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Oct 25, 2017, 21:35 UTC
- Message-ID
- <alpine.DEB.2.21.1.1710252334000.6482@virtualbox>
- In-Reply-To
- <20171024013130.5nuxmjlwnm2l3zrq@sigill.intra.peff.net>
Hi Peff,
On Mon, 23 Oct 2017, Jeff King wrote:
Show 26 quoted lines
> On Mon, Oct 23, 2017 at 01:01:42PM +0200, Johannes Schindelin wrote: > > > On Fri, 20 Oct 2017, Jeff King wrote: > > > > > @@ -2350,6 +2357,7 @@ GIT-LDFLAGS: FORCE > > > # and the first level quoting from the shell that runs "echo". > > > GIT-BUILD-OPTIONS: FORCE > > > @echo SHELL_PATH=\''$(subst ','\'',$(SHELL_PATH_SQ))'\' >$@+ > > > + @echo TEST_SHELL_PATH=\''$(subst ','\'',$(TEST_SHELL_PATH_SQ))'\' >$@+ > > > > Do we really want to force the test shell path to be hardcoded at runtime? > > It may be a better idea not to write this into GIT-BUILD-OPTIONS. > > My intent was to make it work "out of the box" in the same way as > SHELL_PATH does now. So that: > > echo TEST_SHELL_PATH=whatever >>config.mak > make test > cd t && ./t1234-* > > both respect it. Without going through BUILD-OPTIONS, I don't think it > makes it into the environment via config.mak (it _does_ if you specify > it on the command-line of "make", though). > > For my purposes it would be fine to just use the environment, but I was > trying to have it match the other variables for consistency.
Makes sense.
Show 12 quoted lines
> > Or alternatively we could prefix the assignment by
> >
> > test -n "$TEST_SHELL_PATH" ||
> >
> > or use the pattern
> >
> > TEST_SHELL_PATH="${TEST_SHELL_PATH:-[...]}"
>
> I'm not quite sure what this is fixing. Is there a case where we
> wouldn't have TEST_SHELL_PATH set when running the tests? I think there
> are already other bits that assume that "make" has been run (including
> the existing reference to $SHELL_PATH, I think).The way I read your patch, setting the environment variable differnently at test time than at build time would be ignored: GIT-BUILD-OPTIONS is sourced and would override whatever you told the test suite to use.
I guess it does not really matter all that much in practice.
Ciao, Dscho