This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH, doc RFA] Add "skip regexp"
- From: Doug Evans <dje at google dot com>
- To: Simon Marchi <simon dot marchi at ericsson dot com>
- Cc: Pedro Alves <palves at redhat dot com>, <eliz at gnu dot org>, <gdb-patches at sourceware dot org>
- Date: Thu, 03 Mar 2016 19:21:52 +0000
- Subject: Re: [PATCH, doc RFA] Add "skip regexp"
- Authentication-results: sourceware.org; auth=none
Doug Evans writes:
> Simon Marchi writes:
> > On 16-02-16 08:07 PM, Doug Evans wrote:
> > > +# Test -fi + -fu.
> > > +
> > > +if ![runto_main] {
> > > + fail "Can't run to main"
> > > + return
> > > +}
> > > +
> > > +set test "step using -fi + -fu"
> > > +gdb_test_no_output "skip delete"
> > > +gdb_test "skip -fi skip1.c -fu test_skip" \
> > > + "Function test_skip in file skip1.c will be skipped when
> stepping\."
> > > +gdb_breakpoint "test_skip_file_and_function"
> > > +gdb_breakpoint "end_test_skip_file_and_function"
> > > +gdb_test "call test_skip_file_and_function ()" "silently stop."
> >
> > Hi Doug,
> >
> > I just saw a failure of this test on a target that doesn't have
inferior
> calls. It
> > seems to me like the function call isn't fundamental to the test and
it
> could be
> > avoided by organizing things differently. What do you think?
> >
> > Otherwise, we would need to add a
> >
> > if [target_info exists gdb,cannot_call_functions] {
>
> Bleah, righto.
>
> Fix forthcoming.
> I need to cleanup skip.exp first.
2016-03-03 Doug Evans <dje@google.com>
* gdb.base/skip.c (main): Call test_skip_file_and_function.
* gdb.base/skip.exp: Remove hand calling test_skip_file_and_function.
diff --git a/gdb/testsuite/gdb.base/skip.c b/gdb/testsuite/gdb.base/skip.c
index b9db2a7..e43da1e 100644
--- a/gdb/testsuite/gdb.base/skip.c
+++ b/gdb/testsuite/gdb.base/skip.c
@@ -25,8 +25,14 @@ void skip1_test_skip_file_and_function (void);
int
main ()
{
+ int x;
+
/* Use comma operator to sequence evaluation of bar and foo. */
- return baz ((bar (), foo ()));
+ x = baz ((bar (), foo ()));
+
+ test_skip_file_and_function ();
+
+ return 0;
}
int
diff --git a/gdb/testsuite/gdb.base/skip.exp
b/gdb/testsuite/gdb.base/skip.exp
index 67ae9d9..ce55dd2 100644
--- a/gdb/testsuite/gdb.base/skip.exp
+++ b/gdb/testsuite/gdb.base/skip.exp
@@ -281,17 +281,15 @@ with_test_prefix "step using -rfu for baz" {
# Test -fi + -fu.
with_test_prefix "step using -fi + -fu" {
- if ![runto_main] {
- fail "Can't run to main"
+ gdb_test_no_output "skip delete"
+
+ if ![runto test_skip_file_and_function no-message] {
+ fail "Can't run to test_skip_file_and_function"
return
}
- gdb_test_no_output "skip delete"
gdb_test "skip -fi skip1.c -fu test_skip" \
"Function test_skip in file skip1.c will be skipped when stepping\."
- gdb_breakpoint "test_skip_file_and_function"
- gdb_breakpoint "end_test_skip_file_and_function"
- gdb_test "call test_skip_file_and_function ()" "silently stop."
# Verify we can step into skip.c:test_skip but not skip1.c:test_skip.
gdb_test "step" "test_skip \\(\\) at.*" "step 1"
gdb_test "step" "test_skip_file_and_function \\(\\) at.*" "step 2"; #
Return from test_skip()