This is the mail archive of the gdb-patches@sourceware.org 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]

Fix python-value.exp for stubs


I've noticed these failures when testing against a local gdbserver.

 Using ../../../src/gdb/testsuite/config/gdbserver.exp as tool-and-target-specific interface file.
 Running ../../../src/gdb/testsuite/gdb.python/python-value.exp ...
 FAIL: gdb.python/python-value.exp: continue to breakpoint: break to inspect struct and union
 FAIL: gdb.python/python-value.exp: print s
 FAIL: gdb.python/python-value.exp: access element inside struct using 8-bit string name
 FAIL: gdb.python/python-value.exp: access element inside struct using unicode name
 FAIL: gdb.python/python-value.exp: print argv
 FAIL: gdb.python/python-value.exp: dereference value
 FAIL: gdb.python/python-value.exp: verify dereferenced value

The issue here is the usage of gdb_start_cmd, which is a nop against stubs.

The attached fixes it here for me, both gdbserver, and native linux.

The race mentioned in the test seems to be related to the fact that gdb_start_cmd
doesn't wait for "main" to be reached at all.  The attached patch should get
rid of the need to work around that.

Tromey, Bauermann, OK to apply this?

-- 
Pedro Alves
2008-10-24  Pedro Alves  <pedro@codesourcery.com>

	* gdb.python/python-value.exp (test_value_in_inferior): Don't use
	gdb_start_cmd.
	Use runto_main before any test that requires execution.

---
 gdb/testsuite/gdb.python/python-value.exp |   13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

Index: src/gdb/testsuite/gdb.python/python-value.exp
===================================================================
--- src.orig/gdb/testsuite/gdb.python/python-value.exp	2008-10-24 19:22:59.000000000 +0100
+++ src/gdb/testsuite/gdb.python/python-value.exp	2008-10-24 19:24:05.000000000 +0100
@@ -199,11 +199,6 @@ proc test_value_in_inferior {} {
   global testfile
 
   gdb_breakpoint [gdb_get_line_number "break to inspect struct and union"]
-  gdb_start_cmd
-
-  # Avoid race condition where a continue command in gdb_continue_to_breakpoint
-  # is issued too early.
-  gdb_test "" "$gdb_prompt"
 
   gdb_continue_to_breakpoint "break to inspect struct and union"
 
@@ -247,4 +242,12 @@ test_value_creation
 test_value_numeric_ops
 test_value_boolean
 test_value_compare
+
+# The following tests require execution.
+
+if ![runto_main] then {
+    fail "Can't run to main"
+    return 0
+}
+
 test_value_in_inferior

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