Re: [patch] Fix parallel gdb/ make check//% site.exp

Doug Evans
2009-11-09T16:38:17Z

On Mon, Nov 9, 2009 at 4:15 AM, Jan Kratochvil
<jan.kratochvil@redhat.com> wrote:
> Hi,
>
> sometimes `make check//unix/-m32' just did not produce any results.
>
> Caught it is due to site.exp existing in gdb/testsuite/ thus satisfying VPATH
> make dependency on it but runtest does not execute anything without site.exp
> file in its current directory.
>
>
> Regards,
> Jan
>
>
> gdb/testsuite/
> 2009-11-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
>
>        * Makefile.in (check-single, $(TEST_TARGETS), check-gdb.base%): Change
>        `site.exp' dependency to `./site.exp'.
>
> --- gdb/testsuite/Makefile.in   19 Oct 2009 09:51:43 -0000      1.28
> +++ gdb/testsuite/Makefile.in   9 Nov 2009 12:12:52 -0000
> @@ -147,7 +147,7 @@ DO_RUNTEST = \
>          export TCL_LIBRARY ; fi ; \
>        $(RUNTEST)
>
> -check-single: all site.exp
> +check-single: all ./site.exp
>        $(DO_RUNTEST) $(RUNTESTFLAGS)
>
>  # A list of all directories named "gdb.*" which also hold a .exp file.
> @@ -170,7 +170,7 @@ check-parallel:
>        $(SHELL) $(srcdir)/dg-extract-results.sh -L \
>          $(addsuffix /gdb.log,$(TEST_DIRS)) > gdb.log
>
> -$(filter-out check-gdb.base%,$(TEST_TARGETS)): check-gdb.%: all site.exp
> +$(filter-out check-gdb.base%,$(TEST_TARGETS)): check-gdb.%: all ./site.exp
>        @if test ! -d gdb.$*; then mkdir gdb.$*; fi
>        $(DO_RUNTEST) --directory=gdb.$* --outdir=gdb.$* $(RUNTESTFLAGS)
>
> @@ -179,7 +179,7 @@ BASE1_FILES = $(patsubst $(srcdir)/%,%,$
>  BASE2_FILES = $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/gdb.base/[n-z]*.exp))
>
>  # Handle each half of gdb.base.
> -check-gdb.base%: all site.exp
> +check-gdb.base%: all ./site.exp
>        @if test ! -d gdb.base$*; then mkdir gdb.base$*; fi
>        $(DO_RUNTEST) $(BASE$*_FILES) --outdir gdb.base$* $(RUNTESTFLAGS)
>

I'll defer to Tom on whether this is a fix,
but if the patch does go in, I'd like to see comments added to the
code explaining why things are the way they are.
site vs ./site.exp seems fairly subtle.