From: Joel Brobecker <brobecker@adacore.com>
To: Fei Jie <feij.fnst@cn.fujitsu.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 1/3] Add testcases for examine function
Date: Wed, 04 Nov 2015 21:30:00 -0000 [thread overview]
Message-ID: <20151104213029.GO4009@adacore.com> (raw)
In-Reply-To: <1446620987-4140-2-git-send-email-feij.fnst@cn.fujitsu.com>
On Wed, Nov 04, 2015 at 03:09:45PM +0800, Fei Jie wrote:
> use examine to display the content of main function's address
> in different formats and examine address that can not be accessed
As explained in our submission procedures, this change is missing
a ChangeLog entry.
> diff --git a/gdb/testsuite/gdb.base/testexamine.exp b/gdb/testsuite/gdb.base/testexamine.exp
> new file mode 100644
> index 0000000..16d916d
> --- /dev/null
> +++ b/gdb/testsuite/gdb.base/testexamine.exp
*ALL* new files must have a copyright header. For .exp files, suggest
you just copy it from another file, and fix the copyright year as
appropriate (year range from when the file was first saved on
hard drive).
> @@ -0,0 +1,42 @@
> +if {[prepare_for_testing testprint.exp testprint display.c \
> + {debug nowarnings}]} {
> + untested testprint.exp
> + return -1
> +
> +if ![runto_main] then {
> + fail "Can not run to main."
> +}
As mentioned in a previous message, please take a look at how
we prefer tests to be built:
https://sourceware.org/gdb/wiki/GDBTestcaseCookbook#Building_the_Example_Program
In particular, use "standard_testfile", and lose the untested.
See also the block on we "runto_main" (we don't use "fail" in this
case).
> +#Get main address
We follow the GNU Coding Standards (GCS):
http://www.gnu.org/prep/standards/standards.html
So, could you please add a space after the "#", and also terminate
all sentences with a period?
# Get main's address.
> +set main_addr ""
> +gdb_test_multiple "print/x &main" "getting main's address" {
> + -re "$decimal = \($hex\)\r\n$gdb_prompt $" {
> + set main_addr $expect_out(1,string)
> + }
> +}
> +
> +#Test x(examine)
> +gdb_test "x" \
> + "Argument required.*"
> +gdb_test "x/x $main_addr" \
> + ".*<main>.*0xe5894855"
I am afraid that this isn't going to work for anyone by you,
and only when using your very specific compiler. You're expecting
the compiler to compile the code in such a way that the first
word of the function is 0xe5894855, which is not always true.
Better, IMO, to do this using a variable, either global or local,
whose content is well known.
> +gdb_test "x 0x000000000000" \
> + "Cannot access memory at address 0x0"
This, unfortunately, is not guaranteed to work either. Some targets
allow reading at this address. I would just remove that test.
> +gdb_exit
> +return 0
This is also unnecessary.
--
Joel
next prev parent reply other threads:[~2015-11-04 21:30 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-04 7:10 [PATCH 0/3] Add tesecases for examine/display/list Fei Jie
2015-11-04 7:10 ` [PATCH 2/3] Add testcases for display function Fei Jie
2015-11-04 21:39 ` Joel Brobecker
2015-11-04 7:10 ` [PATCH 3/3] Add testcases for list function Fei Jie
2015-11-04 21:42 ` Joel Brobecker
2015-11-04 7:10 ` [PATCH 1/3] Add testcases for examine function Fei Jie
2015-11-04 21:30 ` Joel Brobecker [this message]
2015-11-04 21:37 ` Andrew Burgess
2015-11-04 21:21 ` [PATCH 0/3] Add tesecases for examine/display/list Joel Brobecker
2015-11-05 8:02 ` fj
2015-11-16 1:30 ` fj
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=20151104213029.GO4009@adacore.com \
--to=brobecker@adacore.com \
--cc=feij.fnst@cn.fujitsu.com \
--cc=gdb-patches@sourceware.org \
/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