Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom de Vries <tdevries@suse.de>
To: Simon Marchi <simon.marchi@polymtl.ca>,
	"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: How to run multiple target boards
Date: Tue, 26 May 2020 10:49:18 +0200	[thread overview]
Message-ID: <85005cf2-783d-7048-1cfa-8b648854c981@suse.de> (raw)
In-Reply-To: <82395a9a-1595-e16c-8977-5f929f9041cc@polymtl.ca>

[ was: Re: [committed][gdb/testsuite] Fix incorrect string concat in
jit-elf.exp ]

On 13-05-2020 15:45, Simon Marchi wrote:
> FWIW, I just learned it's possible to pass a list of target boards to --target_board:
> 
>   --target_board='unix native-gdbserver native-extended-gdbserver'
> 
> And it gives a combined result at the end.  So I'll make myself an alias to test on all
> the commonly used boards, probably:
> 
> - cc-with-debug-names.exp
> - cc-with-dwz.exp
> - cc-with-dwz-m.exp
> - cc-with-gdb-index.exp
> - debug-types.exp
> - dwarf4-gdb-index.exp
> - fission-dwp.exp
> - fission.exp
> - native-extended-gdbserver.exp
> - native-gdbserver.exp
> - native-stdio-gdbserver.exp
> - readnow.exp
> 
> When working on a single test, it's usually not to long to run them all.  Of course, it's
> not really practical to run the complete testsuite twice (before and after) for each board
> for every change we do...

Hi Simon,

I just tried this out.

My test scripts use make check, but I didn't manage to make that work
yet, so I tried out using runtest directly (and I may be missing
something obvious, given that I haven't used this before):
...
$ cd build/gdb/testsuite
$ runtest gdb.base/gold-gdb-index.exp --target_board='cc-with-gdb-index
 unix'
...

It seems however that the global settings (CC_FOR_TARGET etc) from the
first board stay active in the unix board:
...
Schedule of variations:
    cc-with-gdb-index
    unix

Running target cc-with-gdb-index
Using
/data/gdb_versions/devel/src/gdb/testsuite/boards/../boards/cc-with-gdb-index.exp
as board description file for target.
Using
/data/gdb_versions/devel/src/gdb/testsuite/boards/../boards/cc-with-tweaks.exp
as board description file for target.
Using
/data/gdb_versions/devel/src/gdb/testsuite/boards/../boards/local-board.exp
as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for
target.
Using /data/gdb_versions/devel/src/gdb/testsuite/config/unix.exp as
tool-and-target-specific interface file.
Running
/data/gdb_versions/devel/src/gdb/testsuite/gdb.base/gold-gdb-index.exp ...
gdb compile failed, Error while writing index for
`/data/gdb_versions/devel/build/gdb/testsuite/outputs/gdb.base/gold-gdb-index/.tmp/gold-gdb-index':
Cannot use an index to create the index

                === gdb Summary for cc-with-gdb-index ===

# of untested testcases         1
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file
for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for
target.
Using /data/gdb_versions/devel/src/gdb/testsuite/config/unix.exp as
tool-and-target-specific interface file.
Running
/data/gdb_versions/devel/src/gdb/testsuite/gdb.base/gold-gdb-index.exp ...
gdb compile failed, Error while writing index for
`/data/gdb_versions/devel/build/gdb/testsuite/outputs/gdb.base/gold-gdb-index/.tmp/gold-gdb-index':
Cannot use an index to create the index

                === gdb Summary for unix ===

# of untested testcases         1

                === gdb Summary ===

# of untested testcases         2
/data/gdb_versions/devel/build/gdb/gdb version  10.0.50.20200525-git -nw
-nx -data-directory
/data/gdb_versions/devel/build/gdb/testsuite/../data-directory  -ex "set
sysroot"
...

I managed to make this work by unsetting some vars in base-config.exp:
...
$ cat gdb/testsuite/config/base-config.exp
if { [info exists CC_FOR_TARGET] } {
    unset CC_FOR_TARGET
}
if { [info exists CXX_FOR_TARGET] } {
    unset CXX_FOR_TARGET
}
...
after which I get:
...
                === gdb Summary ===

# of expected passes            4
# of untested testcases         1
...

I'm not sure yet if this is the proper way to fix this.

Thanks,
- Tom


  reply	other threads:[~2020-05-26  8:49 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-12 13:00 [committed][gdb/testsuite] Fix incorrect string concat in jit-elf.exp Tom de Vries
2020-05-12 14:14 ` Simon Marchi
2020-05-12 14:37   ` Strasuns, Mihails
2020-05-13  8:52     ` Tom de Vries
2020-05-13 13:45       ` Simon Marchi
2020-05-26  8:49         ` Tom de Vries [this message]
2020-05-26 10:39           ` How to run multiple target boards Pedro Alves
2020-05-26 10:56             ` Tom de Vries
2020-05-26 20:38               ` Simon Marchi
2020-05-13  8:44   ` [committed][gdb/testsuite] Fix incorrect string concat in jit-elf.exp Tom de Vries

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=85005cf2-783d-7048-1cfa-8b648854c981@suse.de \
    --to=tdevries@suse.de \
    --cc=gdb-patches@sourceware.org \
    --cc=simon.marchi@polymtl.ca \
    /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