From 640617ad17a526e78796054d1da3d652ae5c8dc9 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Mon, 30 Aug 2010 17:38:10 +0000 Subject: [PATCH] * gdb.cp/cpexprs.exp (test_breakpoint): Continue to test_function instead of running to main. Do not test the main function. * gdb/testsuite/gdb.cp/cpexprs.cc (main): Rename to test_function. Add new main. --- gdb/testsuite/ChangeLog | 7 +++++++ gdb/testsuite/gdb.cp/cpexprs.cc | 18 ++++++++++++++++-- gdb/testsuite/gdb.cp/cpexprs.exp | 17 +++++++++++------ 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index bcfb01ee1c..00c599ac89 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2010-08-30 Daniel Jacobowitz + + * gdb.cp/cpexprs.exp (test_breakpoint): Continue to test_function + instead of running to main. Do not test the main function. + * gdb/testsuite/gdb.cp/cpexprs.cc (main): Rename to test_function. + Add new main. + 2010-08-26 Pedro Alves * gdb.mi/mi-nsmoribund.exp: Revert back to send_gdb/gdb_expect in diff --git a/gdb/testsuite/gdb.cp/cpexprs.cc b/gdb/testsuite/gdb.cp/cpexprs.cc index 2bca4cd73a..ac7966603e 100644 --- a/gdb/testsuite/gdb.cp/cpexprs.cc +++ b/gdb/testsuite/gdb.cp/cpexprs.cc @@ -309,8 +309,8 @@ class derived : public base1, public base2 }; int -main (int argc, char* argv[]) // main -{ // main +test_function (int argc, char* argv[]) // test_function +{ // test_function derived d; void (derived::*pfunc) (void) const = &derived::a_function; (d.*pfunc) (); @@ -427,5 +427,19 @@ main (int argc, char* argv[]) // main char* str = a; fluff* flp = a; fluff** flpp = a; + + return 0; } +int +main (int argc, char* argv[]) +{ + int i; + + /* Call the test function repeatedly, enough times for all our tests + without running forever if something goes wrong. */ + for (i = 0; i < 1000; i++) + test_function (argc, argv); + + return 0; +} diff --git a/gdb/testsuite/gdb.cp/cpexprs.exp b/gdb/testsuite/gdb.cp/cpexprs.exp index 2addc1e8c7..818e5e0de0 100644 --- a/gdb/testsuite/gdb.cp/cpexprs.exp +++ b/gdb/testsuite/gdb.cp/cpexprs.exp @@ -24,9 +24,14 @@ proc test_breakpoint {func} { global DEC - # Restart every time - if {![runto_main]} { - perror "could not run to main when attempting to break at $func" + # Return to the top of the test function every time. + delete_breakpoints + if { ! [gdb_breakpoint test_function] } { + fail "set test_function breakpoint for $func" + } elseif { [gdb_test "continue" \ + "Continuing.\r\n\r\nBreakpoint $DEC+,.*test_function.*" \ + ""] != 0 } { + fail "continue to test_function for $func" } else { gdb_breakpoint "$func" set i [expr {[string last : $func] + 1}] @@ -113,7 +118,7 @@ set ADDR "0x$HEX+"; # address array set all_functions {} # "Normal" functions/methods -add {main} \ +add {test_function} \ {int (int, char **)} \ - \ - @@ -717,8 +722,8 @@ foreach name [get_functions list] { # Running to breakpoint -- use any function we can "list" foreach name [get_functions list] { - # Skip "main", since test_breakpoint uses it - if {[string compare $name "main"] != 0} { + # Skip "test_function", since test_breakpoint uses it + if {[string compare $name "test_function"] != 0} { test_breakpoint $name } }