Re: [PATCH] Always organize test artifacts in a directory hierarchy

Joel Brobecker
2016-02-07T07:10:03Z

> > However, when building in-tree, srcdir is relative: ./gdb.ada/fun_addr.
> > When using parallel or always-in-outputs-directory mode, we are cd'ed in
> > the outputs directory. So -I$srcdir is relative to the current
> > directory, which is wrong.
> >
> > To fix it, I made the TCL variable srcdir (set in site.exp, from which
> > everything else is derived) always absolute. It is done by assigning
> > autoconf's abs_srcdir instead of autoconf's srcdir. This way -I$srcdir
> > will always be good, regardless of where we cd'ed to. A small apparent
> > change is that when running tests, DejaGnu will say:
> >
> > Running /tmp/binutils-gdb/gdb/testsuite/gdb.ada/fun_addr.exp ...
> >
> > instead of
> >
> > Running ./gdb.ada/fun_addr.exp ...
> >
> > I hope it's not too much of an annoyance. I think that it should make
> > the testsuite a tiny bit more robust against other bugs of the same
> > class.
> >
> > Regtested in & out of tree, only with native target.
> > ---
> > gdb/testsuite/Makefile.in | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/gdb/testsuite/Makefile.in b/gdb/testsuite/Makefile.in
> > index 7c251d3..38c3052 100644
> > --- a/gdb/testsuite/Makefile.in
> > +++ b/gdb/testsuite/Makefile.in
> > @@ -21,6 +21,7 @@ srcdir = @srcdir@
> > prefix = @prefix@
> > exec_prefix = @exec_prefix@
> > abs_builddir = @abs_builddir@
> > +abs_srcdir = @abs_srcdir@
> >
> > target_alias = @target_noncanonical@
> > program_transform_name = @program_transform_name@
> > @@ -119,7 +120,7 @@ $(abs_builddir)/site.exp site.exp: ./config.status Makefile
> > @echo "set target_alias $(target_alias)" >> ./tmp0
> > @echo "set target_triplet ${target_canonical}" >> ./tmp0
> > @echo "set build_triplet ${build_canonical}" >> ./tmp0
> > - @echo "set srcdir ${srcdir}" >> ./tmp0
> > + @echo "set srcdir ${abs_srcdir}" >> ./tmp0
> > @echo "set tool gdb" >> ./tmp0
> > @echo 'source $${srcdir}/lib/append_gdb_boards_dir.exp' >> ./tmp0
> > @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0

OK for me!

--
Joel