From: Simon Marchi <simon.marchi@ericsson.com>
To: Joel Brobecker <brobecker@adacore.com>, Pedro Alves <palves@redhat.com>
Cc: <gdb-patches@sourceware.org>
Subject: Re: [PATCH] Always organize test artifacts in a directory hierarchy
Date: Mon, 01 Feb 2016 22:41:00 -0000 [thread overview]
Message-ID: <56AFDF1F.1040702@ericsson.com> (raw)
In-Reply-To: <56A6926F.6040503@ericsson.com>
On 16-01-25 04:23 PM, Simon Marchi wrote:
> On 16-01-17 01:31 AM, Joel Brobecker wrote:
>>>> So it doesn't seem necessary.
>>>
>>> Works for me. The patch LGTM. Maybe wait a few more days to
>>> give others a chance to chime in though.
>>
>> LGTM too; and, for the record, I am very happy about this change.
>>
>
> Hi Joel (and others),
>
> I was doing some more testing, and found out that this patch breaks testing
> Ada when building in-tree. I would merge the following patch just before
> the original one.
>
> How does it look?
>
>
> From d69875543609365fdf70f09b30862834b790599a Mon Sep 17 00:00:00 2001
> From: Simon Marchi <simon.marchi@ericsson.com>
> Date: Mon, 25 Jan 2016 14:01:25 -0500
> Subject: [PATCH] Fix in-tree, parallel running of Ada tests
>
> While testing the following patch,
>
> [PATCH] Always organize test artifacts in a directory hierarchy
> https://sourceware.org/ml/gdb-patches/2016-01/msg00133.html
>
> I noticed that it broke Ada testing. This lead me to think that
> parallel testing when building in-tree didn't work previously in Ada.
> It is confirmed by this test:
>
> $ make check TESTS="gdb.ada/fun_addr.exp" -j 2
> ...
> Running ./gdb.ada/fun_addr.exp ...
> FAIL: gdb.ada/fun_addr.exp: compilation foo.adb
> ...
>
> This patch fixes in-tree parallel testing for Ada, and consequently
> serial and parallel testing when the aforementioned patch is applied.
>
> The problem originates from the fact that Ada support code cd's to the
> builddir before compiling. In itself it's not a problem, it allows to
> place intermediate auto-generated files in that directory. The Ada
> compilation refers to the source file, which is in another directory,
> only by its base name (e.g. foo.adb). In serial mode, that worked
> because builddir was the same as the source directory (e.g.
> gdb.ada/fun_addr/). In an out-of-tree build, it works because the
> source directory is added as an include directory (note: this is not the
> same $srcdir as autoconf's):
>
> set srcdir [file dirname $source]
> additional_flags=-I$srcdir
>
> which becomes:
>
> additional_flags=-I/home/emaisin/build/binutils-gdb/gdb/testsuite/gdb.ada/fun_addr
>
> 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
>
Ping.
next prev parent reply other threads:[~2016-02-01 22:41 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-08 15:52 Simon Marchi
2016-01-12 13:00 ` Pedro Alves
[not found] ` <56952A6C.8070507@ericsson.com>
2016-01-13 11:11 ` Pedro Alves
2016-01-17 6:37 ` Joel Brobecker
2016-01-20 23:29 ` Simon Marchi
2016-01-25 21:24 ` Simon Marchi
2016-01-25 21:54 ` Simon Marchi
2016-02-01 22:41 ` Simon Marchi [this message]
2016-02-07 7:10 ` Joel Brobecker
2016-02-08 19:01 ` Simon Marchi
2016-02-08 19:26 ` Simon Marchi
2016-02-11 21:22 ` [testsuite 7.11] Regression for i386-biarch-core.exp and others [Re: [PATCH] Always organize test artifacts in a directory hierarchy] Jan Kratochvil
2016-02-12 18:34 ` Simon Marchi
2016-02-12 18:41 ` Pedro Alves
2016-02-12 18:56 ` Simon Marchi
2016-02-12 21:54 ` Simon Marchi
2016-02-12 23:01 ` Pedro Alves
2016-02-15 16:17 ` Simon Marchi
2016-02-12 18:47 ` Jan Kratochvil
2016-02-12 19:38 ` Simon Marchi
2016-02-15 17:58 ` [testsuite obv+7.11] Fix more testcases with standard_output_file [Re: [testsuite 7.11] Regression for i386-biarch-core.exp and others] Jan Kratochvil
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56AFDF1F.1040702@ericsson.com \
--to=simon.marchi@ericsson.com \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox