Fix python-value.exp for stubs

Pedro Alves
2008-10-24T18:30:35Z

[-- Attachment #1: Type: text/plain, Size: 1109 bytes --]

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

[-- Attachment #2: python_remote.diff --]
[-- Type: text/x-diff, Size: 1233 bytes --]

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