Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Fred Fish <fnf@specifix.com>
To: gdb-patches@sourceware.org
Cc: fnf@specifix.com
Subject: [PATCH] Fix problem with scope.exp test, skipping past init0 call
Date: Sun, 12 Feb 2006 20:10:00 -0000	[thread overview]
Message-ID: <200602121510.01657.fnf@specifix.com> (raw)

I noticed the following failures while running the gdb testsuite and
decided to investigate:

  Running /src/latest/trunk/src/gdb/gdb/testsuite/gdb.base/scope.exp ...
  FAIL: gdb.base/scope.exp: next over init0() in main
  FAIL: gdb.base/scope.exp: print filelocal_bss
  FAIL: gdb.base/scope.exp: print 'scope0.c'::filelocal_bss in test_at_main
  FAIL: gdb.base/scope.exp: print 'scope1.c'::filelocal_bss

The problem was triggered by the fact that the breakpoint on main was
being set at the opening brace and then the first next only took us to
the init0 call.  This might be a bug in it's own right, but scope.exp
is supposed to handle this as a side effect of an attempt to skip
__main:

    # skip past init.  There may be a call to __main at the start of
    # main, so the first next may only get us to the init0 call.
    if [gdb_test "next" "$decimal.*foo \\(\\);" "next over init0() in main"  "$decimal.*init0 \\(\\);" "next"] {
      gdb_suppress_tests ;
    }

However, it appears that you can only using the additional "QUESTION
RESPONSE" args to gdb_test for true questions (that don't end in a
newline) and not for the way attempted here.  The following patch
fixes the problem.

2006-02-12  Fred Fish  <fnf@specifix.com>

	* gdb.base/scope.exp (test_at_main): Use gdb_test_multiple
	to handle cases where it takes two "next" commands to skip
	past the init call.

Index: scope.exp
===================================================================
RCS file: /cvsroots/latest/src/gdb/gdb/testsuite/gdb.base/scope.exp,v
retrieving revision 1.1.1.1
diff -c -p -r1.1.1.1 scope.exp
*** scope.exp	8 Oct 2005 19:36:19 -0000	1.1.1.1
--- scope.exp	12 Feb 2006 20:04:37 -0000
*************** proc test_at_main {} {
*** 63,70 ****
  
      # skip past init.  There may be a call to __main at the start of
      # main, so the first next may only get us to the init0 call.
!     if [gdb_test "next" "$decimal.*foo \\(\\);" "next over init0() in main"  "$decimal.*init0 \\(\\);" "next"] { 
!       gdb_suppress_tests ; 
      }
  
  
--- 63,80 ----
  
      # skip past init.  There may be a call to __main at the start of
      # main, so the first next may only get us to the init0 call.
!     gdb_test_multiple "next" "next over init0() in main" {
! 	-re "$decimal.*foo \\(\\).*$gdb_prompt $" {
! 	    pass "next over init0() in main"
! 	}
! 	-re "$decimal.*init0 \\(\\).*$gdb_prompt $" {
! 	    send_gdb "next\n"
! 	    exp_continue
! 	}
! 	-re ".*$gdb_prompt $" {
! 	    fail "next over init0() in main"
! 	    gdb_suppress_tests
! 	}
      }
  
  


             reply	other threads:[~2006-02-12 20:10 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-12 20:10 Fred Fish [this message]
2006-02-13  6:16 ` Jim Blandy
2006-02-13 15:39 ` Daniel Jacobowitz
2006-02-13 15:47   ` Fred Fish
2006-02-13 15:53     ` Daniel Jacobowitz
2006-02-13 16:05     ` Mark Kettenis
2006-02-13 16:08       ` Daniel Jacobowitz
2006-02-13 16:19       ` Fred Fish
2006-02-13 16:49         ` Mark Kettenis
2006-02-13 17:47           ` Jim Blandy
2006-02-13 17:54             ` Jim Blandy
2006-02-13 17:57               ` Jim Blandy
2006-02-13 18:08                 ` Mark Kettenis
2006-03-02  0:01             ` Michael Snyder
2006-03-02  6:09               ` Jim Blandy
2006-02-13 18:39           ` Fred Fish

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=200602121510.01657.fnf@specifix.com \
    --to=fnf@specifix.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