summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/step-test.exp
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>2002-03-26 23:02:30 +0000
committerFred Fish <fnf@specifix.com>2002-03-26 23:02:30 +0000
commit05b4d525a6806877bb801046070904cc19c36b6b (patch)
tree2e5c3bb3a538cc80c82f900ae0041c947e0fb079 /gdb/testsuite/gdb.base/step-test.exp
parent3cd4963f286fce998292b29d4c63356b0eefa623 (diff)
2002-03-26 Fred Fish <fnf@redhat.com>
* gdb.base/step-test.exp: Accept stopping in memcpy/bcopy when we have debugging info for those functions and the compiler uses them internally to copy structs around.
Diffstat (limited to 'gdb/testsuite/gdb.base/step-test.exp')
-rw-r--r--gdb/testsuite/gdb.base/step-test.exp22
1 files changed, 18 insertions, 4 deletions
diff --git a/gdb/testsuite/gdb.base/step-test.exp b/gdb/testsuite/gdb.base/step-test.exp
index 48af23c538..6756b5d1be 100644
--- a/gdb/testsuite/gdb.base/step-test.exp
+++ b/gdb/testsuite/gdb.base/step-test.exp
@@ -1,4 +1,4 @@
-# Copyright 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+# Copyright 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -212,9 +212,23 @@ gdb_test \
gdb_test "continue" \
".*Breakpoint ${decimal},.*large_struct_by_value.*" \
"run to pass large struct"
-gdb_test "step" \
- ".*step-test.exp: arrive here 1.*" \
- "large struct by value"
+send_gdb "step\n"
+gdb_expect {
+ -re ".*step-test.exp: arrive here 1.*$gdb_prompt $" {
+ pass "large struct by value"
+ }
+ -re ".*(memcpy|bcopy).*$gdb_prompt $" {
+ send_gdb "finish\n" ; gdb_expect -re "$gdb_prompt $"
+ send_gdb "step\n"
+ exp_continue
+ }
+ -re ".*$gdb_prompt $" {
+ fail "large struct by value"
+ }
+ timeout {
+ fail "large struct by value (timeout)"
+ }
+}
gdb_continue_to_end "step-test.exp"