This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [rfa/testsuite] selftest.exp: bump up initial line count


On Sun, Jun 22, 2003 at 11:01:38PM -0400, Michael Elizabeth Chastain wrote:
> This patch fixes one FAIL in gdb.base/selftest.exp.
> 
> The procedure 'do_steps_and_nexts' walks through the first few lines of
> 'captured_main' until it reaches the initialization of 'dirarg', or
> walks through 26 lines, whichever comes first.  Unfortunately 26 lines
> is no longer enough!  This patch simply bumps the limit up to 32.
> 
> I tested this on native i686-pc-linux-gnu, red-hat-8.0,
> with gcc v2 and v3, -gdwarf-2 and -gstabs+.
> 
> Okay to apply?

Hmm, I am not sure - that doesn't fix the failure here :(  Because the
beginning of the xmalloc call (pushing 4 onto the stack) gets scheduled
earlier than the preceding two lines.  So the test fails anyway.

Could you try this more comprehensive patch?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

2003-06-22  Michael Chastain  <mec@shout.net>
            Daniel Jacobowitz  <drow@mvista.com>

	* gdb.base/selftest.exp (do_steps_and_nexts): Increase maximum
	initial line count of 'captured_main' from 26 to 32.
	(test_with_self): Allow xmalloc call to be interleaved with the
	preceding two lines.

Index: gdb.base/selftest.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/selftest.exp,v
retrieving revision 1.8
diff -u -p -r1.8 selftest.exp
--- gdb.base/selftest.exp	2 Jun 2003 16:02:59 -0000	1.8
+++ gdb.base/selftest.exp	23 Jun 2003 03:42:03 -0000
@@ -1,4 +1,4 @@
-#   Copyright 1988, 1990, 1991, 1992, 1994, 1997, 1999, 2000, 2002
+#   Copyright 1988, 1990, 1991, 1992, 1994, 1997, 1999, 2000, 2002, 2003
 #   Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
@@ -52,7 +52,7 @@ proc do_steps_and_nexts {} {
  
     gdb_reinitialize_dir $srcdir/..
 
-    for {set count 0} {$count < 26} {incr count} {
+    for {set count 0} {$count < 32} {incr count} {
 	send_gdb "list\n"
 	# NOTE: carlton/2002-12-11: The "initial brace" and
 	# "current_directory initialization" possibilities happen to
@@ -327,10 +327,31 @@ proc test_with_self { executable } {
     # If we don't actually enter the xmalloc call when we give a
     # step command that seems like a genuine bug.  It seems to happen
     # on most RISC processors.
+    # NOTE drow/2003-06-22: However, if we step back to the preceding two
+    # lines, just keep stepping until we enter.
+    set stepped_back 0
     setup_xfail "alpha-*-*" "mips-*-*"
     set description "step into xmalloc call"
     send_gdb "step\n"
     gdb_expect {
+	-re "ncmd = 0;.*$gdb_prompt $" {
+	    set stepped_back 1
+	    send_gdb "step\n"
+	    exp_continue
+	}
+	-re "dirsize = 1;.*$gdb_prompt $" {
+	    set stepped_back 1
+	    send_gdb "step\n"
+	    exp_continue
+	}
+	-re ".*dirarg = .* xmalloc.*$gdb_prompt $" {
+	    if { $stepped_back == 1 } {
+		send_gdb "step\n"
+		exp_continue
+	    } else {
+		fail "$description"
+	    }
+	}
 	-re "xmalloc.*size=.*at.*utils.c.*$gdb_prompt $" {
 	    pass "$description"
 	}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]