This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Fix python-value.exp for stubs
- From: Pedro Alves <pedro at codesourcery dot com>
- To: gdb-patches at sourceware dot org, tromey at redhat dot com, Thiago Jung Bauermann <bauerman at br dot ibm dot com>
- Date: Fri, 24 Oct 2008 19:30:00 +0100
- Subject: 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